- Part 1: Ripping from Windows Games with VMware Workstation
- Part 2: Cleaning Rips with PSP Scripts
- Part 3: Sprites that are Required for MUGEN Characters
- Part 4: Preparing a Character Palette with PSP
- Part 5: Making a Character SFF File with MCM
- Part 6: Making Character Animations with MCM
- Part 7: Making Collision Boxes with MCM
- Part 8: Squeezing out a Few More Sprites
- Part 9: Making a Character CMD File
- Part 10: Programming Basic Attacks
Part 5: Making a Character SFF File with MCM
This is the fifth part of my character creation walkthrough, where I'll be walking through the entire process of making Sou, the playable character from Blade Warrior.This article deals with making the character's SFF file.
Tools used:
Mugen Character Maker (the "mcm20b-dev3.56.zip" link

),
SFFextract, Sprmaker Update:
Fighter Factory is much better than Mugen Character Maker.
The SFF file is composed of all your sprites, their indices ,their axes, and their palettes (although you should only use one palette, aside from the large portrait). The sprites must be in PCX format with the proper palette applied (from the previous article). A sprite's index is a group number and a sprite number; these are used to reference the sprites in the animations (the AIR file). A sprite's axis is the point (x- and y-coordinate) that is used to position the sprite in MUGEN when it's used, and the animations may include offsets from this point (just making note of this; I'm not going to cover animation until a later article).
What I'll do to make the SFF file is simply modify KFM's by swapping in my sprites.
Docs\spr.txt lists which group numbers you should use for which sprites, but I don't even have to worry about this since I can see just by opening kfm.sff in MCM (
screenshot). All of MCM's buttons have tooltips when you hover the pointer over them, luckily enough, that tell you what the deuce they do. The first thing I'll do is click the
Change palette button to load the ACT palette I made in the previous article. Since the KFM sprites don't have this palette applied, they appear in all white now. Group 0 is plainly used for the character's standing sprites. KFM has several of them that are played in a loop in MUGEN, but my character only has one frame for this action. So I can click the
Delete sprite button to delete images 1 through 5 of this group. Now when I go back to 0,0 (
group, image), I click the
Change sprite button and load my stand.pcx to replace it. The sprite appears just as it did before, only minus the green background color since I have
Transparency checked (
screenshot). The axis has remained at 18,93, which isn't going to work since the axis for all but some of the get-hit sprites that were covered in a previous article need to be where the ground level is. So if I left the axes as they are, the character would be floating in the air in MUGEN. Note that MCM mysteriously crops sprites incorrectly sometimes (cropping off part of the sprite), so I never have
Crop image checked when adding or changing a sprite.
I'll adjust the axes for these sprites later, but for now, I'm just concerned about getting all the sprites in. If your rips are made with a locked axis, you'd definitely want to make an SFF file from scratch rather than modifying KFM's and having to adjust axes. You'd actually want to not even use MCM at all in this case, but just pipe a text file into sprmaker. What I do now though is just work my way through KFM's SFF replacing sprites, removing extra sprites, and adding sprites when necessary. Group 5 and group 6 are for turning and crouch-turning; my character doesn't have those, and they're not necessary anyway, so I just delete them. Obviously, you'll
need to have standing, crouching, walking, jumping, and guarding sprites unless you're using MUGEN for some evil purpose like a space shooter (this has been done, actually, although I don't think it's available any more). I delete the entire group of 21 (walking back), since I'll use group 20 (walking forward) for that animation. Oh and it's actually much faster to use
Add sprite and add a range of sprites (select the first sprite in the range, and then select the last while holding the Shift key) if you'd rather do that than replace them one by one. Just make sure you type in the right group number in the
Add image dialog (and the axis if you don't want it to be 0,0). That's what I do for all the attack sprites after deleting all of KFM's. Once I get to 5000,0, which is where all those required get-hit sprites start, I just replace them all easily, since I had the files named accordingly. Keep in mind that KFM actually has non-required sprites here to give his hit animations more frames. You can tell the difference because the sprite number of a required sprite always ends in 0. And also, the group numbers that end with 0 use ground level for the axis, the ones that end with 1 use midsection for the axis, and the ones that end with 2 use head for the axis. Ground level, midsection, head -- from the ground up, get it!? Once I get to the large portrait, I deselect
Shared palette to add that in, since this image uses its own palette. Of course, I did have to edit the palette so that the first index referred to the background color, just like every other sprite. I had neglected to include a small portrait before, so I make one now.

It uses 91 colors after I decrease to 8-bit color depth. If I applied the palettes I'm using currently, it would look pretty bad, so I'll just add the colors it uses to my palettes. I always hold on to my PSP palettes for making these kinds of modifications, although you could simply edit the ACT palettes (this isn't very stylish, of course). A PSP palette is simply a text file that lists all of the colors by their RGB values (red, green, blue). So I just save the portrait's palette, open that in a text editor, copy all of the lines that aren't "255 255 255" (not used). Now I just open my original bw.PspPalette and paste all of these lines at the end. Then I just remove as many "255 255 255" lines as I need so that there's only 260 lines ("JASC-PAL", "0100", "256", then 256 lines for the colors, and then a blank line at the end) before saving it. The status bar of text editors generally tells you what line the cursor is in. Now I can apply this palette to the portrait in PSP with
Nearest color matching and it looks the same as it did with the old palette, because the new palette has all of those colors (
screenshot). In the screenshot, the first two rows are from the original palette I made in the last article, and then there is a bunch of indexes that refer to white (these aren't used), and then there are several rows for the portrait. I have to repeat the process of adding those colors with my character's other palettes, and then make new ACT palettes from them.
Now that I've got all the sprites in, I need to adjust the axes. All you have to do is grab the image by holding down the left mouse button, and then drag it to change the axis. I start by putting the axis for 0,0 right in the middle of the body and right on the bottom-most pixel of his foot (
screenshot). Then I click the
Fix Image button, which places a monotone copy of the sprite behind whichever sprite I'm at. So this way, I can align other sprites with the standing one (
screenshot). You have to have all your sprites aligned to have smooth animation between actions. And the
Onion skin feature will put the previous 1 through 3 sprites behind your current sprite; very useful for aligning the rest of a group after aligning its first image with the standing sprite, the crouching sprite, the jumping sprite, or some other sprite. A trick I use so that I can toggle between a particular sprite and a sprite I want to align with it is
Clone sprite. When you click that button, you get a clone of the sprite you're at. Then you can fill in a new group number and/or sprite number to place it before a sprite and scroll back and forth between the two to judge the alignment. Then you can delete the clone, or move it somewhere else to use on another sprite.
Now, I have finished aligning the sprites, so I'm all done, right? Close, but not quite. Because I set the small portrait's palette type to individual rather than shared, and also made it compatible with the character's palettes (they get applied to it during a match whether you like it or not), the portraits work fine in MUGEN. There is just one sprite (the stand-to-crouch transition one) that has an individual palette and always shows up as blue. MCM is great for editing SFF files, but it's not without its faults. It doesn't save SFF files quite the same way as Elecbyte's Sprmaker. And also, WinMUGEN is picky about character SFF files. This is why you'll find a lot of characters that will have a messed up small portrait, among other things. To fix the problem, I used SFFextract to extract the sprites from my SFF file and also generate a text for piping through Sprmaker (command:
sffextract -d -i -o sou.txt sou.sff). I then moved the small portrait to the top and gave the stand-to-crouch sprite a shared palette before piping the file through Sprmaker (command:
sprmaker -c -f -p < sou.txt). To use these console programs, I used a batch file, which I covered in part 4 of this walkthrough.
The rest of this walkthrough will mostly be about the coding. So if you've never made a MUGEN character and you are here to learn how, I suggest that you download the
SFF file and palettes, and code the character yourself along with me. I just noticed that the character's name is actually Sou, by the way.
Now that the SFF is finished, I'll go over making the animations in Part 6: Making Character Animations with MCM.