Username:
B
I
U
S
"
url
img
#
code
sup
sub
font
size
color
smiley
embarassed
thumbsup
happy
Huh?
Angry
Roll Eyes
Undecided
Lips Sealed
Kiss
Cry
Grin
Wink
Tongue
Shocked
Cheesy
Smiley
Sad
1 page
--
--
List results:
Search options:
Use \ before commas in usernames
I like this site name cause it's easy to remember.
I was watching the Banjo-Tooie run (specifically the Canary Mary part) when I started wondering if logging the keypresses a speedrunner makes would be a cool idea. I think it would because of these advantages:
- You could play it back on a console (with a utility) or an emulator.
- You could record at high / insane quality even if the speedrunner isn't good at recording or if the video gets damaged (or has bad sound / bad color / graphics artifacts).
- It would be easy to make a utility that would measure the length of a SS run (or of each segment of a run) quickly.
- If you played the run back, you'd have a finished / 100% game (and anyone could then play around with the game without having to complete it).
- It would be possible to check if a turbo controller or another special tool was used (without having to guess or ask).
- People with emulators could download the keypress log to watch the run without having to get the size-intensive videos. (It could clear up server space!)

The only downside I can think of is that it wouldn't be hard to convert a TAS into this format, but if you submit a videotape and a keypress log together you can eliminate this problem.


So what I'm asking is this: Does anyone already have (and/or use?) a keypress logger? Would anyone use it if they had one? Would anyone accept/distribute a run in this format if it also came with the standard VHS tape? Would anyone download a run in this format?
Thread title:  
Edit history:
Trevor: 2006-01-11 12:13:41 am
there are random factors in runs that would render keypress logs driven to a console via controller port unreliable and therefore useless. you said that submitting a VHS recording along with the keypress log helps verify its authenticity. how would you prove that it isn't just a keypress playback?

it'd be nice but these sort of playback things will probably never make their way into serious speedrun organizations.

....which is why they'd still be cool to share and experiment with as something unofficial.
welcome to the machine
Calls to the rng would kill this.  Emulators can do it because they control the state of the system.  If you just jack something in between the controller and the controller port of the system, however, you'll fail.
Edit history:
qqwref: 2006-01-11 12:27:08 am
I like this site name cause it's easy to remember.
I suppose the feasability would depend on how the RNG works for the particular system. Maybe everything is determined on game start (and you can store the random seed). Maybe everything random is determined by timed key presses. Maybe everything depends on what time you start at, or how far your file is through. Maybe there's no randomness at all.

But remember that nothing is totally random. For example, a lot of simple computer RNGs run on the cpu time by the millisecond, so a human would never be able to detect that it isn't random. But if you simply store a bit more data (in this case, the exact time the keypress sequence starts), you can bypass that randomness.


how would you prove that it isn't just a keypress playback?

Good question, but if you can replay keypresses, how would you prove that someone hasn't made a within-human-reflexes TAS (no mistakes, then) and played it back as a SS run?  Shocked
m00
Quote:
- You could play it back on a console (with a utility) or an emulator.

a) no, because there are too many random factors with consoles. not just the RNG. Imagine the CD-drive spinning differently (or even having random read errors, wasting time on error correction), underclocking on a hot summer day, having problems reading a cartridge because it's dusted etc. Even if you input the same buttons with perfect timing, the resulting run will always differ a bit. With every real console.
b) no, because emulators don't get the timing right either. Wink



so, while the idea isn't new, it's still not possible. Wink
Edit history:
ReverendTed: 2006-01-11 03:56:34 am
How accurately do keyloggers usually record the time of a keypress, anyway?

Randomness issues aside, the program would theoretically have to record not only when a key was pressed, but for how long, as well, and also be able to manage multiple simultaneous keypresses.  And if this were a (non-emulated) console title (requiring some sort of hardware between the controller and the console?), it would also have to record the force with which the key was pressed.
I guess a more appropriate title would be an "input recorder", though it's a moot point with the random nature of things taken into account.

If such a device\program existed outside the realm of console emulators, I could see some limited utility in recording control "macros", where a shorter series of commands could be called when the outcome would not depend on any random instance.
(eg: "Stand on the center totem and face directly north, then activate the macro to complete the jumping puzzle.")
everybody wanna tell you the meaning of music
Quote:
it wouldn't be hard to convert a TAS into this format, but if you submit a videotape and a keypress log together you can eliminate this problem.

Can we get you an "understatement of the year" award? Smiley

And what somebody else said about the verification.
Edit history:
alexpenev: 2006-01-11 12:08:07 pm
So you're really asking for is a TAS with 0 saves? Not hard.. just force people to use an emulator that doesn't support rerecording or save states. You'd have to go to a fair bit of trouble to hex edit pieces together and bypass the rng to make a segmented movie that way (or recode parts of the emulator).
Even though emulators bypass the rng problems, for certain games, they often desynch for no apparerent reason. I can't imagine a console being any better. Even truer if you factor in  the analogue inaccuracies of consoles (if my joystick is slightly wonky and is centers 0.01 degrees off-middle when I turn it on, and I replay your joystick movements... expect trouble).
I like this site name cause it's easy to remember.
How accurately do keyloggers usually record the time of a keypress, anyway? Randomness issues aside, the program would theoretically have to record not only when a key was pressed, but for how long, as well, and also be able to manage multiple simultaneous keypresses.

As accurately as you make them, of course. It really depends on how the keypress logger works - you could either check each frame and see what keys are being pressed/held during that frame (like TAS emulators do) or you could record the start and end times of each button press.

And if this were a (non-emulated) console title (requiring some sort of hardware between the controller and the console?), it would also have to record the force with which the key was pressed.

Any button data that leaves the controller would be recorded.

So you're really asking for is a TAS with 0 saves? Not hard.. just force people to use an emulator that doesn't support rerecording or save states. You'd have to go to a fair bit of trouble to hex edit pieces together and bypass the rng to make a segmented movie that way (or recode parts of the emulator).

Well, not really... that's just no fun. My idea was to record the button presses of someone's speedrun while they're doing it, so you can play it back later to get a shorter filesize and better (?) quality.
>My idea was to record the button presses of someone's speedrun while they're doing it, so you can play it back later to get a shorter filesize and better (?) quality.

Exactly the job that most (good) emulators do! Kiss
I like this site name cause it's easy to remember.
But most speedrunners play on the console, and not on emulators.
everybody wanna tell you the meaning of music
Well, that's only for the whole proof issue. Running on emulator is certainly a lot more convenient, at least for older consoles, and I think more people would run on emulator if they were allowed. (I am NOT saying that they should be.) People who don't care about getting on a site like SDA or TG already do run on emulator, like McBain and many Japanese.