The Mugen Fighters Guild

Help => M.U.G.E.N Development Help => Code Library => Topic started by: VIB on April 11, 2004, 01:17:59 pm

Title: Character - Stage interaction
Post by: VIB on April 11, 2004, 01:17:59 pm
I found a way to simulate character interaction with the stage by identifying specific stages, since it is not officially supported by Mugen. I have not extensivelly tested this method enough. It may have some errors. There are still some important points to be discussed, so any feedback would be appreciated.

I also made an example to illustrate how it can be done, and to give an idea of what can be done. The example is very simple and is not close to the limits of the method. In this example I made KFM react to my ssf2 spain stage, he will air jump infinitly in the net as he was climbing it, and will simulate the sound of the net falling down in the beggining of the round. The character and the stage has a lot of comments so it should be easy to understand.
Download it here:
http://www.brunazo.eng.br/vandre/stagechar.zip

Basic concept

The basic idea is to allow the character to identify in which stage he is in. So that you can program your character according the stage. This has nothing to do with making a stage that can use objects or triggers. All the progamming is done by the character and this method is all focused on char programming, not stage, all the stage needs to do is identify itself so that the character can do what he wants to.

You will use an animated z-offset parameter on the stage to make it unique. Then the character will identify in what stage he is in using a ScreenPos Y trigger. The z-offset is the line where the characters stand at, this is one of the only variables set by the stage that the character can actually see via triggers, and is the only one of them that is animatable. Because of this property, you can set the z-offset to ANY specific value for the character to see it, then change it back to normal.

How is it done

All the stage needs to do is setting the z-offset with a dummy object, for example:
[StageInfo]
zoffset = 0
zoffsetlink = 1

[BG z]
type  = dummy
start = 0, 220      ; <-------- initial Z-Offset = 220
id = 1

In this example, the initial Z-Offset is 220, this is where the char line will normally be, we will then add a value to it so that we can identify the stage. This is done via controllers:

[BGCtrl stageID 1]
type = PosSet
time = 1
y = 9781
ctrlID = 1

; Back to normal
[BGCtrl stageID 2]
type = PosSet
time = 2
y = 0
ctrlID = 1

Notice I have set the dummy position to 9781, since it's start position is 220, then 9781 + 220 = 10001. This means that z-offset in this moment is 10001, this will the ID number of the stage. ID numbers needs to be unique, for this stage the ID is 10001, you should always use different ID numbers.

Now the character will detect the stage ID number, for that, use a -2 state with a ScreenPos Y trigger. For example:
[State -2, var51 counts the fight time]
type = VarAdd
trigger1 = 1
v = 51
value = 1

[State -2, stageID detect]
type = VarSet
triggerall = Var(51) = [1,2]
triggerall = var(30) = 0
trigger1 = ScreenPos Y = 10001 ; Vega Stage
;trigger2 = ScreenPos Y =   ; add your stage here
v = 30
value = floor( ScreenPos Y )

Here I used 2 controllers, the first one will set a variable (51) to count the ticks in the fight. The second one, will use that variable to know when is the right time to check the Z-Offset, this is after is 1 or 2 game ticks. Mugen will reset all variables on the 1st tick of the 1st fight, so you need to check in the both of them to make sure you don't miss the z-offset change. Then this second controller will set var(30) to the value of the StageID, which is it's offset detected using ScreenPos Y.

That is it. Now you have a variable set with the stage ID number, so you can do all the programming you want to, knowing in what stage you are fighting at. Just use this variable to check if you can do a stage specific event and it will all work properlly =)

You can download the above example, where I did KFM climb up the net in the back of Vega's spain stage from ssf2.
http://www.brunazo.eng.br/vandre/stagechar.zip
if you want you can download the stage BGMusic at my site:
http://VIBhp.cjb.net

What can be done
There are many possibilities to do using this method, that would not be possible otherwise. Including:
- Place destroyable objects in the scenario, like those cans that can be destroyed when a player is thrown on it in ssf2 Ken stage. This would be done by using a helper that would destroy itself when a player is near it being thrown.
- Make objects that hurts the players in the stage. Such as bombs being thrown, trap spikes placed around the stage etc. This would be done using a helper on a attack state with a hitdef with an affectteam = both parameter.
- Use correct footstep sounds and dust effect according to the floor of the stage. Like in SNK games where the sound of your footsteps are diferent if you are on a wooden or concrete floor.
- Water effects on the floor. Some stages have water on the floor and the water splashes when players jump, lands or walk. Just place helpers bellow each players feet to simulate the effect. Such as in Soggetsu's stage from SS5.
- Give your character special abilities when he is on his home stage. Program your charact to be able to perferm some moves only in specific stages. Like Vega and his net in old versions of sf, or like pit fatalities on mortal kombat where your character would do a different fatality move depending on the stage.
- much more

