addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgoogleimageimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

The Cleveland Game Developers Message Board Jobs, Professional & Project Opportunities › The fighting game project: July

The fighting game project: July

A former member
Post #: 3
E-mail me and I'll add you to the invite list for the shared fighting
game project folder. Ideally I'd also want you to join the mailing list. :)

Currently only the raw video files exist there. The next step is to
break out the videos into individual frames, one PNG file per frame.
Step two is to go through and copy out frames which represent the
basic movements (kick, punch, fall, etc) and put them into their own
sub-directories for each fighter.
A former member
Post #: 4
Wow. This is a concise and complete glossary of fighting game terms. Well worth reading!


A former member
Post #: 5

Okay, Dropbox is busy syncing the work I just did, so I'll take a moment to discuss it.

First, I opened up a file dialog of all the individual frames of Fighter2 that Matt pulled out of the original AVI file. In Windows, I was able to change the view mode to "Filmstrip", which let me see the frames in a way that I could scroll back and forth, and easily identify where the start and end of each discrete move was. Each frame/file is numbered sequentially (and that's something we DO NOT want to change, it's too darn useful), so I was able to find the jump sequence (for instance) between frame 0984 and 1042.

So I made a separate folder called "jump" and moved those frames to it. For every fighter action I could identify, I did the same thing, making a folder for the action, and moving those frames into it. I would up with 15 separate action folders.

Now, we don't need every frame. For one thing, the actor in the film was purposely moving slowly (especially for things like falling down). Also, we don't want to have to process any frames we don't have to; let's make it easy on ourselves. So, depending on how long and slow the action was, I erased 2/3rds or 3/4s of the frames that I'd just copied into separate folders (I didn't erase the originals, we need them). But I didn't do it in order. Instead I went back to my "Filmstrip" mode, and tried to find and preserve the most important frame (where the arm or leg was most extended). Now, if we find that an action is too fast because it has too few frames, we can always go back to the original set of frame files and process an extra one or two down. That's why 1) we keep the frame numbering in each filename, and 2) we keep the original frames archived.

So now I've got 15 actions, with reasonable frame counts. Now we start processing the art with an art tool, like Photoshop, PaintShop Pro, Gimp, etc.

In each of the action folders, I made 3 sub-folders, called "raw", "rawCleanup", and "fineCleanupAndCrop". I moved all the frames into the raw folder. Then I copied them into the rawCleanup folder, and got to work.

If you look at the files in the Fighter02/Punch01/rawCleanup/ folder, you can see what "rawCleanup" means. It means coarsely removing the background from around the character, and saving the image again. It's not fine work; don't try to come near the character. This step is just about removing as much of the larger background as possible, without worrying about individual pixels. I've done Fighter02/Punch01, but there are 14 more actions to do. I used hot pink (RGB = 255,128,255) as a fill color, but at this stage any fill color will be fine.

Now, the NEXT step is filling the "fineCleanupAndCrop" folder. I've already done so for one frame of the Fighter02/Punch01, have a look. Here's where we erase EVERY pixel of the background, leaving only the character. This is fiddly work, and it's very easy to lose sight of what pixel is the background and which pixel is shoe (for instance). This is why "rawCleanup" and "fineCleanupAndCrop" are two separate steps. They are very different jobs, mentally. Some on the team might be comfortable doing the rawCleanup, but might not feel confident enough to do the fineCleanupAndCrop, and that's okay.

fineCleanupAndCrop also means cropping, which means shrinking the image to a rectangle only big enough to contain the character. But wait! The example image I made isn't as small as it could be. Why? Powers of 2.

Bitmap files can come in all widths and heights (100x100, 400x37, 3000x5000, etc). But for many target platforms (like older PC video cards and iPhones), the bitmaps get loaded into "textures" for drawing, and those textures have to be of certain sizes. There are certain magic numbers for computers; they are 16,32,64,128,256,512, and 1024. Trust me, these numbers make sense in binary math. They are called "powers of 2" numbers because, well, they are.

So for some target platforms, the width and the height of every piece of art must be one of these numbers. Fighter02/Punch01/fineCleanupAndCrop/Fig­hter2_0353.png is 128 wide by256 tall, cause that's the smallest "powers of 2" box it would fit inside. Individual images of the action can be different sizes, so long as the "powers of 2" rule is observed.

One more thing. In Fighter02/Punch01/fineCleanupAndCrop/Fig­hter2_0353.png, the character isn't centered in the image. True. Every frame of every animation will come with its own positional offset, so we can carefully tune how each frame lines up with the previous frame. So we don't absolutely have to position the character in any particular place in the image. However, the fighting game will treat each fighter as a dot on the floor from which art and hit boxes grow. So for simplicity's sake I propose we center the character on the bottom of the image, as a convention.

Whew! What a diatribe. :) Any questions/issues?
A former member
Post #: 6
Okay, here it is, the last day of July. I haven't seen any real work on the fighting game project, aside from Matt's AVI-to-PNG conversion.

Is the data hard to get to? I can pack all the raw frames into a single ZIP file and host it off my website, if that's what it takes.

Are the instructions unclear?

What can I do to help you contribute time to this project?
Matt P.
Cleveland, OH
Post #: 53
What can I do to help you contribute time to this project?

Loan me about 100k so I can quit my day job and pay off my bills? ;) Actually, between my day job, prepping for the Workshop and some side work I have been completely swamped. Got to pay the bills. :)

Not trying to be a downer but I think we could significantly speed up the process if we reshot with a green screen. I tried automating the process of removing the background from the individual frames but it just wasn't working. To me it seems a little daunting when you look at the scale of the manual work and not having formal timelines / assignments.

I'm a stickler for process though. biggrin
A former member
Post #: 13
I requested access but never got a response. I'm in the dark as to where this project is at and who's in it.
A former member
Post #: 7
>>I have been completely swamped. Got to pay the bills. :)

No problem, Matt. We all understand being too busy. And you were the one who broke down the original AVIs.

>>Not trying to be a downer but I think we could significantly speed up the process
>>if we reshot with a green screen. I tried automating the process of removing the
>>background from the individual frames but it just wasn't working. To me it seems
>>a little daunting when you look at the scale of the manual work and not having
>>formal timelines / assignments.

I agree we could and we will make the task easier by using a better filming process in the future. BUT.

I've worked at a big hollywood FX house (Digital Domain) where they had the best greenscreens and cameras possible, and they STILL had to fix individual pixels of individual frames by hand. The truth is, post-processing video is just hard. You're thinking like a programmer; surely there's a cool algorithm to remove the background and make everything pretty, right? Not in my experience.

This is exactly what I was talking about at the last meeting. I never made a rotoscoped 2D fighter precisely because it's time-consuming fiddly work to post-process all those animation frames. Somebody's got to do it, though, and I'm not just talking about scrubbing pixels. I'm also talking about frame offsets, hit boxes, animation transition, damage points, ALL the fiddly data that goes into making a fighting game work. It's one thing to write the program (which I've already volunteered to do). It's another to wrangle all the time-consuming and sometimes mindless data. That's where distributing the work across a team would help.

I understand we all have day jobs and kids. But to make the game, we have to collectively find the time.

A former member
Post #: 14
Is this what the fighting game will be like? This is an old arcade fighting game.
Pit Fighter

Personally, this will look ugly. Can't we highlight different joints on the figures in the frames and do some sort of inverse kinematic? Do the fighter even have to be photo realistic looking? They can be stylized art or something.
Powered by mvnForum

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy