Ascended M.U.G.E.N
April 19, 2024, 03:02:35 am
Welcome, Guest. Please login or register.

Login with username, password and session length
News: WE ARE MOVING!

http://www.ascendedmugen.com/index.php?action=forum

This is the new forum and server. All downloads are now hosted here and everything far as post count can be recoverd in the proper topic.
 
  Home Help Links Staff List Login Register  

Samus's Stage Making Tutorial.

Pages: [1]
  Print  
Author Topic: Samus's Stage Making Tutorial.  (Read 419 times)
0 Members and 1 Guest are viewing this topic.
Captain Deidara
Guest
« on: August 29, 2007, 04:20:18 pm »

This is from Samus's site, http://www.geocities.com/samus1978/index.html .

Warning: Omega Huge Post

Quote from:  Samus Stage Tutorial
PART 1
GETTING STARTED


Overview: Getting your pictures for your background.
The first step in creating a background is getting your image files. If you want to rip a background, you must use an 'emulator'. An emulator is basically a computer program that can play console or arcade games on your computer, there are also emulators for other computers. An emulator won't do anything on it's own, you need a ROM image of the software or game for it to work. The legality of emulators and roms are still being discussed today, but basically under copyright laws you are able to make 1 backup copy of your purchased game, book, tape, cd, movie, ect...
The emulators that I recommend are Project64 (n64), FinalBurn (CPS-2 arcade games), ZSNES (snes), GENESYST (genesis), NESTICLE (nes), and MAME (arcade). Each emulator has it's own way of deleting the layers and capturing a picture. For example, with ZSNES the 1 - 6 keys disable or enable a background or the sprites, from there you then hit the 'F1' key to bring up the pop up menu, where you can choose 'SAVE SNAPSHOT'. Depending on what color depth you have your settings on it will save as either a .pcx (8bit) or .bmp (16bit). With UltraHLE just hit the 'F10' key and it will save a snapshot in the targa format. With CALLUS, GENESYST, and NESTICLE, on the menu if you choose SETTINGS then LAYERS, you can disable whatever layer you want. Then hit 'F9' to save the .pcx. Also a good tip when you want to create multiple layers of backgrounds, try only activating one layer at a time, then take a snapshot. That way it is much easier later.
After capturing all of the needed background(s), the next step is to move them into a folder in you MUGEN directory. Elecbyte suggests a mugen\work\stages\backgroundname folder but you can use whatever your preference is. Now that you've collected all of your files that you are going to be working with, you are now ready to move on to the next step.

PART 2
GETTING YOUR IMAGES READY


Overview: Saving your images correctly.
Now that you have all of the files you need into one directory, now you must prep every single one of them!! Yes I know this may seem a little frightening at first, but this must be done. What I really recommend is a paint program, such as Paint Shop Pro or Correl Draw. If you do not have one, you can always check www.download.com for a trial program. It will be an invaluable tool once you get started. Now for my examples I will be going by the Paint Shop Pro menu, but all of the paint programs are basically the same.
Now first OPEN your file, as you can see the picture will load and the background of the picture will most likely be black. Now for beginners sake, black (or color 0-0-0) will be the 'masking' color for all of your backgrounds, the 'masking' color will be the color that is not drawn in MUGEN.
Second you are going to DECREASE THE COLOR DEPTH to a 256 color (8bit) image. Now a problem may arise where if the black background that you want to be drawn may be misunderstood as the masking color. To check to see if this will be a problem, go to EDIT PALLETTE, then choose the upper-left color, which will be black 0-0-0. Change it to a bright color, preferably light red. If that light red shows up where you don't want it to (such as part of the background you want to keep) there is a quick way to fix it.
Here's how. First either hit undo or change the light red back to black 0-0-0. Now somewhere on the palette where a color is not defined (usually by white 256-256-256 or a gray) choose that light red again. Next INCREASE THE COLOR DEPTH to 16bit, then immediately DECREASE THE COLOR DEPTH to 256 color (8bit). Change the black 0-0-0, to something very very close to it... such as 0-0-4 or 0-0-8, then change the light red to 0-0-0. Again INCREASE THE COLOR DEPTH to 16bit, then immediately DECREASE THE COLOR DEPTH to 256 color (8bit), and the problem is solved!
Finally (this next one is easy) click FILE then SAVE AS. And make sure that you are saving the image in the right directory, and saving the image as a PCX - ZSOFT Paintbrush Image Version 5. And when you've completed this with ALL of your images... you're ready to move on to the next step!