Limits. What cannot be done
- All stage specific sprites and sound needs to be placed on the character's data files. The stage creator has no control over that.
- You cannot modify existing elements of the stage, sometimes you can fake it by placing an image over it, but most of the time you wont be able to do that.
- It is not possible to place objects behind other objects in the stage. If you want for example, that your character throws the opponent out of a bridge stage where he should be placed behind the bridge sprite, you will not be able to do that.

Unique IDs
The StageID number needs to be unique for every stage. The z-offset can go up to a little more than 2 billion, and far bellow lots of billions for negative values. So there is more than enough space for the whole earth population to make enough stages.

ID List
For now, IDs has been decided to be divided in games with 10,000 IDs each.

Game ID 10000: Super Street Fighter II
- 10001, Spain Stage by VIB, download at http://vibhp.cjb.net
...

If you make a stage with an ID number, please post it here so do list can be updated.



This is not a perfect solution for Unique IDs. If you have any suggestion, please discuss it here. Any other comments, or questions you might have, feel free to post them here.

And be sure to download the example, it has many comments and is easy to understand, here goes the url again another time =)
http://www.brunazo.eng.br/vandre/stagechar.zip

edit: April 11, added a floor() trigger in the stage detection controller to avoid debug error msgs, thx to Sakura.
April 16, added some info on Unique IDs
Title: Re:Character - Stage interaction
Post by: Sakura on April 11, 2004, 02:14:29 pm
Pretty interesting idea. Some feedback:
The value = ScreenPos Y will produce an "expression trunicated to integer" warning, unless you use floor/ceil for the screenpos y.

Code:
[State -2, var51 counts the fight time] 
type = VarAdd
trigger1 = 1
v = 51
value = 1
Leaving that to run in ther background infinitely will add one unnecesary process, and it's not really needed after it exceeds 2. Limiting it by trigger1=var(51)<3 should be enough.

Btw. I have noticed that during the tests the sctrl failed to register the screenpos y once.
Title: Re:Character - Stage interaction
Post by: Sheng Long on April 11, 2004, 05:31:12 pm
Even though this IS a good idea, but it still won't let you do everything a stage interaction should have.
Title: Re:Character - Stage interaction
Post by: Messatsu on April 11, 2004, 06:12:56 pm
That is kind of obvious, CCMario, and is already mentioned.  

A centralized topic in one forum would be the best.  Otherwise someone needs to go back and forth to make the list is always updated.  Not the biggest problem, but something to keep in mind.  This is probably the better solution as I don't see too many would use it.  

If too many use it, it would be best to start coming up with standards on a per game basis.  2025-2045 are for backgrounds in SFZ2, for example.
Title: Re:Character - Stage interaction
Post by: BlackJack on April 11, 2004, 06:30:38 pm
Pretty interesting idea.
Now you'll be able to include Hotaru's special stage intro in her... and you'll have to modify the palettes.  :D
Title: Re:Character - Stage interaction
Post by: Mercykiller on April 11, 2004, 09:19:45 pm
You can download the above example, where I did KFM climb up the net in the back of Vega's spain stage from ssf2.
http://www.brunazo.eng.br/vandre/stagechar.zip

Very odd...I've tried getting this to work in every way I could think, but no luck.  ???
Title: Re:Character - Stage interaction
Post by: Baby Head on April 12, 2004, 01:13:07 am
Unless I'm wrong, KFM did not really climb up but he is able to make infinite jumps as long as he's at the same level as the net.
Title: Re:Character - Stage interaction
Post by: Sakura on April 12, 2004, 01:22:10 am
Yeah. Otherwise he'd need a new set of sprites. Which was not needed, since he was just an example for the stage interaction.
Title: Re:Character - Stage interaction
Post by: Mercykiller on April 12, 2004, 01:48:59 am
lol I was aware he wouldn't actually climb the fence...but for some odd reason, the stage interactions the readme entailed wouldn't work with the mugen install I commonly use...but they did work with a clean install of mugen...
Title: Re:Character - Stage interaction
Post by: VIB on April 12, 2004, 09:44:43 am
Leaving that to run in ther background infinitely will add one unnecesary process, and it's not really needed after it exceeds 2. Limiting it by trigger1=var(51)<3 should be enough.
In the example, this var is used again to know when it is the right time to reproduce the falling net sound. Since all stage events are time-based, you would need this in most of the time. If you are specifically not using it, then you can stop it, but I think it is better to leave it this way as a starting point for everyone.

