It was the summer of 1992, I graduated from high school and stuck a job working in a computer store as sales/technician. My pal Brian would visit often, biking for miles each way to reach the store. (Boy we had energy back then) and I would slip some time out of work to find various ways for being unproductive an hour or two at a time, playing computer games and what not. ^_^;
One day, we were trying out this "new" SF2IBM (v1.9) game when Brian talked me into editing this game. Basically SF2IBM is a home made Street Fighter 2 clone featuring absolutely no gameplay resemblence to the real thing because of a lack of gameplay programming. The way the game's data is constructed allowed easy adjustments to gameplay and animation sequencing, plus other gameplay related attributes. A number of people on the net had then altered the game to introduce wacky moves much similar to the hacked version of the SF2 Champion Edition arcade games, though the fundamentals remained absent: jumps would last for only a fraction of a second, roundhouse kicks would have no range and has the same recovery time as a jab, basically every single aspect of what the original game was about were not there. With an immense amount of free time to spare/waste, I decided to take on the task in making this game resemble the original Street Fighter 2.
At first there wasn't the idea in mimicking the original game. I just spent a few hours making my version of wacky moves, like a special move that will automatically throw in multiple hits plus a Dragon Punch. Though the "pretty cool, huh?" aspect didn't last for long and it certainly didn't impress Brian. Then, for whatever reason, I found myself putting in 10 hour days in this crazy project of putting together a real SF2 clone.
Making a patch turned out to be a lot more fun than expected. More importantly, I learned a lot about the mechanics of the game itself. First I gone through the 80 to 100 frames that each character has, and adjusted positioning of each frame in every animation, then it was fun with sequencing, defining how long each move last and grouping them together to make them look natural, as various attributes were added for defining interruptable frames, speed, and damage. One of the most interesting attribute was the hit range. To define the fact that only a character's fist should cause damage as opposed to, say, the head when a character is throwing a punch. With the fighting game term "priority" in effect, I had to tune various moves so that more commited moves like a roundhouse kick would have more priority over a medium kick, for example. Also need to make sure that all standing attacks would miss characters that are cruched. The stack of notes I wrote during the making of the game were rather impressive as a report on how the game SF2 operates. Later on in talking to experienced programmers I had a chance to confirm all my speculations as to how the game must have been programmed, and that was pretty satisfying too.
Thanks to Brian who later joined me in making what's known today as the SFLIU version of the game, version 1.0 was released to Internet. It wasn't until 1993 that I had internet access, so Brian was kind enough to distribute the game for me, and boy it was a real phenomenum for a high school graduate. Hundreds of e-mail were written to us with nothing but just compliments on the game. This 200+ hour project made just so Brian (which didn't have a Super Nintendo back then to play SF2 with) can play SF2 at home paid off in a big way. We had fun playing SF2 on 386's, and so did thousands of other SF2 fans. Due to the numerous responses we were getting, different updates of the patch were released. Alternations and additions from gameplay to graphics made were pretty scary come to think about it. I had not only added more moves to reflect the newer SF2 versions but also added the characters that were missing in the original SF2IBM game. Loading a hundred frames of animation in Photoshop with my 386 with 8 megs of RAM (or was it 4?) was NOT fun. ^_^; But with the responses that we had gotten it was an extremely satisfying project, not to mention the experience we obtained in producing the game.
Q: What's the newest version?
A: Version 2.2
Q: Will there be a new version?
A: Nope, we had both gotten full time jobs since then, now free time is no longer a commodity.
Q: How do you edit the game?
A: First you must know that half the data of the game is in ASCII
and the other half is in Binary. The file types are listed below:
The second part of the SEQ are frame specifiers. They generally follow the format:
10 | 50 | 5 | -4 | A12N1Ax. |
A | B | C | D | EFGHIJK |
Frame Size - Used so SF2IBM can separate each sprite from the .RE
library.
Unless you're creating a new character, don't screw with the numbers.
Unless you want your computer to crash.
Frame Orientation - Controls the placement of the sprite on the screen.
In the format: 10 50 -40 -1 (Defined as: A B C D)
SF2IBM's RE are composed of three bytes in each group. An example would be "051400<20 bytes of data>". Where the first byte, 05, means that there are 5 pixels of black space (transparent color) first, then the 5 pixels are followed by hexidecimal 14 (20 pixel) of data, and the data are what's specified right after the next byte. The third byte is the "second digit", 1 byte = 255 pixels, but you'll never need it for SF2IBM, so it's always zero.
To convert between RE and other formats, you'll need Ben Cantrick's convertion utility. I'll see if I can stuff it in brawl.mindlink.net.
Horizontal pixels multiplied by vertial pixels makes the size of each RAW file. All backgrounds are 520 pixels wide, and the extensions in numbers are the horizontal pixels of that image.
The hard part is creating the palette. I'll put the palette file here upon anyone's request.
Now you can edit the background and the logo. Heh, Brian's brother was impressed when I wrote a big "Lanzer Rulz" over Ryu's background when I first figured out how to edit stuff. :)
The ID format is pretty similar to the IDE format. First part defines the dimensions, and the second part defines the positioning. All units are in pixels. Multiply the dimensions and you can get the exact sizes for each picture. Use that to split the R file up for editing.
The ending files, end.id, etc. Were included with the original SF2IBM. But too bad the EXE never called the files out. All that's there are the lame messages when you beat all the computer opponents. ^_^;;