PART 3
CREATING THE SPRITE FILE


Overview: Creating a .SFF file for the background.
Now the next step to creating a background is creating the image file for MUGEN to use. This is called an SFF file. This contains all of the sprites or images that you are going to be using to create this stage. What you'll need is SPRMAKER.EXE, from the ELECBYTE homepage in the developer section. Have SPRMAKER.EXE in the same directory as MUGEN.EXE.
Now open Microsoft Notepad from your Accessories folder. What we are going to do next is create a text file for SPRMAKER, just to make life a little easier.
The first thing to do is in the text file, on the first line, write:
stages\backgroundname.sff
Where 'backgroundname' is the name of your background, and it should be no more than 8 characters. This is going to tell SPRMAKER what the name of the file is going to be. Next you will be writing down the path of your PCX files and their image groups. It should look like this: work\stages\backgroundname\image.pcx
0
0
0
0

The first line:
work\stages\backgroundname\image.pcx
This is the path of your image.
0
This is the 'group number' of the image. Used to help sort each part of the background. For example this number would be different when you want to keep all of the background images in one 'group', and all of the foreground images in one 'group', and all of the images of a background animation in one 'group'.
0
This is the 'image number' of the group. You are to assign each image a different number. If two images are assigned the same 'group' and 'image' number, the first image will be overwritten.
0
0
These are the X and Y values of the image. For all intents and purposes these can remain at 0 and 0.
So when you're finished your text file should look something like this:
stages\backgroundname.sff work\stages\backgroundname\image1.pcx
0
0
0
0
work\stages\backgroundname\image2.pcx
0
1
0
0
work\stages\backgroundname\image3.pcx
0
2
0
0
; end of file

As you notice there are no spaces in this demonstration. This is very important because as soon as SPRMAKER sees a space, it will assume that this text file is over and will quit.
When you are finished and have all of the images included that you will need for the background... save it as backgroundname.txt. Then go into your MS-DOS prompt by either clicking the 'MS-DOS' icon on your start menu or click 'Run', from the start menu, then write 'command.com' and run it. Then navigate into your MUGEN directory ('cd..' to go up a directory, 'cd foldername' to go into that directory, 'dir' to see a list of the folders.), then choose this command line:
sprmaker.exe < backgroundname.txt.
After you close your MS-DOS prompt you are ready for the next step.

PART 4
CREATING THE DEFINITION FILE


Overview: Creating a .DEF file for the background.
OK now this may be (for some) the most difficult portion of creating a background, because it includes a lot of trail-and-error. But keep at it, you'll get it eventually. Also a good template is Kung Fu Man's background DEF file. But we will go through each part of the DEF file just for good measure. Also just a quick note, if you need a remark or a statement in the DEF file that isn't recognized by MUGEN, such as a reminder note, just use a ';' and anything after the comma on that line will be disregarded. OK, let's begin.
Start off the DEF file with:

[Info]
name = "backgroundname"
This will display the name of the stage in MUGEN. Make sure that the name is enclosed in double quotes.

[Camera]
startx = 0
starty = 0
These are the starting coordinates for the stage, normally you would keep it at 0 and 0.

boundleft = -150
boundright = 150
This is the length of the stage to the left and the right. For a longer stage, these values would be a lot larger, for a smaller stage, these values would be smaller. This is where trial-and-error come into play. But to get a general idea where these numbers will be, open your floor image and find the center of the image. There should be a number coordinate of the center displayed somewhere in your program. When get the X coordinate of the center, subtract that by 160, and that should be around the number that you are looking for.