A centralized topic in one forum would be the best.  Otherwise someone needs to go back and forth to make the list is always updated.  Not the biggest problem, but something to keep in mind.  This is probably the better solution as I don't see too many would use it.  

If too many use it, it would be best to start coming up with standards on a per game basis.  2025-2045 are for backgrounds in SFZ2, for example.
hmm, this is where I wanted the discussion to come to. My first idea was to do it based on the creator. For example, the creator chooses a number, say 432, and then we would use from 432000 to 432999 for his stages, I doubt no one would use more then 1000 IDs, but if you do just get another one.

But base it on games could be a great idea too, this way you would not need to know the ID number of every stage of the same type to react to it. The problem with it is that most of the time, there are small position and velocities differences with stages of the same type made by different people. So for example, if you want to add an interactable crow on a cammy stage from ssf2, you would not be able to position it correctly on the bridge in both my version of it and in Winane's version, because we used different sprite positioning and delta values for the bridge.

I am still not sure which one would be better..

the stage interactions the readme entailed wouldn't work with the mugen install I commonly use...but they did work with a clean install of mugen...
there is something wrong then, it should work on every version of mugen, you only need the character and the stage together. Did you overrided the common.cns or something? Maybe you just picked the wrong KFM =P

thanks for the feedback
Title: Re:Character - Stage interaction
Post by: Messatsu on April 12, 2004, 04:41:43 pm
Quote
I am still not sure which one would be better..
Assign each game a group of a thousand and every creator posts for space in that group.  Original backgrounds have their own group of ten thousand. :|
Title: Re:Character - Stage interaction
Post by: Chon Wang on April 14, 2004, 05:27:34 am
Hum... i made something like that (actually, very different and with many limitations) in my KFM. I´d like to know if it´s possible to make a stage like that ship in SOR2, where some punks throw grenades against the players.
Title: Re:Character - Stage interaction
Post by: Loona on April 14, 2004, 05:49:53 am
Probably - you'd just have to make sure the punks would only be partially drawn (from the waist up, for example), and always place in the correct position.
Title: Re:Character - Stage interaction
Post by: VIB on April 14, 2004, 04:31:44 pm
Assign each game a group of a thousand and every creator posts for space in that group.  Original backgrounds have their own group of ten thousand. :|
But this wouldn't it take out the advantage of dividing by games? Because this way every stage would have different IDs either way, so you would need to search for every ID for that stage type when you make your character. It's the same when having unique IDs for each single stage.

sure you can do the punks, you would need their sprites from the waist up like loona said to simulate that they are behind the boat, tou can't to do this with chars because you can't edit your oponnent sprites for him to appear from the waist up, but since that is sprite is in your character that should be no problem. Then you just throw helpers with hitdefs using affectteam = both for the grenades..

oh, and btw I just noticed I forgot to mention ChonWang in the first post, he is the one who started with this idea of interacting chars and stages, I just added the method of detecting the stage. =)
Title: Re:Character - Stage interaction
Post by: Messatsu on April 14, 2004, 04:43:44 pm
Game wise would be easier to reference.  I am making character X from game Y and want him to be compatible with all stages from game Y.

Your choice, really.  Either way gets the job done.
Title: Re:Character - Stage interaction
Post by: Mercykiller on April 14, 2004, 11:51:24 pm
the stage interactions the readme entailed wouldn't work with the mugen install I commonly use...but they did work with a clean install of mugen...
there is something wrong then, it should work on every version of mugen, you only need the character and the stage together. Did you overrided the common.cns or something? Maybe you just picked the wrong KFM =P

Right KFM, and the common1.cns file was untouched from the original installation. So something else was definately up.:\
Title: Re:Character - Stage interaction
Post by: VIB on April 16, 2004, 05:54:30 am
Game wise would be easier to reference.  I am making character X from game Y and want him to be compatible with all stages from game Y.
hmm, good point, that way you would be able to use game only triggers at least..

