• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

AP:M - Controller Input Display Project

$heen

Smash Ace
Joined
Oct 4, 2008
Messages
546
Location
SLO/Millbrae, CA
I have reconstructed replay data into a readable output that can be viewed alongside the playback of the replay.

pilot video:
http://www.youtube.com/watch?v=d4VZs1y0guk

AP:M stands for APM P:M. The goal of this project is to provide insight to the amount of techskill that goes into certain playstyles and techniques.

The inputs were extracted from the replay file with the wifi codeset. All the processing, analysis, graphics, and video rendering were done in Matlab (because I don't actually know how to program).

more videos to come...

resources:
http://code.google.com/p/vgce/wiki/smashContent
http://www.smashboards.com/threads/...-need-to-crack-em.142971/page-21#post-5490028
 

ItalianStallion

Smash Journeyman
Joined
Jan 2, 2011
Messages
380
Location
Springville, CA
That's pretty neat! I like this kind of stuff to show people that you're trying to recruit. Part of the fun of learning Melee/P.M. is getting your fingers to do marvelous things. ;)
 

Mithost

Smash Ace
Joined
Apr 22, 2011
Messages
690
Location
Locked in a safe floating in the Atlantic Ocean.
Once you get everything stable, you should try and code in somethings like a grab indicator (when the game sees R+A or Z on the same frame), better, clearer visuals, a button log (Street Fighter Style :D), and maybe even somethings that the controls assume happen like wavedashing (when someone shorthop>fastfall>airdodge downright/downleft in a certain amount of time, the word "wavedash" would appear somewhere on the screen). I can see some good things coming from this little tool, even a place in tournament videos (assuming the wi-fi codeset would be used for replays).
 

9bit_alt

Banned via Warnings
Joined
Jan 31, 2013
Messages
108
Location
Elgin, IL
Hopefully we'll be able to get analog triggers registered in replay data someday so we can have inputs alongside our Youtube videos.
Being conservative, I was able to count 44 inputs by that Fox in the 6-seconds of time he was doing his thing (just for the kill). That's 7.33 (repeating of course) inputs per second. Measured in minutes: 440 inputs per minute. I don't know how they measure APM in Starcraft or something, like if a Wavedash would be considered one "action" when it's 3 inputs, but whatev.

Melee is fast.

As for this project, I'd love to see something like they have in traditional fighting games, where the inputs scroll along the bottom. Yeah a button log like Mithost said.
 

Rarik

Smash Journeyman
Joined
Feb 20, 2013
Messages
206
Location
Boston
Starcraft would measure a Wavedash as 2 actions (jump + air dodge).

Edit: SC2 APM works by counting every action that selects something, builds something, or commands a unit in some way. So, if you press A for attack move, it doesn't count it as an action until you click where you want to attack move to. To relate this to Smash bros, an air dodge (while two inputs) is only one action by SC2 standards as your character is only doing one thing (air dodging), the same would go for any action that requires the analog + button, or multiple buttons, such as tilts, smashes, etc. Jump canceling (and most other canceling) would count as two actions as the jump action was started, but was interrupted by another action.
 

Mr.Jackpot

Smash Lord
Joined
Mar 30, 2011
Messages
1,727
Location
WA
Starcraft would measure a Wavedash as 2 actions (jump + air dodge).

Edit: SC2 APM works by counting every action that selects something, builds something, or commands a unit in some way. So, if you press A for attack move, it doesn't count it as an action until you click where you want to attack move to. To relate this to Smash bros, an air dodge (while two inputs) is only one action by SC2 standards as your character is only doing one thing (air dodging), the same would go for any action that requires the analog + button, or multiple buttons, such as tilts, smashes, etc. Jump canceling (and most other canceling) would count as two actions as the jump action was started, but was interrupted by another action.

We're not Starcraft players and direction inputs do more than move the camera or cursor so they're fair, just like how SF4 replays does it.
 

drsusredfish

Smash Ace
Joined
Mar 11, 2008
Messages
859
Location
North Carolina
so how would this work/look showing multiple players inputs? Would you choose to only show one player at a time or would all player buttons be shown? The interface is going to be interesting with 4 players going at it.
 

Darkgun

Smash Journeyman
Joined
Apr 1, 2013
Messages
215
Location
Nowhere Land, Tx
A friend of mine and I (he a long time Quake-style FPS player who enjoys examining inputs during play) had a conversation about how useful (not to mention flipping awesome) this kind of feature would be. I so hope this sees some excellent progress here in the future.