boundhigh = -20
boundlow = 0
These are the height of the stage. With boundhigh, the bigger the number the farther the camera will follow the character. And this is ALWAYS at a negative number. boundhigh is also going to be the starting Y coordinate of your farthest background. And boundlow will always stay at 0.

verticalfollow = .2
This is how much the camera will move vertically towards the highest player. Valid values are from 0 to 1. A value of 0 will mean the camera does not move up at all. A value of 1 will makes the camera follow the highest player. Typically .2 for normal-sized backgrounds. You may need to enlarge this value up for taller backgrounds.

tension = 50
This is the distance player is from edge of the screen before camera starts to move. Typically this will stay at 50.

[PlayerInfo]
p1startx = -70
p1starty = 0
p1startz = 0
p1facing = 1
p2startx = 70
p2starty = 0
p2startz = 0
p2facing = -1
p1startx is typically -70 and p2startx is 70. These are the staring position of Player 1. p1startx is typically -70 and p2startx is 70, p1starty and p1startz should be 0. p1facing and p2facing is the direction the player faces, 1 is towards the right and -1 is towards the left.

leftbound = -1000
rightbound = 1000
topbound = 0
botbound = 0

[Scaling]
topz = 0
botz = 50
topscale = 1
botscale = 1.2

[Bound]
screenleft = 15
screenright = 15
You don't need to change these values.

[StageInfo]
zoffset = 200
The Zoffset is the line where the ground is. A larger number places the ground closer to the bottom of the screen, a higher number place the ground closer the top of the screen. This could be any number from 0 to 240, although from 200 - 240 is recommended.

autoturn = 1
A value of 1 makes the players automatically face each other. A value of 0 allows the player to face any direction. Normally you would want this at 1.

resetBG = 1
A value of 1 will have the background reset to it's starting animation between rounds. A value of 0 will have the animation continue between rounds.

[Shadow]
color = 32,32,32
This is the shadow color given in Red,Green,Blue. Valid values for each range from 0 (lightest) to 255 (darkest). The default color is 92,92,92 if omitted.

yscale = -.1
This is the scale factor of the shadow. Use a big scale factor to make the shadow longer. You can use a NEGATIVE scale factor to make the shadow fall INTO the screen. Defaults to 0.4 if omitted.

reflect = 0
A value of 0 will draw a shadow. A value of 1 will draw a reflection instead of a shadow.

[Music]
bgmusic =
You can play MP3, MOD, or MIDI here for the background, or just place a comma in front of it if you don't want music. If an invalid filename is given, then no music will play.

bgvolume = 0 This adjusts the volume for MP3s or MODs only. 0 is normal, use a negative number for a softer volume, and use a positive for louder volume.

[BGdef]
spr = stages\backgroundname.sff
This is the location of the SFF file of your background that you created before in step 3. This loads the images that you will be using in the main background definition.

debugbg = 0
Set this value to 1 if you want to clear the screen to magenta before drawing the default background. This is a great way for spotting "holes" or gaps in your background.

So far your DEF file should look something like this:

[Info]
name = backgroundname

[Camera]
startx = 0
starty = 0
boundleft = -150
boundright = 150
boundhigh = -20
boundlow = 0
verticalfollow = .2
tension = 50

[PlayerInfo]
p1startx = -70
p1starty = 0
p1startz = 0
p1facing = 1
p2startx = 70
p2starty = 0
p2startz = 0
p2facing = -1
leftbound = -1000
rightbound = 1000
topbound = 0
botbound = 0

[Scaling]
topz = 0
botz = 50
topscale = 1
botscale = 1.2

[Bound]
screenleft = 15
screenright = 15

[StageInfo]
zoffset = 200
autoturn = 1
resetBG = 1

[Shadow]
color = 92,92,92
yscale = 0.4
reflect = 0

[Music]
bgmusic = sound\backgroundmusic.mid (.mp3 or .mod)
bgvolume = 0

[BGdef]
spr = stages\backgroundname.sff
debugbg = 1

And after you're finished, you're ready to move on to the next step.

PART 5
MAIN BACKGROUND DEFINITION