So I think it would be perfect to make it per game, with 10,000 IDs each game. Now we need to choose each ID, I think 10,000 to 19,999 could be ssf2 and 10,001 is my Vega stage =)

I'll update the 1st post... ok, start posting your stage IDs here so I can update the list =) should do fine for now..

anyone else wanna give an opinion on this?

KFM, I have no idea what could have happenned =/ can't you give any more specific information? anything too diferent from your normal mugen to a clean one?
Title: Re:Character - Stage interaction
Post by: Loona on April 16, 2004, 01:10:37 pm
An idea that came to mind for the association of games with stages was to convert their names/acronyms to number through l33t - for example, for the Streets of Rage 2 stage I'm working on, I'm considering the number 5012236 (S=5, o=0, R=12, 2=2, level 3.6 = 36).
Then again, that probably wouldn't work too well for conversions of more traditional 1-on-1 fighting games (it'd be harder to associate them with numbers, even if the name of the game could be converted), but considering the amount of fighting games out there, perhaps it would be possible to define a certain number range for 1-on-1 games, and the rest could correspond to other kinds of games... or maybe the non-1-on-1 games could take the negative values...

A different kind of idea would be for people who release stages that contemplate this idea to also provide some code, sounds and possibly sprites that creators and players could add to their characters in order to enhance the experience of playing in that stage - I'm considering doing this for my current stage WIP - basically providing the sound(s) of the beast in the middle of the stage, and possibly a code for it to be used once the WAV file(s) is/are included in a character's SND file - and I'm already considering something similar for another stage from the same game.
Title: Re:Character - Stage interaction
Post by: VIB on April 22, 2004, 07:00:47 am
I am not sure if it would be a good idea to use IDs that way, at least not necessarelly, because it could still cause some conflicting IDs. I mean, you can do that if your stage if you want, but it shouldn't be a rule for everyone to use, to avoid coincidences.

Providing additional files for characters to program, along with your stage ID is surelly a great idea. Everyone should try that when possible. I will do this myself too.
Title: Re:Character - Stage interaction
Post by: Winane on April 24, 2004, 08:41:20 am
Pretty cool idea, VIB.  I suspect it might occasionally cause some problems with some characters, due to the characters not being where they expect to be for one tick, or due to one of the characters freezing the stage as soon as the round starts, but probably not often.  And in a full game, I expect there'd be no problems.
Also, it'd be quite a lot easier in Linux than in DOS, because in Linux you wouldn't need to worry about running out of palette space, or modifying any palettes at all.

It might be good to also make the characters check whether their opponents and partners are compatible with the stage (just by using Name and AuthorName triggers, and knowledge of which characters have been made to be compatible), and choosing a standard one of them to be the one to provide the stage interaction when multiple ones would be a problem.  E.g. if all four characters in a team battle are compatible with the stage, make only the character for which (TeamSide = 1) and (ID<Partner,ID) are true handle the interactivity.  But if only one of the characters is compatible, then that character handles the interactivity regardless of which player it is.
When the interactivity is something like footstep sounds, or ripples and splashes at the character's feet, this wouldn't be necessary.  But if it's something like a fence crashing down, or a randomized animation, or whatnot, it would be helpful.

If anyone volunteers to modify any of their characters to be compatible, I'll go ahead and make patches for my Charlotte, Gen-An, Cammy, and/or Shrine stages (if I can find the time).  But I'd rather wait for confirmation that at least one character will use this before I bother.

An idea that came to mind for the association of games with stages was to convert their names/acronyms to number through l33t
Heh, good to see I'm not the only one who uses 1337-5p34k to choose arbitrary numbers in Mugen code. :)
Title: Re:Character - Stage interaction
Post by: VIB on April 28, 2004, 05:17:34 am
I suspect it might occasionally cause some problems with some characters, due to the characters not being where they expect to be for one tick
yea, I thought about this, but I consider that much like a bug on the character, I think you shouldnt move the screen in your intro pose because that could also affect the enemy intro pose. So I don't mind much about this one, but it is an issue indeed.

or due to one of the characters freezing the stage as soon as the round starts, but probably not often.
I am not sure what you mean with this one, how can the character freeze the stage but not the enemy? If a pause controller is used than the enemy's variables would freeze too, so it shouldn't be problem. I don't get what your saying ^^

