Post subject: Tasing games without an emulator?
Active player (293)
Joined: 12/16/2008
Posts: 458
Location: Houston
I got the idea when reading about this http://www.nearfuturelaboratory.com/2009/01/05/autonomous-game-controllers/ Basically they found a way to send commands through a PlayStation 2 controller and played Katamari Damacy with a random path algorithm. I don't think it's a big stretch to be able to playback a movement file that starts at power on. I would think this kind of thing could easily be done on a computer. Something like autohotkey that starts when you start the game and plays back a input movie. Obviously you wouldn't have save states or frame advance but someone determined could make a tas this way.
Skilled player (1827)
Joined: 4/20/2005
Posts: 2161
Location: Norrköping, Sweden
Yeah, this would be sweet. I've been thinking some about this too, in particular for a program that runs a sequence of keyboard inputs on a PC, as this would open up a door to everything from the latest PC games to Flash games. I'm not a programmer, but I don't think that it would be very hard to make a program that runs a given sequence of input at the press of a button (I'm thinking the way the macro input tool works for SNES9X). In the best case scenario, this program would be able to record mouse input too. :)
Chamale
He/Him
Player (182)
Joined: 10/20/2006
Posts: 1355
Location: Canada
Yes, it could be possible to make a little programmable box that you plug in by USB to a computer. Obviously, keyboard-mouse setups send electrical signals based on current input to a computer. Instead, this box would record input and replay in the form of electrical signals. The main problems I foresee are synchronization and TASing a modern game with slow-mo and savestates. However, some simple Flash games do come to mind which could be done easily in this way.
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Here's an example of another emulator-less TAS on a PS2. Made by Morimoto himself, if titles are to be believed. He used "SuperCommand Controller" to program a path between the bullet sprays, abusing all the blind spots on the way. Yeah, some people dodge that shit unassisted.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Joined: 7/2/2007
Posts: 3960
The big problem I see with TASing without an emulator is loading times. Load times will depend in part on the position of the disc/hard drive platter at the time the load starts (since the drive must first seek to the proper location on the disc/platter before it can start reading data), and that's more or less impossible to get to be consistent. I guess this is another reason why solid-state drives are superior to ones with moving parts. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Active player (293)
Joined: 12/16/2008
Posts: 458
Location: Houston
I figure you could play it on a Virtual machine to reduce hardware inconsistencies and possibly rng. Or you could just program your input playback program to ignore loading time so it could sync.
Joined: 5/2/2006
Posts: 1020
Location: Boulder, CO
The issue is that if the device delivering the input has no feedback from the device accepting it, there is no way to sync 100%. Even small amounts of lag from ether device would lead to a de-sync, and there is no real way to prevent it. The only reason synchronization can be achieved in any setting is that one unified program is reading the input, and making use of it. One solution could be if the input device could be attached to a mod chip in such a way that it could check the state of system RAM, it might be possible to figure something out that way, but as far as an independent device would go, my money would be on constant de-syncs.
Has never colored a dinosaur.
Editor, Expert player (2078)
Joined: 6/15/2005
Posts: 3282
There was a tool-assisted Guitar Hero 3 on XBox over a year ago: http://tasvideos.org/forum/viewtopic.php?t=6558 If we are only allowed to use macros, desyncs would be a very big problem. Only games without randomness like Guitar Hero 3 could be done (even then, the author had to run it multiple times before it would play all notes perfectly).
Active player (328)
Joined: 2/23/2005
Posts: 786
I like this idea, and I'm still waiting for somebody to spoof Wii Remotes using bluetooth.
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Twelvepack wrote:
but as far as an independent device would go, my money would be on constant de-syncs.
In regards to the vid I posted above, it was played on the PS2 version of DoDonPachi DaiOuJou, which is actually a very manipulable game. If you set the practice mode (which is how it was played) parameters in a certain way and keep using them to program the key input, it will likely not desync much enough to not let you record a complete video at least once.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
I see major problems in having a frame-perfect replay system which does not desync: 1) As mentioned, given that the game loads from a CD or DVD, the loading times are completely random (I bet loading can change from run to run by hundreds of frames, completely at random, depending on the state of the physical disk drive, buffers, etc). 2) If the game uses a RNG, it's highly likely that it uses the system's clock to seed it. This makes every run completely different, and there's no way you can affect the system clock with the controller only. (With an emulator this wouldn't be a problem because the emulator can always start the emulated "system clock" from the exact same point.) 3) If the game uses things like vsync, you once again have a source of randomness which is not controllable. It's likely the vsync is not synced to frame perfection with the CPU and other hardware of the machine. I bet a vsync could vary by several, if not even dozens of frames from run to run. A game like Guitar Hero is possible to be played programmatically because the game does not require frame perfection for 100% score, as there's a significant error tolerance.. It's enough for the playing script to be accurate enough for it to work. Even if it drifts by a few frames it doesn't matter with respect to the final score.
Joined: 5/2/2006
Posts: 1020
Location: Boulder, CO
And the frame drift will only get worse with movie length. A game like guitar hero is just about the easiest case for this with respect to sync, and if even that took multiple tries to achieve sync for only one song, I would not hold out much hope. Neat trick though.
Has never colored a dinosaur.