Overview: A library of the sprite data and how to implement it.
This is the part of the DEF file where the each background element is defined. Each element has it's own image, velocity, starting positions, etc... etc... etc... Every element must start off with, [BG x] Where 'x' is a number or word or your choice, which is only for your records to keep track of, incase there is an error in that element, MUGEN would let you know. And element consists of parameters, which I will go over in detail.

type = parameter
This parameter defines what kind of image will this element be. There are 3 different types:
normal - This is just a flat normal image.
parallax - This gives the image a 3D look by scrolling the image. Sort of like the floors in Street Fighter 2.
anim - This declares the image to be an animation.

spriteno = group no, image no
This assigns the element an image. The syntax is, spriteno = group number, index number. Make sure you remember what group and index numbers you assigned each image in your SPRMAKER text file.

start = x, y
This is the starting position of the image based on the top right of the image. x is relative to the center of the stage, which would be directly in between the starting position of the characters. If you want the image to start at the leftmost portion of your stage, it must be a negative number. Or if you want the image to start to the right of the characters you must us a positive number. y is relative to the top of the screen when you start the stage. This number should be around (if not the same) number as 'boundhigh', to be sure that when a character jumps there will still be a background. So you may need to move around these numbers until you get it just right. Also this must be an integer, no decimal places.

delta x, y
The delta is how fast the background element moves, when the camera pans. This number could be a float, or can have a decimal. A value of 1, moves the background exactly 1 pixel for every 1 camera unit moved. (So if the camera moves over 1 unit the background moves over 1 pixel, get it!?) If the value is bigger than 1, the background will scroll faster, or if the value is smaller than one, the background will scroll slower. Again you must change these values until you get your desired feel for the scrolling.

trans = parameter
This is to change the transparency of the image if desired. There are 4 types of parameters, they are:
none - Does not make any kind of transparency, this is the default if 'trans' is omitted.
add - Makes the image brighter.
add1 - I suppose it makes the image brighter than 'add' but I cannot tell the difference.
sub - Makes the image darker.

mask = flag
This flag can hide the color '0' of your palette, so that you can see through the color '0'. This is why we prepped the images in step 2. For the flag, '0' turns masking off, meaning the background will look exactly like it is, this is the default if 'mask' is omitted. A '1' will turn masking on and will not draw the color '0'. This is good when you want to have multiple backgrounds.

layerno = parameter
This will determine whether the image is drawn in front of the character or in back of the character. If you the image drawn in back of the character, (which you normally do, this being a 'background' and all) use a '0', also this is the default if 'layerno' is omitted. If you want the image drawn in front of the character, you must use a '1'.

velocity = x, y
This is the speed the background moves at. The value you use is how many pixels the image moves at per game tick. This number can be a float, or can have a decimal. The default number is '0' if 'velocity' is omitted.

tile = x, y
This will continuously place the image right next to the image, therefore 'tile'ing the image. If you want to tile the image from left to right infinitely, at the x parameter use '1'. Or if you want to tile the image up and down infinitely, at the y parameter use '1'. Or if you only want to image to be tiled a certain number of times, instead of '1', just place that certain number in the parameter instead. The default is '0' if 'tile' or one of the parameters is omitted.

tilespacing = parameter
This parameter is an integer number, meaning no decimals, of how many pixels to draw between tiles. If omitted than the image tiles 'back to back'.

sin.x = length,time
This option makes the image circle back and forth on the x axis continuously, or left to right. length is the number of pixels of the radius, and time is the game ticks that it takes to complete one rotation.

sin.y = length,time
This option makes the image circle back and forth on the y axis continuously, or up and down. length is the number of pixels of the radius, and time is the game ticks that it takes to complete one rotation.

So an example of a background element would look like this:
[BG TheFloor]
type = normal
spriteno = 1,0
start = -150, 180
delta = .8, .75
mask = 1
As you see you only define what you have to. You only implement what you need to be changed from the default. Just keep in mind, for every image set that you have, you have to create a background element. And if there is an element above this one... that sprite will be drawn behind this image. And if there is an element below this one... that sprite will be drawn in front of this image. See how that works!?

