User Tag List

Page 3 of 5 FirstFirst 1 2 3 4 5 LastLast
Results 21 to 30 of 43

Thread: Ripping Megaman tiles?

  1. #21
    Murana Wolford DarkFlameWolf's Avatar
    Join Date
    Jan 2002
    Location
    On Top
    Age
    41
    Posts
    4,472
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    6,904
    Level
    25
    vBActivity - Bars
    Lv. Percent
    46.07%

    Re: Ripping Megaman tiles?

    photobucket is better when hosting images. All I see are mediafire ads.

    Also, would this help?
    http://www.sprites-inc.co.uk/
    "If anybody says him/her/it without defining what they're talking about, the conversation is automatically about my p.e.n.i.s. :-D" - Wild Bill
    "Design ideas come to me during fetid fits of masturbation." - C-Dawg
    "I want to give NoeL a blowjob! ^_^" - Peteo
    "The magic boob should be mine any minute!" - Koopa
    "Suicide is the most sincere form of self-criticism" - My Film Professor

  2. #22
    Wizrobe C-Dawg's Avatar
    Join Date
    Jan 2002
    Posts
    4,205
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    6,611
    Level
    24
    vBActivity - Bars
    Lv. Percent
    99.77%

    Re: Ripping Megaman tiles?

    Spread gun (contra) finished. Working on Search Snake style weapon next.

  3. #23
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,958
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.12%

    Re: Ripping Megaman tiles?

    Quote Originally Posted by DarkFlameWolf View Post
    photobucket is better when hosting images. All I see are mediafire ads.

    Also, would this help?
    http://www.sprites-inc.co.uk/
    That's because it's a link to a qst file , and yeah I have that site bookmarked. ;p But thanks anyway.

    Also, I came across a bug where the boomerang had no limit of times fired on screen. Metal Saw!!! Anyway to reproduce that where it doesn't return. (Not much of a brang that way, but what the heck)

    Did you have a good trip? Mine was great.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  4. #24
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,958
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.12%

    Re: Ripping Megaman tiles?

    Version 0.3 for 461 http://www.mediafire.com/?ftww02zzyix

    it's getting there. All tiles for combos use c-set 0-4. enemies, sprites 5-9. Pallete and recoloring work almost complete. Dr Wiley complete tiles added.
    Onto the enemies now. I'm in a dilemma as to what enemy the Gleeok should be...hmm...
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  5. #25
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,958
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.12%

    Re: Ripping Megaman tiles?

    Well I went ahead and scripted leaf shield(which uses 4 ffc's..not quite done yet), and metal saw from MM2, as well as an optional teleport beam, and Gravity Well. Yep, Gravity well! It sucks in enemies within proximity and damages the shit out of them...and you think Aires Saber is overpowered.

    Hopefully i'll have a working enemy sprite sheet done in a bit. And now that I know about ffc's and animating large ffc's, there should be plenty of variety.

    Now where did I put my spare time at? ...I know it's around here somewhere...


    EDIT: Triple post?! ..ouch. If anyone want's to merge them that's fine by me.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  6. #26
    Wizrobe C-Dawg's Avatar
    Join Date
    Jan 2002
    Posts
    4,205
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    6,611
    Level
    24
    vBActivity - Bars
    Lv. Percent
    99.77%

    Re: Ripping Megaman tiles?

    Are you coding these weapons in the same way I am? That is, FFC scripts running on FFCs 29, 30, 31?

    We'll want to synthesize all weapons into a single easy-to-use script before we finish the toolbox. To that end, I'm going to be re-scripting my custom weapons to be more modular.

    Take a look at my SHMUP enemy script. Notice how I can just keep adding enemies by adding two "if" statements? Thats what I'm going for with weapons. That way, you can add more just by sticking stuff into the code and not changing anything else.

    If I have time, I'll set that up this weekend so you can just create code to dump into the weapon script.

  7. #27
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,958
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.12%

    Re: Ripping Megaman tiles?

    Quote Originally Posted by C-Dawg View Post
    Are you coding these weapons in the same way I am? That is, FFC scripts running on FFCs 29, 30, 31?

    We'll want to synthesize all weapons into a single easy-to-use script before we finish the toolbox. To that end, I'm going to be re-scripting my custom weapons to be more modular.
    Well as a matter of fact, I am. Well ffc 25-29 to be exact, as the global weapon script I was working on ran into a few problems one could say. I still would like to get one scripted for the benefit of people that know squat about scripting, as it was designed to be really easy to use. Some global variables and item[D] variables, and that's really it. No messing with ffc's at all. I haven't given up though because I think the community needs one.

    Bact to ffc's: Well I kinda broke the script into 3 sections, didn't change anything though, for example ;

    Code:
    //========================================================
    //            ITEM SCRIPT MAKANITO
    // translation: deadly air
    // It creates a vacuum that sucks in nearby enemies
    // and can kill them instantly.
    // At a high level this is probably the most powerful 
    // attack in the game. exp must be set accordingly.
    // D0 - the CSet of the projectile
    //=========================================================
    
    
    item script Makanito{
    
    	void run (int cset){
    
    		int deadly_air_combo = 10;	
    		ffc deadly_air = Screen->LoadFFC(29);	
    
    		if (makanito_level == 1){
    
    			Game->PlaySound(11);
    			makanito_exp++;
    
    			if(Link->Dir == 0) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y - 16;
    				deadly_air->Vy = -1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 1) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y + 16;
    				deadly_air->Vy = 1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 2) {
    				deadly_air->X = Link->X - 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = -1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 3) {
    				deadly_air->X = Link->X + 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = 1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo;
    				deadly_air->CSet = cset;
    			}
    		}
    		else{
    
    		if (makanito_level == 2){
    
    			Game->PlaySound(35);
    			makanito_exp++;
    
    			if(Link->Dir == 0) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y - 16;
    				deadly_air->Vy = -1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo+1;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 1) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y + 16;
    				deadly_air->Vy = 1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo+1;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 2) {
    				deadly_air->X = Link->X - 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = -1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo+1;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 3) {
    				deadly_air->X = Link->X + 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = 1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo+1;
    				deadly_air->CSet = cset;
    			}
    		}
    		else{
    
    		if (makanito_level == 3){
    
    			Game->PlaySound(35);
    			makanito_exp++;
    
    			if(Link->Dir == 0) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y - 16;
    				deadly_air->Vy = -1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo+2;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 1) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y + 16;
    				deadly_air->Vy = 1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo+2;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 2) {
    				deadly_air->X = Link->X - 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = -1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo+2;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 3) {
    				deadly_air->X = Link->X + 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = 1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo+2;
    				deadly_air->CSet = cset;
    			}
    		}
    		else{
    
    		if (makanito_level == 4){
    
    			Game->PlaySound(35);
    			makanito_exp++;
    
    			if(Link->Dir == 0) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y - 16;
    				deadly_air->Vy = -1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo+3;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 1) {
    				deadly_air->X = Link->X; 
    				deadly_air->Y = Link->Y + 16;
    				deadly_air->Vy = 1;
    				deadly_air->Vx = 0;
    				deadly_air->Data = deadly_air_combo+3;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 2) {
    				deadly_air->X = Link->X - 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = -1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo+3;
    				deadly_air->CSet = cset;
    			}
    			if(Link->Dir == 3) {
    				deadly_air->X = Link->X + 16; 
    				deadly_air->Y = Link->Y;
    				deadly_air->Vx = 1;
    				deadly_air->Vy = 0;
    				deadly_air->Data = deadly_air_combo+3;
    				deadly_air->CSet = cset;
    			}
    		
    		
    		}}}} //end of else statements
    	}
    }
    And the jist of the general weapon part:

    Code:
    			// =================================
    			//           MAKANITO MOVEMENT
    			// =================================
    
    			if(this_ffc->Data == beam_animation_makanito){
    
    				damage = 1;	
    
    				if ( (!(this_ffc->Data == beam_animation_makanito))||(this_ffc->X < 10) || (this_ffc->X > 230) || (this_ffc->Y > 150) || (this_ffc->Y < 10)){
    
    					this_ffc->Data = 1;
    					this_ffc->CSet = 0;
    					wobble = 0;
    					initialize = 0;
    					this_ffc->X = 16;
    					this_ffc->Y = 16;
    				}
    					
    			}
    		
    			else{
    With this added inside the while(enemy->IsValid) part:


    Code:
    				//==============================================================================
    				// 			*MAKANITO VACUUM EFFECT*
    
    					if(   ( (this_ffc->Data == beam_animation_makanito) || (this_ffc->Data == beam_animation_makanito+1) ||
    						(this_ffc->Data == beam_animation_makanito+2) || (this_ffc->Data == beam_animation_makanito+3) )
    						&& (Screen->ComboS[ComboAt(this_ffc->X+8, this_ffc->Y+8)] == 0) && !(current_enemy->Tile==0)   ){
    
    
    						if((this_ffc->X > current_enemy->X) && (this_ffc->X < current_enemy->X+32) 
    						&& (this_ffc->Y > current_enemy->Y-32) && (this_ffc->Y < current_enemy->Y+32)){current_enemy->X++;}
    
    						if((this_ffc->X < current_enemy->X) && (this_ffc->X > current_enemy->X-32) 
    						&& (this_ffc->Y > current_enemy->Y-32) && (this_ffc->Y < current_enemy->Y+32)){current_enemy->X--;}
    
    						if((this_ffc->Y > current_enemy->Y) && (this_ffc->Y < current_enemy->Y+32) 
    						&& (this_ffc->X > current_enemy->X-32) && (this_ffc->X < current_enemy->X+32)){current_enemy->Y++;}
    
    						if((this_ffc->Y < current_enemy->Y) && (this_ffc->Y > current_enemy->Y-32) 
    						&& (this_ffc->X > current_enemy->X-32) && (this_ffc->X < current_enemy->X+32)){current_enemy->Y--;}
    					}
    				//===============================================================================

    And some variables, with the experience points handled mainly by the Global Script. As you can see though, they aren't nearly done yet, but I'll have some cool stuff to showcase soon enough. :)

    Also, I can't believe no one's done this yet (maybe no ones thought of it...?) but people complain about inputR and inputL as running out of buttons to script stuff to. But what about multiple inputs? for example do you need jump AND slide to be different buttons in a side scroller? ...just an idea.


    Quote Originally Posted by C-Dawg
    Take a look at my SHMUP enemy script. Notice how I can just keep adding enemies by adding two "if" statements? Thats what I'm going for with weapons. That way, you can add more just by sticking stuff into the code and not changing anything else.

    If I have time, I'll set that up this weekend so you can just create code to dump into the weapon script.

    Isn't it set up kinda like that already?

    I fixed the pallete distopia(finally) enabling me to add enemies at last. Got a bunch of weapons rolling...enough for a demo at some point, more recoloring ect.. It's actually very easy to use now. :) With 3 csets to spare (5, 10, and 11.) 10 and 11 is actually 0 and 1, but with a purple for ripping ease. enough rambling though.

    Thoughts? MegaMan_Tileset_ver0.5_b584


    Edit: Well that versions almost obsolete now, I worked on it a bit more. :) I would like to add a scripting base to it though, something simple, just some weapon stuff. A few to start with, nothing crazy. Maybe megashooter, metal blade, and work from that. The roc's feather will work for the time being. You mentioned a slightly moded version of GW, so I'll wait for that. Also I was thinking to add a [D] variable so the enemy cset flashing and knockback is disabled by default unless specified by the author.

    Oh, and started comboing...Wow, it's so easy to make screens for these sidescrollers, a demo and working tileset is not that far off. ...also added weapon/item sprites from gba and snes games, for forwards compat, should anyone want to add updated tiles...right now i'm pleased with the way the NES graphics actually look. Wasn't too sure untill I started actually using them.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  8. #28
    Wizrobe C-Dawg's Avatar
    Join Date
    Jan 2002
    Posts
    4,205
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    6,611
    Level
    24
    vBActivity - Bars
    Lv. Percent
    99.77%

    Re: Ripping Megaman tiles?

    Yep, sidescrolling screens are easier to make because they don't require floor tiles and doodads everywhere. But they require more scripting since you need to account for gravity with most of your entities.

    By the way - it's not "mega shooter." It's the arm cannon, or Mega Buster in later games. Arm cannon is exceedingly simple - just use my ship cannon and let it fire in four directions. Should be easy to let the player upgrade to Mega Buster (charged shots, maybe re-work the Cancer Charge to make it more like megaman) or the Bass Buster (eight directions).

    I finished the Leo Lazer (stupidly overpowered against bosses that don't simulate flashing invulnerability, since it hits repeatedly for 8 damage a tic across the whole screen). Only five more custom weapons to go before I'm done with the Zodiac weapons. We can then get to work synthesizing my scripts with yours. That should give the designer about, what, 16 or so weapons to assign to robot masters?

    We should probably next work on a weapon select system. Arm cannon can be default A weapon, and B weapon should be the custom weapons aquired from bosses. That way the player can use the normal subscreen to select a weapon, but we don't have to worry about two scripts competing for the same FFCs.

    A demo is probably a long way off. We'll still need scripts that:

    (1) Give each weapon their own ammunition (global variables that get loaded into the magic bar when a particular weapon is fired and before magic is checked, perhaps)

    (2) Set up a global or ffc script to handle sidescrolling and L-button jumping

    (3) The standard megaman boss selection screen

    and MOST importantly

    (4) modular robot master scripts that don't require the designer to do any scripting to customize their robot masters.

  9. #29
    Wizrobe C-Dawg's Avatar
    Join Date
    Jan 2002
    Posts
    4,205
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    6,611
    Level
    24
    vBActivity - Bars
    Lv. Percent
    99.77%

    Re: Ripping Megaman tiles?

    Taurus Flame (easily used for Air Cannon) and Virgo Whip (sort of Castlevania-ish) are now complete.

    Just two more weapons to do, I think - Sagittarius and Capricorn.

  10. #30
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,958
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.12%

    Re: Ripping Megaman tiles?

    Sweet work with the new weapons btw. Also!, What do you think about 6! ffc weapon scripts active! (!)

    -ffc's 31,30,29- for Mega cannon(charge shot ffc 32...hmm, how do you set your's up again?). 28,27,26,25 for all other weapons. Although it would be extremely rare that all 8(7) would be used at any time. This way you could have A + B weapons at once. And the way I'm doing ffc weapons now pretty much eliminates most of the slowdown that you get. ....so long as there is less than 100 enemies on screen at once.....maybe 25 with 7ffc's.....hrm.


    And also... Because of the non buggy and awesomely implemented:

    int TileWidth
    * The number of tile columns composing the FFC.

    int TileHeight
    * The number of tile rows composing the FFC.

    int EffectWidth
    * The width of the area of effect of the combo associated with the FFC,
    * in pixels.

    int EffectHeight
    * The height of the area of effect of the combo associated with the FFC,
    * in pixels.
    A 2x2 charge shot. with other weapons using these, along with bosses, etc.

    Large enemies and bosses only need to be 1 ffc. Did you know the Giant crab boss is only 5 ffc's?


    Anyhoo, I scripted some turret firing scripts, that fire ffc's directly at link, along with working on utility ffc projectile scripts that allow you to set any kind of effect to projectiles by adding it to the slot the first ffc uses as projectiles. (homing, spread shot, fork shot, wrap-around shot, etc) These activate once the ffc velocity is greater than 0, or if this->Data is greater than 8. Although I STILL need help with the circular shot. (as seen in dr.Wiley fight in mm3.

    Here's one of many failed attempts. Yes, I admit, I suck at Geometry. :p

    Code:
    ffc script ffc_wobble2{
    
    	void run(){
    
    		int wobble = 0;
    
    		while(true){
    
    
    			if(this->Y > 168||this->Y < 0||this->X > 248||this->X < 0){
    				this->X = 0; this->Y = 0; this->Vx = 0; this->Vy = 0;
    				this->Data = 1;
    			} 
    			if(this->Vx != 0 || this->Vy != 0){
    		
    				int x = this->Vx; int y = this->Vy;
    
    				this->Vx = x *Sin(wobble);
    				this->Vy = y *Cos(wobble);
    
    				wobble++;
    			}
    		Waitframe();
    		}
    	}
    }
    Can you fix it doctor?
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social