It might be good to also make the characters check whether their opponents and partners are compatible with the stage
if you take a look inside my example, you'll see that I used isHomeTeam to avoid conflict when simulating the crashing net sound. This would be particularlly perfect for arcade where you usually set one stage for each character, if a character is set for it's home stage, like: ryu,stages/ryustage.def

If anyone volunteers to modify any of their characters to be compatible, I'll go ahead and make patches for my Charlotte, Gen-An, Cammy, and/or Shrine stages (if I can find the time).  But I'd rather wait for confirmation that at least one character will use this before I bother.
Sure, please do that, I want to make my characters (old ones and upcomming ones) compatible with the most stages I can. I also intend to update all of my own stages with this method, and a brief information on how to use each one.
Title: Re:Character - Stage interaction
Post by: Messatsu on May 03, 2004, 03:47:20 am
Quote
So I think it would be perfect to make it per game, with 10,000 IDs each game. Now we need to choose each ID, I think 10,000 to 19,999 could be ssf2 and 10,001 is my Vega stage =)

I'll update the 1st post... ok, start posting your stage IDs here so I can update the list =) should do fine for now..
It would be wise to use IDs in the 100,000+ range(outside of MCM anim range) so that we could use anims that mirror their stage IDs.  This would be used to detect player compatibility with stages.
Title: Re:Character - Stage interaction
Post by: O Ilusionista on May 05, 2004, 07:26:08 pm
I do prefer the way that Chon Wang done in his Subzero interacting with my Sub's Cave.
Title: Re:Character - Stage interaction
Post by: VIB on May 05, 2004, 08:35:35 pm
It would be wise to use IDs in the 100,000+ range(outside of MCM anim range) so that we could use anims that mirror their stage IDs.  This would be used to detect player compatibility with stages.
But wouldn't that possibly conflict with other methods of using anims to tell char type? To avoid this kind of conflict it would be necessary to limit the range of stage numbers, which doesn't sounds like a good idea.

Quote
I do prefer the way that Chon Wang done in his Subzero interacting with my Sub's Cave.
That makes no sense, ChonWang used the arcade match number to detect the stage. It only works on full games and even so it doesn't allow you to change the order of the stages in story mode, you need to used fixed stages. There is no advantage on it.
Title: Re:Character - Stage interaction
Post by: Messatsu on May 05, 2004, 11:05:17 pm
Quote
To avoid this kind of conflict it would be necessary to limit the range of stage numbers, which doesn't sounds like a good idea.
Why not?  This way the numbers coincide.

Quote
But wouldn't that possibly conflict with other methods of using anims to tell char type?
Who uses anims over 99,999?  If nobody does, we are okay.
Title: Re:Character - Stage interaction
Post by: XGargoyle on May 06, 2004, 01:19:56 am
Some suggestions:

- Creators can include in their stages a standard fightfx.sff with the sprites that could include graphic effects like water, bombs, etcetera...

- Someone could gather all the new sprites added in multiple stages and compile them into a new standard fightfx.sff, which can be freely distributed as Elecbyte states in their license agreement term #2.

- Neogeo games have a unique ID, which can be used to classify NG games. For example, KOF97 has an ID=232, so we can use the ID of 232xxxx for every stage from that game. There are 10000 possible variations, which gives enough room for alternate versions

- Non neogeo games need to define their IDs, but I suggest that we can set a standard using the rom name (parent) and replacing letters by numbers (as in a dial phone), in a way as Loona suggested. For example, SSF2 (romname ssf2.zip) can be converted to ID= 7732xxxx (S=7, F=3, 2=2)

Just my 2 cents.
Title: Re:Character - Stage interaction
Post by: Loona on May 06, 2004, 01:37:25 am
Some suggestions:

- Creators can include in their stages a standard fightfx.sff with the sprites that could include graphic effects like water, bombs, etcetera...

Might as well just provide the PCX files, the text file to feed to SPRmaker and a fightfx.air or whatever's the name of the file that usually defines those animations - that'd make it simpler to update your own fightfx if you're using several different stages that take advantage of this...

Quote
- Neogeo games have a unique ID, which can be used to classify NG games. For example, KOF97 has an ID=232, so we can use the ID of 232xxxx for every stage from that game. There are 10000 possible variations, which gives enough room for alternate versions