After you have fiddled and toyed and have been the anal retentive perfectionist you know you are, to make sure these backgrounds look initially how you like it, you're ready to move on to more advanced background definitions.
-SamusAran748
 

Advanced Creation Below.
Report Spam   Logged

Share on Facebook Share on Twitter

Captain Deidara
Guest
« Reply #1 on: August 29, 2007, 04:21:13 pm »

Advanced Stage Creation:

Quote from:  Samus's Advanced Stage Tutorial
PART 6
ADVANCED BACKGROUND DEFINITION - ANIMATION


Overview: Bringing your background to life.
What background would not be complete without pretty animations to distract the player while in the middle of an intense fight? This section se will discuss how to incorporate your animations and to make them as professional looking as possible. Sounds exciting right??? If so... you don't get out much do you? Just kidding... let's move on.

OK remember that text file you created in section 3, "CREATING THE SPRITE FILE"? Well a good idea would have been to group all of your common images together. For example, if you have 3 images of a man waving, group them under the same group number and seperate the individual images with the image number. work\stages\backgroundname\man1.pcx
5
0
0
0
work\stages\backgroundname\man2.pcx
5
1
0
0
work\stages\backgroundname\man3.pcx
5
2
0
0

And unless you really really really know what you are doing, a good idea would be to keep the same X and Y values for that group.
OK so everything is how it should be. Great.

Now the actual first step in the def file would be in the main background definition, create an element like you normally would except include:

type = anim
The anim parameter defines that this element will be an animation. If this is not included MUGEN will not run the stage correctly.

actionno = integer
This assigns the element to an animation. The number will link to an animation of the same number.
A little side note is that you do not have to include spriteno = x,y, because it will be useless. Why? Because we will be defining what sprites to be displayed next.

For the final part of this section, we will go over the "Begin Action" declaration... which has the same properties as an air file for a character. So if you have any experience with creating an air file this will be cake. And for more info, please reffer to air.txt in the mugen\docs\ folder.
To start off, we must first include:

[Begin Action integer]
This defines an action. The integer must be the number that you want to link to in the main background definition with actionno = integer. Each action must have a unique action number in order to be distinguishable from other actions. You can have many actions, and you can also link multiple elements to the same action. Next we declare what image to show and for how long.

group number, image number, X, Y, time, flip (opt), trans (opt)
It's not as scary as it looks. Let me explain.

group number, image number
This assigns the image to that animation. Make sure you remember what group and index numbers you assigned each image in your SPRMAKER text file.

X, Y
This is the offset of the image based on the position set by the element. If you have already set the position in the element there is no reason for these numbers not to be 0. But if not, you may need to move around these numbers until you get it just right. Also this must be an integer, no decimal places.

time
This number is the length of time to display the animation before moving onto the next animation, measured in game-ticks. There are 60 game-ticks in one second at normal game speed. Also you can specify "-1" if you want that animation to be displayed indefinitely. If you choose to do this, do it only on the last element of the action... otherwise this whole section would be pointless. Again this must be an integer, no decimal places

flip (optional)
If you want to flip the sprite horizontally and/or vertically, you will need to use the flip parameters: "V" for vertical flip, "H" for horizontal flip, and "VH" flips it both ways. You do not have to include this at all... it is strictly an option for you to use if necessary.

transparent (optional)
If you wish to make the images in your animation transparent, this is the option for you buddy. There are 3 transparent parameters: "A" for color addition, "S" for color subtraction, and "A1" for a 50% color addition.

Once you have the first action together the others should be a piece of cake to do. Here is an example of a normal completed action:
[Begin Action 1]
5,0, 0,0, 4
5,1, 0,0, 4
5,2, 0,0, 4

Here is an example of a completed action that includes some of the options:
[Begin Action 1]
5,0, 0,0, 4, ,A - Color addition. flip parameter omitted.
5,1, 0,0, 4, H, S - Color subtraction and flipped horizontally.
5,2, 0,0, 4, VH - Flipped 180 deg. Trans parameter omitted.

