Compiling Frame Data


#1

Considering working on a project for a fighter I’ve been infatuated with
as of late which involves compiling complete frame data. I understand
how frame data is used an applied for the most part but how the data is
gathered to begin with is what I haven’t fully grasped yet.<br><br>By
using frame-by-frame advancing tools, I can record, what I consider to
be the most basic of frame data compilation, the start up of "striking"
attacks (not too sure how to go about normal and command throws though).
However, I’m not really sure what I should be looking for or at exactly
when it comes to the subjects of: Duration, Active Frames, Frame
Advantage/Disadvantage, and Recovery.<br><br><b>Startup</b><br>This is fairly
simple to examine: Observe the character’s neutral animation, execute
attack, advance frame by frame until hit spark (or some indicator of
contact) appears. The number between the neutral starting point and
where the connection/hit lies would be considered as startup. (I can’t
help but feel that there are some exceptions to this that I may be
overlooking though). <br><i>*Jump Startup</i><br><i>Not too sure how to
determine this. How does one go about finding when a character has
reached what would be considered the “airborne” state?</i><br><br><i>How is normal and command throw startup determined (especially in the case where throws start in 0F)</i><br><br><b>Total Duration</b><br>Total
time it takes for character to return to neutral position after
executing an attack. This one is kind of tricky for me as I’ve had
mentioned to me a few times that there are, in some cases, frames where a
character may seem to have returned to the neutral state but those
frames are in fact still part of the total duration.<br><br><i>How does one confirm when a character is absolutely and fully returned to the neutral state?</i><br><br><b>Active Frames</b><br>How long an attack remains in an attacking state. Fortunately, I have a hitbox viewer that displays active frames and I can easily just frame advance and count off but…<br><br><i>How would/should active frames be calculated without hitbox display tools?</i><br><br><b>Frame Advantage/Disadvantage</b><br>One of the easiest ways to determine frame advantage (usually guarded advantage) is to have the opponent block an attack and have both (usually mirrored) characters IMMEDIATELY JUMP upon recovery. The character leaving the ground first in that situation is considered to have advantage. However, since I’m compiling data, I’d like to have numbers to work with as reference.<br><br><i>How are +/- frames calculated and what factors should be considered when trying to determine the numerical value of frame advantage/disadvantage? Are there other methods of calculation aside from the “1F jump” method?</i><br><br><b>Recovery</b><br>How long a character takes a character to return to the neutral state after an attack has landed(?). Not really sure how to define this but the term seems to tie closely to duration and +/- frames. Maybe someone can elaborate on this before I can consider adding this to the data.<br><br>So basically, I need to know what are the best methods of use to calculate frame data with limited tools, what tools should I consider acquiring (if available) to make the process less of a headache, and whether or not there are any unconventional methods for compiling data out there that has been overlooked.<br>


#2

if its a modern game, 60fps video capture is a must. if its older and emulated then you have tools like frame advance and even lua scripting in the emus that can automate things for you. you’d be able to find memory addresses for blockstun duration and calculate many values you’re looking for


#3

does anyone actually get frame data this way? i thought any frame data out there is always from supplementary sources provided by the developers<br>


#4

<blockquote class=“Quote”>
<div class=“QuoteAuthor”><a href="/profile/4119/rogueyoshi">rogueyoshi</a> said:</div>
<div class=“QuoteText”><b> you’d be able to find memory addresses for blockstun duration and calculate many values you’re looking for</b></div>
</blockquote>

That’s actually kind of scary lol. Will definitely look into this, thanks.<br><br><br><blockquote class=“Quote”>
<div class=“QuoteAuthor”><a href="/profile/4119/rogueyoshi">rogueyoshi</a> said:</div>
<div class=“QuoteText”>if its a modern game, 60fps video capture is a must. <br></div>
</blockquote>

The game is actually Breakers Revenge (if you haven’t already figured that out), but lets assume it was a modern game I was working with. I’m assuming that the video capture provides a means for me to frame advance. If this is the case, I still need to know what exactly to look for in order to accurately calculate and compile data. As I mentioned in the OP, coming up with startup is the most “common sense” piece of info I can pick out but I’m not exactly sure what I should be examining when trying to collect data for the other aforementioned categories.<br><br>Any insight on this for future reference would be appreciated and thanks for the help thus far.<br>


#5

You don’t have to record for frame advance on breakers if you use Mame-rr or Fba-rr.


#6

<blockquote class=“Quote”>
<div class=“QuoteAuthor”><a href="/profile/17765/jedpossum">jedpossum</a> said:</div>
<div class=“QuoteText”>You don’t have to record for frame advance on breakers if you use Mame-rr or Fba-rr.</div>
</blockquote>

By “record” I meant the other definition (jot down, register for evaluative purposes). And it was likely I was going to step into the matrix with you on this question down the line but wanted to keep it in Breakers thread. Any info you have on the use of Mame-rr/Fba-rr to acquire frame data for any game in general would be cool though.<br><br><br><blockquote class=“Quote”>
<div class=“QuoteAuthor”><a href="/profile/4897/pherai">pherai</a> said:</div>
<div class=“QuoteText”>does anyone actually get frame data this way? i thought any frame data out there is always from supplementary sources provided by the developers<br></div>
</blockquote>

“Back in the day” there were instances where frame data was compiled in this manner. And iirc the recent sfxt 2013 frame data floating around was compiled utilizing some of the “traditional” techniques. But yeah, more commonly now though, devs provide data for their games at some point after a release.<br><br>Still, I’m interested in how data is/was compiled using the older, unconventional methods. I’m thinking about doing TMNT:TF frame data somewhere down the line as well and I don’t think there are as many convenient tools available to assist with the process for that.<br>


#7

<font face=“Arial, Verdana” size=“2”><span style=“line-height: normal;”>Back in the day, mook companies were luck to get the data especially from Capcom. Which was usually just start up, active, and recovery frames.</span></font><div style=“font-family: Arial, Verdana; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;”><br></div><div style=“font-family: Arial, Verdana; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;”>My favorite is getting access to the editors.</div><div style=“font-family: Arial, Verdana; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;”><img src=“http://i.imgur.com/Auo5r.png”><br></div><div><font face=“Arial, Verdana” size=“2”><span style=“line-height: normal;”>http://www.youtube.com/watch?v=xZxSNbgdMJI</span></font><br></div><div style=“font-family: Arial, Verdana; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;”><br></div><div style=“font-family: Arial, Verdana; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;”>Off topic: It’s funny when I’m messing with frame data a thread like this always happens.</div>


#8

<font face=“Arial, Verdana” size=“2”><span style=“line-height: normal;”>If it’s a game which will run in Mame-RR or FBA-RR, there’s a great guide at</span></font><div style=“font-family: Arial, Verdana; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;”><br></div><div><font face=“Arial, Verdana” size=“2”><span style=“line-height: normal;”>http://code.google.com/p/macrolua/wiki/FrameDataExamples</span></font><br></div><div><font face=“Arial, Verdana” size=“2”><span style=“line-height: normal;”><br></span></font></div><div><font face=“Arial, Verdana” size=“2”><span style=“line-height: normal;”>A lot of the techniques can be applied anyway though.</span></font></div>