I think this also applies to GBA games... if it applied to other consoles like Megadrive/Genesis it'd be excellent, as there could be a number code for the console, one for the game and one for the stage... But then again, we'd still need a considerable number range for original and edited stages...

Quote
- Non neogeo games need to define their IDs, but I suggest that we can set a standard using the rom name (parent) and replacing letters by numbers (as in a dial phone), in a way as Loona suggested. For example, SSF2 (romname ssf2.zip) can be converted to ID= 7732xxxx (S=7, F=3, 2=2)

The dial method seems unreliable - Final Fight and Double Dragon would have the same code, for example (D=3=F)...
Title: Re:Character - Stage interaction
Post by: XGargoyle on May 06, 2004, 02:07:02 am
Quote
Some suggestions:

- Creators can include in their stages a standard fightfx.sff with the sprites that could include graphic effects like water, bombs, etcetera...

Might as well just provide the PCX files, the text file to feed to SPRmaker and a fightfx.air or whatever's the name of the file that usually defines those animations - that'd make it simpler to update your own fightfx if you're using several different stages that take advantage of this...

Yes, that could be better.

Quote
Quote
- Neogeo games have a unique ID, which can be used to classify NG games. For example, KOF97 has an ID=232, so we can use the ID of 232xxxx for every stage from that game. There are 10000 possible variations, which gives enough room for alternate versions

I think this also applies to GBA games... if it applied to other consoles like Megadrive/Genesis it'd be excellent, as there could be a number code for the console, one for the game and one for the stage... But then again, we'd still need a considerable number range for original and edited stages...

There are enough room for original and edited stages. Moreover, I believe it's better to group the stages by games and not by console (stages from SF2 for SNES will share the same ID prefix than the Genesis and CPS1 versions) Plus, how many games can you count that would require stage interaction??

Quote
Quote
- Non neogeo games need to define their IDs, but I suggest that we can set a standard using the rom name (parent) and replacing letters by numbers (as in a dial phone), in a way as Loona suggested. For example, SSF2 (romname ssf2.zip) can be converted to ID= 7732xxxx (S=7, F=3, 2=2)

The dial method seems unreliable - Final Fight and Double Dragon would have the same code, for example (D=3=F)...

Unreliable? It's a first come, first served basis. The first guy who makes an interactive stage from X game, sets its ID, according to a number standard. If you make a stage from another game and happens to have the same ID as another existing game, then you will have to add a "1" at the end of the ID suffix to differentiate it from the other game. I choose 1 because there's no letters assigned to number 1 in a phone. For example:

Creator A makes a stage from game A and sets the ID to 4567xxxx
Creator B makes after a stage from game B but has the same ID as another previous game -> the ID becomes 4567 + 1 + xxxx -> 45671xxxx
Obviously, you need to keep a database with all interactive stages that are being converted to mugen, so you don't pick an already existing ID

Btw, Double Dragon is ddragon=3372466 while Final Fight is ffight=334448. You can use the MAME naming standard for arcade games.  

To sum up, it doesn't matter what IDs you choose for a game, as long as it doesn't match with another already existing. My suggestions are to keep a standard, but if there are exceptions that fail, then they are welcome to have their own ID. And last but not least, I don't expect to have more than 100 interactive stages, because actually few stages from available games include these features
Title: Re:Character - Stage interaction
Post by: VIB on May 06, 2004, 07:09:05 am
Why not?  This way the numbers coincide.
[...]
Who uses anims over 99,999?  If nobody does, we are okay.
No one may use an anim over 99,999 today, but what if someday someone want to use one of them to tell char type as in KFM's thread?

New games will come, new ideas may came for using more stage IDs. What will you do with the stage limit then? Im not saying it is not possible. It's just that this should be considered before deciding anything.

and use StrikeThrough when correcting me instead of red, since it's easier to see ^^

- Neogeo games have a unique ID, which can be used to classify NG games. For example, KOF97 has an ID=232, so we can use the ID of 232xxxx for every stage from that game. There are 10000 possible variations, which gives enough room for alternate versions
I think this also applies to GBA games... if it applied to other consoles like Megadrive/Genesis it'd be excellent, as there could be a number code for the console, one for the game and one for the stage... But then again, we'd still need a considerable number range for original and edited stages...
this is great news.. where those the numbers came from? How can someone quickly check that?