One last option you have is adding a line with the word "Loopstart". Which will make the animation begin looping from the element on the following line.

Got it? It may seem alot... but it really isn't. There is just alot of options for you to use while creating your background. And you will need them... oh yes you will.

PART 7
ADVANCED BACKGROUND DEFINITION - PARALLAX


Overview: Giving your background a 3-D look.
One of the techniques that has been around for quite some time now is motion parallax. It is the option that gives a sprite a feeling of depth by moving one end of the sprite faster than the other end… exactly like the floor effect in Street Fighter II. This is an option, you don’t have to have this for your background… but it can be a really cool effect.

type = parallax
This tells MUGEN that this sprite is going to be given a parallax effect. You must include this for it to work. Then you must include 1 of the next 2.

In MUGEN there are 2 ways of implementing the parallax effect, depending on exactly what you are trying to do.

width = x1, x2
Use this method when you want the sprite to be tiled, so you must include tile = 1. This method is good for a floor or ceiling image that you want repeated over and over… such as a tiled floor, it is also the most easiest to impliment. And these numbers must be an integer ( or cannot have a decimal place. )
x1 is how long you want the top part of the image to be.
x2 is how long you want the bottom part of the image to be.
To give your image a floor appearance, make the x2 variable larger than the x1 variable. However to give the sprite a “ceiling” appearance, make x1 larger than x2.
What you first want to do is to make the larger number the exact size of the sprite, you can get this number simply by opening the image in Microsoft Paint, then click ‘image’ at the top, now choose ‘attributes’ from the drop down menu. Select ‘pixels’ for your units then you will be able to tell what the exact length is. With the smaller variable, you will have to do some tweaking to get it to look right, but generally you would want that number to be around 25% less than the larger variable variable.
xscale = x1, x2
Use this method when you want the sprite not to be tiled. This method is good when you want a single sprite to have the parallax effect, however this method is currently buggy and may not work properly. These numbers must be a float ( or must have a decimal place. )
x1 is how long you want the top part of the image to be.
x2 is how long you want the bottom part of the image to be.
To give the sprite a “floor” appearance, make x2 larger than x1, or to give the sprite a “ceiling” appearance, make x1 larger than x2. Also I good idea is to make the larger number the exact size of the sprite, you can get this number simply by opening the image in Microsoft Paint, then click ‘image’ at the top, now choose ‘attributes’ from the drop down menu. Select ‘pixels’ for your units then you will be able to tell what the exact length is.

yscalestart = percentage
This option is a little hard to explain but it’s not at all complicated. yscalestart scales the height of the image depending on the percentage. 100 is the exact middle and the default percentage. The larger the percentage from 100, the smaller the scale is. The smaller the percentage from 100, the larger the scale is. It’s a very odd way of implementing this feature… but hey who am I to complain.

yscaledelta = percentage
This option allows you to give parallax to the sprite when you jump. The default percentage is 0. I would say a normal percentage would either be 1 or –1 depending on the effect you want to give, I wouldn’t go any farther past that range unless you are doing some expressionist background.

So this is an example of how a parallax would be done:
[BG FLOOR]
type = parallax
spriteno = 1, 0
start = -300, 168
delta = 1, 1
tile = 1, 0 ;this must be included when using width
width = 605, 815 ;815 is the length of the image.
yscalestart = 113
yscaledelta = 0.9

For a better example, open kfm.def. There you will find an example of a parallaxed floor as well as a parallaxed ceiling.
PART 8
ADVANCED BACKGROUND DEFINITION - BACKGROUND CONTROLLERS


Overview: A more advanced library for the creator who's ready to learn more.
OK, so now you want to know some advanced stuff, huh? Stuff that only Yoda can teach, huh? Well then go to the Degoba System you're wasting my time... 'cause I'm here to teach you how to make your background come alive in this chapter. So as Samuel L. would say "Hold hold on to your butts."

The next element type we're going to go over is background controllers. This is a element type that allows you to control the image, and allow it to move however you wish. To implement a background controller use this parameter

