How to record frame data

KoshTheKoala

[09] Warrior
What you need:

720p TV. Anything less outputs at 30 fps, not 60. CRT preferred, but not required.

Camera capable of 60 fps video recording. Many cheap Canon point-and-shoots can do this, it's the "fast frame rate" video option.

Tripod.

Step 1:
Set up tripod and camera such that the camera has a good view of the screen and enough space in-frame to see your controller. Make sure the contrast and brightness on the screen are good, you want to see what's happening.

Step 2:
Start recording.

Step 3:
To execute a move, lift your finger up at least an inch above the button, then press down on it as fast as you can while trying to keep the controller always in-frame. Repeat for all moves whose impact data you wish to find. Keeping a good system for keeping track of what moves you're doing without using audio would be advisable. You could, for example, write out a script. It's also recommended to do each move twice and reset the training between each move (on PS3, it's the R3 button).

Step 4:
Load the movies onto your computer using a USB cable, dock or memory card. Copy the movies onto your actual hard drive, don't just view them dynamically from the camera. Open the movies in either quicktime, media player classic, virtual dub, or premiere. I prefer virtual dub personally.

Step 5:
To find the frame data, move forward by pressing the right arrow (in mpc or vd) frame-by-frame until the moment your finger is on the attack button and no longer moving (no motion blur). Then count frames until you see the first indication of a hit... usually a damage number if you're in training. Turning on counter-hit in the training options makes this portion easier because as soon as you hit, a notification on the top of the screen appears that's unobstructed by the explosions of combat.

Step 6:
If you have a CRT, skip this step. If you have an LCD (and maybe plasma and projection), you have to figure out how much lag you have. Do this by finding established frame data (such as Taki's i9 A) and recording it. Subtract the established frame data from the number of frames you counted to find the lag. This number should coincide with the number of frames it takes after pressing the button to seeing your character move. You should subtract this number from all your impact frame tests. You should also perform multiple tests whenever possible.

Step 7:
Now that you have all your impact data, share it! The next few steps do not require a camera setup, just two people playing SC4. Thus, if you share impact data, others can do the rest of the work for you.

Step 8:
Find advantage on hit/counter/block by using characters whose impact frames are known and trying to attack. For example, if you wanted to test the advantage frames on Taki's K attack, you could make the training opponent also Taki. Having another player at the controls also helps. You'd hit K then both players would buffer an A (as KA isn't a Taki string, this works). Whoever hits first lets you know who has the advantage. If they clash, it's neutral. However, this example isn't actually that great because A is the 2nd fastest move in the game. You want to use a move that's around i16 or 17 to start testing with so it's easy to go faster and slower to find advantage/disadvantage.

Step 9:
After you find out who has the advantage, you could either use slower moves for the person with advantage or faster moves for the person at disadvantage in order to find out exactly how many frames there are. Repeat for all moves for hit, counter hit and block. When you change moves, make sure you take into account things like horizontals vs verticals, tech crouching, while rising, etc.

Step 10:
POST YOUR RESULTS ONLINE. Don't be a dick and keep them to yourself.
 
Interesting way of doing it. I always did step 8 and 9 to find my data, as I don't have the equipment. It's amazing what you can figure out with a little bit of math.

Amy's Frame Data
Far from done, but it's a start.
 
err... you dont need a camera at all. math and a little logic can figure out what all of the moves impact at. not to mention using a camera leaves A LOT of room for error.

throws are i17, and most of raphs data is done and posted, so just find what trades with what if you want to figure out data for your char.
 
err... you dont need a camera at all. math and a little logic can figure out what all of the moves impact at. not to mention using a camera leaves A LOT of room for error.

throws are i17, and most of raphs data is done and posted, so just find what trades with what if you want to figure out data for your char.

Cameras don't leave A LOT of room for error. You're recording 1 frame for every 1 frame of the screen. At most, 1 frame of error.

Math and logic really can't figure out what moves impact at unless the impact and advantage numbers are roughly evenly distributed. If Namco decided to do something like, say, make no attacks in the entire game hit at i14, you'd never know using just logic.

Anyway, you need to start somewhere. Raphs data may be posted, but many characters have nothing at all.
 
SC4, like most fighting games, runs at 60 frames per second.

All attacks have 4 general pieces of information based on their speed:
Impact frames, or how many frames it takes from pressing the button to hitting your opponent, designated by i##.
Hit stun, or how many frames advantage/disadvantage you get after hitting someone.
Counter hit stun.
Block stun.

There's other useful information about an attack, such as damage, high/mid/low/sl, tracking, the area the attack covers (like how much horizontal coverage and/or which side the attack comes from), if the move tech decks or tech jumps, if it causes a type of stun, if it guard crushes, if it's an attack throw, if it's unblockable, and there's probably more too.


This helps you because it lets you know which moves attack faster and which are slower. The other data lets you know which moves are relatively safe, which are punishable, and which are frame traps.

Basically, it lets you know which moves are good and which aren't by using raw numbers, not just by feel.
 
I can tell you from my work on frame data for sc2, that it is not easy by any means. The method you have listed will work well to tell you 'impact' frames, but you are forgetting something. Every move has a hit duration, a length of frames when the attack will be active. In order to find out hit duration, you have to be pretty creative. And, seeing as how this version of sc does not include a frame by frame option, i'm not really sure how you would figure it out. Because of hit duration, the frame data is going to change for moves based on when(during the active frames) that they hit for advantage and disadvantage on hit or block.

This is something that players often experience when otherwise guaranteed retaliation is blocked or avoided. It also makes spacing crucial for the slower characters, allowing them to limit their disadvantage if the move hits, or is blocked at the correct frame.
 
Using a camera that shows 1 frame of error is still an error.. using the method we've used for years takes another sort of work, but is more accurate, it's math after all. I guess it's cool if nobody's showing your character any attention for frame data though...


-Manta-
 
The method you've used for years requires accurate frame data acquired from either a camera or someone with far more expensive hardware. You need a starting point too.
 
What do you do when the framerate isn't 60fps? There is after all, no such thing as a consistant framerate. Even if the engine is capped to never output more than 60, and the gpu is more than powerful enough for the rendering, it will still easily fluctuate at least a couple of frames when the limited engine bugs out deciding which frames to drop.

I know it sounds like I'm being picky, but I'm mainly a PC gamer, and I'm a computer science student, so all this talk of a game "running at 60fps" has me rather baffled.
 
What do you do when the framerate isn't 60fps? There is after all, no such thing as a consistant framerate. Even if the engine is capped to never output more than 60, and the gpu is more than powerful enough for the rendering, it will still easily fluctuate at least a couple of frames when the limited engine bugs out deciding which frames to drop.

I know it sounds like I'm being picky, but I'm mainly a PC gamer, and I'm a computer science student, so all this talk of a game "running at 60fps" has me rather baffled.

I'm a PC gamer and CS student too. The game runs usually between 59 and 60 FPS, never any more. It sometimes drops far lower than 20 FPS on the PS3 actually.

That's why you repeat tests over and over.
 
That's what I thought.

I wonder what the files are like on the disc... must be easier to just rip them to a pc and try to decompile the appropriate files?
 
That's what I thought.

I wonder what the files are like on the disc... must be easier to just rip them to a pc and try to decompile the appropriate files?

Not when it requires a blu-ray drive to read. Maybe with the 360 version it's possible. Maybe.
 
Kosh is right that you need a starting point. Once you know for sure some bit of data, THEN you can start testing everything else without need of a recording device.

How did you people find out that throws are i17? There would be no way to test this without this high speed recording method first. You can't simply extrapolate from previous games because there's no guarantee that ANYTHING from them has stayed the same.

I haven't really bothered much with frame data for this game because there's 5 or 6 people trying to pull data and everyone's getting slightly different results. ALL that really matters is that we have ONE standard set of data all acquired by ONE person's method. Once we start throwing different data from different people together based on one person being more "right" than another we start to see the discrepancies.
 
I heard that for some games like DOA the developers give away their frame data freely. I wonder if the Project Soul team has done the same on some Japanese website perhaps? I don't speak Japanese so I have no idea how to even search and see if this information is already out there, but it sounds funny that for such a competitive game the developers would choose to keep this information a secret.
 
I heard that for some games like DOA the developers give away their frame data freely. I wonder if the Project Soul team has done the same on some Japanese website perhaps? I don't speak Japanese so I have no idea how to even search and see if this information is already out there, but it sounds funny that for such a competitive game the developers would choose to keep this information a secret.

I agree. Fostering continued competition is good for business. RELEASE THOSE DAMN NUMBERS, NAMCO!!
 
Math and logic really can't figure out what moves impact at unless the impact and advantage numbers are roughly evenly distributed. If Namco decided to do something like, say, make no attacks in the entire game hit at i14, you'd never know using just logic.
*sigh*

how i did it with raph:
after a blocked B, B will trade with 3A
after a blocked B, 3A will trade with 8K
after a blocked B, 8K will trade with 8B
after a blocked BB, B will trade with 8B
BB on block then must be some multiple of 3
(B on block * 3 = BB on block)

after a blocked K, 3A will trade with 4B
after a blocked K, 4B will trade with 8K
so B on block must be a multiple of 2
and if B on block is a multiple of 2 then BB must be as well
(K on block * 2 = B on block; K on block * 6 = BB on block)

so BB is either GD -6, -12, or -18. anything larger (-24 and up) is illogical.

now find the slowest move that can punish BB - hildes 6A+K will work. her 6A+K is a very fast move, but definitely not the fastest (takis 2bA is significantly faster), so its a fair assumption that BB is GD -12.

now you can base all other moves off of hildes 6A+K being i12, and after you gather a ton more data youll find more evidence to prove this.

more crap w/ raph:
after A+B hits (with both attacks) B will trade with 3K
after A+B hits (with both attacks) 1B will trade with B
after a blocked K, 3K will trade with 1B
which means that K on block must be a multiple of 2
which means that B on block must be a multiple of 4
which means that BB on block must be a multiple of 12

and whether hildes 6A+K is i12 or i24 can be checked with a freaking stopwatch.



and now that nearly all of raphs data has been worked out, if you want to work out another chars impact data then just find what trades with what after a move that leaves both sides neutral (raphs B is NH 0).



no camera necessary, ever, and theres NO room for error (unless you just suck at pressing buttons)
 
Back