- Non neogeo games need to define their IDs, but I suggest that we can set a standard using the rom name (parent) and replacing letters by numbers (as in a dial phone), in a way as Loona suggested. For example, SSF2 (romname ssf2.zip) can be converted to ID= 7732xxxx (S=7, F=3, 2=2)
Isn't there any other way of using the mame game list? Like ordering the games by date?
Title: Re:Character - Stage interaction
Post by: Messatsu on May 06, 2004, 03:26:57 pm
Quote
No one may use an anim over 99,999 today, but what if someday someone want to use one of them to tell char type as in KFM's thread?

New games will come, new ideas may came for using more stage IDs. What will you do with the stage limit then? Im not saying it is not possible. It's just that this should be considered before deciding anything.
If someone wants to choose numbers that already exist for something else, that is their fault.  We really can't do anything to prevent it.
Title: Re:Character - Stage interaction
Post by: XGargoyle on May 06, 2004, 03:38:29 pm
Isn't there any other way of using the mame game list? Like ordering the games by date?

date???  :o  Care to develop why do you want to group games by date??? It's pretty useless imo
Title: Re:Character - Stage interaction
Post by: Messatsu on May 06, 2004, 03:44:59 pm
Release dates are unique to the game in most cases. :huh:
Title: Re:Character - Stage interaction
Post by: Loona on May 07, 2004, 09:13:05 am
And they already use numbers...
Title: Re:Character - Stage interaction
Post by: christopher smith on May 07, 2004, 10:21:12 am
this sounds interesting has anyone tried this yet.
Title: Re:Character - Stage interaction
Post by: Loona on May 07, 2004, 10:45:00 am
If you had read the thread you'd see that VIB's Spain stage has something like this implemented - I'm also planning something using this principle for a could of stages I'm working on.
Title: Re:Character - Stage interaction
Post by: christopher smith on May 07, 2004, 05:35:37 pm
i have just tried it out i must say its pretty impresive.
just by having theses little bit of coding you can do the stuff on the "what can be done" list.
Title: Re:Character - Stage interaction
Post by: Messatsu on May 07, 2004, 06:17:20 pm
Any screenshots, christopher?  I can host it if necessary. :wink: :cool:
Title: Re:Character - Stage interaction
Post by: christopher smith on May 10, 2004, 05:26:40 pm
no, none at all ill try next time.
have you tried the stage yet 8055.
Title: Re:Character - Stage interaction
Post by: Messatsu on May 10, 2004, 05:42:41 pm
I was going to try it if someone had PROOF that it works.  I was hoping you had some F12 screenshots.
Title: Re:Character - Stage interaction
Post by: VIB on May 11, 2004, 09:47:51 am
Isn't there any other way of using the mame game list? Like ordering the games by date?

date???  :o  Care to develop why do you want to group games by date??? It's pretty useless imo
Like messatsu said, it would be unique. For example, if you have this games:
- SSF2
- SFA
- SFA2
- SFA3
ordered by date they would be 0001, 0002, 0003 and 0004 respectivelly. But then what if a new games come? Say SF3? Then its 0005. If can get the mame game listing and easily order it by date, we would have an effiecient way of having unique game IDs.
Title: Re:Character - Stage interaction
Post by: christopher smith on May 13, 2004, 05:59:35 pm
i just had a thought you can use this technique to make ceiling effects for some stages that have ceilings.

about the picture not much to show its just that you have to play it to see it and feel it....since its vega stage and vega has that thing he climbs on you can jump infinite amount of times as long as your characters animation is touch the cage animation.
Title: Re: Character - Stage interaction
Post by: Mercykiller on August 17, 2004, 02:36:13 am
A work around's going to have to be built for player's using Turns, after some testing...I'm sorry about bumping this, but I figure'd it'd be a good thing to bring up here.