id = number

This parameter will assign the controller to this element. Near the bottom of the DEF file, after all of the background elements, is where your background controllers will be. To initiate the background controller write this

[BGCtrlDef number]
looptime = time to loop the controller
CtrlID = number
This will declare the controller's identification with BGCtrlDef and CtrlID, which must be the same number as the parameter id to work. The parameter looptime is optional. Use this only if you the element to repeat itself with a break, the looptime, in game-ticks, declares how long the break will be.

Now the next step will resemble something like the CNS file, for those of you who are familair with it. There is also a cns.doc in MUGEN\DOCS\ so if you need more indepth information you may find it in there, however there are minor differences. What you have to do next is declare background controller elements. This will define the position, velocity, and direction of your image. To do this first you must have

[BGCtrl number]
This will be the header of the controller, this must start every element. number can be any number, most likely you would want it to resemble the id number. So the suggested number would be number.0 then number.1, ect...

Next you must define the element. Each element must be defined with a type and a trigger. A trigger is a parameter that declares when the element will occur. Normally the trigger fo your background controller will look like this

time = number
Where number is the number of game-ticks when the element will begin. Your element willl also need an element type

type = parameter
There are an assortment of element types that can be used here. Here is a list of the types that will be most common

Enable
trigger
value = number
Use this if you need the image not to be drawn immediatly. A value of 0 will disabble the image, and a value of 1 will enable the image.

PosSet
trigger
x = x coordinate
y = y coordinate
This will set the position of the image if you haven't done it already with start =. The x coordinate is relative to the middle of the stage, and the y coordinate is relatve to the zoffset (the floor).

VelSet trigger
x = x coordinate
y = y coordinate
This parameter will set the velocity of the image. The number can be a float (having a decimal point). The number will set how many pixels the image moves per game-tick.

VelAdd
trigger
x = x coordinate
y = y coordinate
This parameter will add to the existing velocity of the image. The number can be a float (having a decimal point). The number will set how many pixels the image moves per game-tick.

VelMul
trigger
x = x coordinate
y = y coordinate
This parameter will mulitply the existing velocity of the image. The number can be a float (having a decimal point). The number will set how many pixels the image moves per game-tick.

SinX
trigger
value = number, time
This parameter will rotate the image on the X axis (left to right), giving the impression that the image is circling around. number is the lenght of the circle. And time, if included, is the time in game-ticks of how long to complete on rotation. (I'm almost positive this is what it's for).

SinY
trigger
value = number, time
This parameter will rotate the image on the Y axis (up and down), giving the impression that the image is circling around. number is the lenght of the circle. And time, if included, is the time in game-ticks of how long to complete on rotation. (I'm almost positive).

So an example of an element should look something like this

[BGCtrlDef 1]
CtrlID = 1

[BGCtrl 1.1]
type = PosSet
time = 1
x = -350
y = 8

[BGCtrl 1.2]
type = Enable
time = 0
value = 1

[BGCtrl 1.3]
type = SinY time = 1
value = -2.5,120


WOW! That's it. This is the end of the tutorial my friend. Thank you for reading, I know it's alot of information. I hope you would be able to use this tool and may it help you on creating an outstanding background of your own. The only other advice I could give you is this:
Use your creativity, it is your best asset when you build something, from a house, to legos, to a background. You're imagination is the limit, trust me, it's not called MUGEN for nothing.

-SamusAran78
Report Spam   Logged
nytemare
Guest
« Reply #2 on: September 19, 2007, 08:52:55 pm »

is there anyway to make a stage just using fighter factory and not SPRmaker?
Report Spam   Logged
Captain Deidara
Guest
« Reply #3 on: September 30, 2007, 01:10:54 pm »

Yeah there is. You make an SFF like you would with a character, except without a shared palette.
Report Spam   Logged
Pages: [1]
  Print  
 
Jump to:  

Bookmark this site! | Upgrade This Forum
Free SMF Hosting - Create your own Forum

Powered by SMF | SMF © 2016, Simple Machines
Privacy Policy