Also, a suggestion for displaying inputs. Since joystick input is analog, one could use the SF4 style input ticker in combination with a constant display of the direction input, perhaps a line in a circle for example. Upon entering a button input, such as B, a snapshot of the input from the joystick is taken and displayed next to the button shown in the ticker. Additionally, one could show how long a button his held (Link's bow; a smash; etc) with a bar next to the button who's size is dependent upon how long the button is held. Maybe I should make a mock up image or somesuch.
 

$heen

Smash Ace
Joined
Oct 4, 2008
Messages
546
Location
SLO/Millbrae, CA
I think the scrolling inputs aren't as relevant in melee/PM because combos aren't just predetermined attack sequences (unless you're Lucario I suppose). If I were to ever get around to making that, Darkgun's method would be the most logical. You also have to consider that at melee's speeds, with wavedashing, dashdancing, and shffling, the inputs would flow off the screen really fast. On top of that, screen space will become a lot more scarce with multiple players. Besides, I have something much more epic in mind.

Some changes I'm planning on implementing
-add z/c stick/d pad
-separate APM meters for control stick and buttons
-divide the control stick into 8 regions instead of 16 for APM calculation [the 1/16th precision really only matters for airdodging and aiming certain up Bs (Fox/Ness/Lucario etc)]
-add a flash or some GFX for the first frame a button is pressed
-properly synchronize audio

And yes, I can analyze multiple controllers, but currently the challenge is finding a layout that can efficiently show both controllers simultaneously without being clustered and also fit to one of youtube's standard video sizes. If you guys come up with any feasible designs, I'm open to suggestions.
 

Rarik

Smash Journeyman
Joined
Feb 20, 2013
Messages
206
Location
Boston
We're not Starcraft players and direction inputs do more than move the camera or cursor so they're fair, just like how SF4 replays does it.
Yeah, I agree that measuring every input makes more sense for Smash for the reason you said. I was just showing how Starcraft would measure APM in Smash as that's by far the most well known game that measures APM. Also indirectly pointed out that the APM you see in the video isn't the same as Starcraft's APM, and the video's is actually inputs per minute.
 

xXSciophobiaXx

Smash Apprentice
Joined
Jul 9, 2008
Messages
131
I think that you should just measure inputs. Because when tilting the stick before pressing R to perform an air dodge, you are affecting your character's movement ingame (albiet very subtly). Thus i feel it would make more sense to just measure every input. Anyway, this is very cool. It can also be very helpful for learning something like b-sticking or wavebouncing specials (or whatever you call it).
 

MVP

Smash Ace
Joined
Aug 24, 2012
Messages
641
see, i think this thread is awesome. cause the guy in the video wasn't even doing that much and the APM was pretty high. if you put a techskill specialist in there, we're gunna see some major numbers being pulled
 

SpiderMad

Smash Master
Joined
May 6, 2012
Messages
4,968
Sheen are you BIRD in the P:M IRC? If not, you accomplished what he was trying to do. Does this mean you also cracked the encryption of replays to be able to do this? Meaning you could also change the tags of people in replays now or what have you as well?

Do a slow-mo of a wavebounce for like Charizard's side-b or w/e
 

Mr.Jackpot

Smash Lord
Joined
Mar 30, 2011
Messages
1,727
Location
WA
Sheen are you BIRD in the P:M IRC? If not, you accomplished what he was trying to do. Does this mean you also cracked the encryption of replays to be able to do this? Meaning you could also change the tags of people in replays now or what have you as well?

Do a slow-mo of a wavebounce for like Charizard's side-b or w/e

The documentation for replay data has apparently been out there for years now. Look at the first post.
 

breez

Smash Ace
Joined
Feb 27, 2009
Messages
773
Location
Vancouver, BC
Holy **** dude, AWESOME!

I've been bouncing around the idea to do something like this for a few months, but just haven't had the time recently.

I was also thinking that an EXCELLENT tool would be to display button inputs onscreen, kind of link in street-fighter. It can definitely help hone in on technical mistakes! Do you have any idea if this would be similar to your code?

Again, awesome job mang
 

Phaiyte

Smash Ace
Joined
Jul 6, 2010
Messages
932
Being conservative, I was able to count 44 inputs by that Fox in the 6-seconds of time he was doing his thing (just for the kill). That's 7.33 (repeating of course) inputs per second. Measured in minutes: 440 inputs per minute. I don't know how they measure APM in Starcraft or something, like if a Wavedash would be considered one "action" when it's 3 inputs, but whatev.

Melee is fast.

As for this project, I'd love to see something like they have in traditional fighting games, where the inputs scroll along the bottom. Yeah a button log like Mithost said.
In Starcraft a common number is about 60-70, but those actions are spread out across a huge map, whereas these are only controlling a single character with every single button way easier to press faster(necessary actions) in general.
 

Yomi-no-Kuni

Smash Lord
Joined
Sep 2, 2007
Messages
1,016
Location
Freiburg germany
Awesome stuff, this would be so helpfull for learning and having these effects in/for P:M :)

however, i'm wondering how your program reads the APM. sometime it reached 700 or something, which is alot even if you measure every buttonpress I believe. Your program showed every position of the Control-Stick. Did pressing right on the control stick count as more than one action?
 

DarkStarStorm

Smash Ace
Joined
Nov 29, 2013
Messages
888
Location
PNF-404
3DS FC
0318-7018-5269
I have reconstructed replay data into a readable output that can be viewed alongside the playback of the replay.

pilot video:
http://www.youtube.com/watch?v=d4VZs1y0guk

AP:M stands for APM P:M. The goal of this project is to provide insight to the amount of techskill that goes into certain playstyles and techniques.

The inputs were extracted from the replay file with the wifi codeset. All the processing, analysis, graphics, and video rendering were done in Matlab (because I don't actually know how to program).

more videos to come...

resources:
http://code.google.com/p/vgce/wiki/smashContent
http://www.smashboards.com/threads/...-need-to-crack-em.142971/page-21#post-5490028
How do I do this for my YouTube channel? I need to be able to show button inputs on screen via some sort of mod while I record videos. How can I do this? I've Googled it so many times and have found nothing, yet I know it's possible.
I need it before I can resurrect my channel: https://www.youtube.com/user/dssdarkstarstorm

I discovered the Zelda Tech: Diamond Diving.
 

Fortress

Smash Master
Joined
Oct 2, 2013
Messages
3,097
Location
Kalispell, MT
And yes, I can analyze multiple controllers, but currently the challenge is finding a layout that can efficiently show both controllers simultaneously without being clustered and also fit to one of youtube's standard video sizes. If you guys come up with any feasible designs, I'm open to suggestions.
Maybe one display on either side of the main video, and just shrink the main video, and somewhat shrink the controller displays.
 

$heen

Smash Ace
Joined
Oct 4, 2008
Messages
546
Location
SLO/Millbrae, CA
lol the necroposts.

This was all done in post processing only by reading the replay data. Most of the controller input displays you see are done on an emulator so you can have another program running in the background to create a visual of the inputs from your USB controller.

I'll probably finish this project some day, but I've been busy working on 3.5 lately.
 

DarkStarStorm

Smash Ace
Joined
Nov 29, 2013
Messages
888
Location
PNF-404
3DS FC
0318-7018-5269
lol the necroposts.

This was all done in post processing only by reading the replay data. Most of the controller input displays you see are done on an emulator so you can have another program running in the background to create a visual of the inputs from your USB controller.

I'll probably finish this project some day, but I've been busy working on 3.5 lately.
But what program? What can I have running in the backround to create a visual of the inputs from my controller? How can I interlace it into the emulation so that Fraps will pick it up?
 

Strong Badam

Super Elite
Administrator
Premium
BRoomer
Joined
Feb 27, 2008
Messages
26,564
But what program? What can I have running in the backround to create a visual of the inputs from my controller? How can I interlace it into the emulation so that Fraps will pick it up?
You might be thinking of this: https://www.youtube.com/watch?v=VxKYoBTWcAE
The controller is plugged into a Y-splitter type deal, where it goes to both the console and the computer for real-time input display. It likely causes a small amount of input lag as a result.
 

DarkStarStorm

Smash Ace
Joined
Nov 29, 2013
Messages
888
Location
PNF-404
3DS FC
0318-7018-5269
You might be thinking of this: https://www.youtube.com/watch?v=VxKYoBTWcAE
The controller is plugged into a Y-splitter type deal, where it goes to both the console and the computer for real-time input display. It likely causes a small amount of input lag as a result.
Do you have any idea how I would be able to get such a thing?

(thank you for replying by the way)
 
Last edited:
Top Bottom