@Winane: you'll have your proof PMed to you in a little bit.
Title: Re: Character - Stage interaction
Post by: The Phenomenal on September 17, 2004, 06:13:33 am
Brings tears 2 my eyes........ that it does
(http://www.mugenguild.com/forumx/Themes/classic/images/warnwarn.gif) Posting useless info in a topic that was a wee bit old.

Translation: Topic revival. --;
-KFM
Title: Re: Character - Stage interaction
Post by: Kung Fu Man on May 08, 2005, 04:14:42 pm
Quote
If you make a stage with an ID number, please post it here so do list can be updated.

To be in compliance with this (sorry for the bumping):
Game ID 11000: Kirby
11001, King of the Ring stage by KFM

Game ID 12000: Fatal Fury
12001, Room of Marionettes stages by KFM
Title: Re: Character - Stage interaction
Post by: BlackJack on May 26, 2005, 04:10:56 pm
Random note: not to modify all your chars, you can put the sprites from the stage(s) in fightfx, and put the "custom coding" in common1.cns (won't work for chars that override "vital" states in a custom common1.cns, but... )
Title: Re: Character - Stage interaction
Post by: Kung Fu Man on June 02, 2005, 04:10:16 am
Eh, to save the thread somewhat, a concept that might expand this somewhat:

http://randomselect.piiym.net/forum/index.php?topic=95.0
Title: Re: Character - Stage interaction
Post by: bloodstorm on September 16, 2005, 09:07:47 am
Could you use this method to create a 3d looking level like killer Instincs  ice temple stage.


It will make it look like your walking around the areana.
Title: Re: Character - Stage interaction
Post by: AnisK on August 31, 2006, 09:52:34 pm
i was wondering for the stage interaction thingy :P can i make it so that whenever a person gets hit the go through a boulder or a mountain like DBZ Super Butoden 2? Or can u hit them into another stage like MK or Hyper dimension? is this possible?
Title: Re: Character - Stage interaction
Post by: WinterElite59 on November 11, 2007, 07:56:45 pm
but can you add an attack onto the stages such as an electrical wall maybe
Title: Re: Character - Stage interaction
Post by: kimdom on September 23, 2009, 05:36:44 am
could you simplify this whole character and stage ineraction tutorial please.. i'm having problem understanding
Title: Re: Character - Stage interaction
Post by: Cyanide on October 15, 2009, 07:58:28 am
This will no longer work in the latest version's of mugen as the Zaxis parameter has been removed.

For the poster above, the whole idea was setting a unique Z position in the stage and the characters would detect it via pos Z inside their own .cns. It only lasted one tick, and was imperfect as a method of interaction as the code still had to be in the characters.

Title: Re: Character - Stage interaction
Post by: Saturno on December 10, 2009, 02:41:26 pm
Can anyone tell me if  this work with winmugen, please?
Title: Re: Character - Stage interaction
Post by: Cyanide on December 11, 2009, 12:40:31 am
winmugen is OLD. Not latest anything. Latest = RC1 and up. The old winmugen, this will function in. Don't know why you'd want to though. the newer one has so much more potential and better stuff.
Title: Re: Character - Stage interaction
Post by: Juano16 on December 11, 2009, 12:45:39 am
this system still working in mugen 1.0 RC
Title: Re: Character - Stage interaction
Post by: Saturno on December 11, 2009, 02:48:28 pm
Thank you Juano Borsalino and Cyanide. I'll probably download newer versions.
Title: Re: Character - Stage interaction
Post by: Byakko on December 11, 2009, 02:56:31 pm
This will no longer work in the latest version's of mugen as the Zaxis parameter has been removed.
For the record, for anyone who wonders about that
K'style said:
We scrubbed that logic a while back without realizing people were using it as a way to interact with stages, but we might do something about backwards compatibility after we add a proper mechanism for determining which stage a character is on.
Title: Re: Character - Stage interaction
Post by: Dfalcon on December 19, 2009, 04:28:19 am
would this work for a stage from super smash brothers brawls stages like this

------------------------------
-----------______------------
------------------------------
-______------------______---
------------------------------
__________________________
---_____________________---


____ means platforms
----- spaces
Title: Re: Character - Stage interaction
Post by: Mr Geo Cloaking Mr G on June 05, 2010, 03:52:24 pm
Man, i have a question, can you upload the url or web site for download it please? the link is broken...
Title: Re: Character - Stage interaction
Post by: Cyanide on June 06, 2010, 01:11:12 am
This is a very very old tutorial. I'm going to ask if anyone has the stuff as well, if not i'm going to lock the topic and label it obsolete.
Title: Re: Character - Stage interaction
Post by: adriano gt on November 11, 2012, 10:15:06 pm
I know the topic is old ... but:
Someone could update it? ... mugen1.0 the new features and easier code. Who can help with this? thanks in advance
Title: Re: Character - Stage interaction
Post by: Cyanide on November 11, 2012, 11:54:41 pm
I forgot to obey my earlier comment... Locking.

1.0 code is a piece of cake as the triggers are in triggers.html.