Post subject: Multi-player TAS howto
Player (67)
Joined: 4/19/2014
Posts: 16
Hi there, We've been stalled recently on our work on Saturn Bomberman (with Bizhawk) because of the need to control 2 characters at the same time. We have a hard time controlling both at once, and in some cases it's made nearly impossible by the fact that our keyboards don't register more than 6 inputs at once. Is there any solution in general other than using two keyboards ?
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3581)
Joined: 11/3/2004
Posts: 4736
Location: Tennessee
You have a number of options in BizHawk: 1) Autohold Go to config -> hotkeys, and map the autohold hotkey then hold that key and press one of the keys mapped to a controller button. That button will now be "sticky". Use this to free up repetitive buttons (such as the directional arrow you hold for many frames at once) and help get over your keyboard limitations. 2) Virtualpads Go to tools -> Virtualpads Then is essentially a graphical interface for the autohold feature, except you can also use it for 1 frame "clicks" and a variety of UI such as analog 3) Multitracking Go to config -> hotkeys -> movie tab Map all the Multitrack/MT hotkeys. Then toggle multitrack on, and select player 1 and create a savestate, tas a segment using the first player only. Then do the "Increment player" hotkey and load that state, now you will be recording player 2 while the movie is playing back the input of player 1. 4) Lua Scripts Lua script can press input programmatically, you can use some creative scripts to automate some input to free up your fingers 5) A better keyboard They are a bit pricey, but you can get a "Gamer's keyboard" for about 70USD that allows unlimited keys to be pressed at once. Obviously this option costs money as opposed to the other options :)
It's hard to look this good. My TAS projects
Active player (265)
Joined: 7/14/2014
Posts: 57
Location: Kansas City, MO
You could also grab a cheap USB gamepad (or two). They make for a pretty quick and easy way to assemble your inputs, especially if you have another set of hands at your disposal. If not, the virtual pad definitely helps. I've been using two of the equivalent of this (from ~8 years ago) to handle 2P SNES duty in BizHawk. If you want something a little closer to the saturn/genesis 6 button layout, the Xbox360 MadCatz Fightpad or similar might work.
Current Project: Pocky & Rocky (SNES) improvements Status: Stage 2 - fighting the octopus Frames improved so far: 577
Player (67)
Joined: 4/19/2014
Posts: 16
Thanks for the advice ! After some more struggle, I think the option I would prefer to use would be multitracking, but I'm having problems with it... I tried the procedure you gave adelikat (and every slight variation I could think of), but it doesn't end up doing what I would like : when I switch to player 2 after recording the first track, instead of replaying the inputs I entered it just keeps the last keys I used pressed (for instance if I went left then up, when I switch tracks it just presses up all the time). Am I doing something wrong ? On a somewhat unrelated note, is it a common thing for multiplayer games to only have one subpixel counter for multiple characters ? I'm still pretty baffled, and I'm afraid it's going to make multitrack recording challenging even if I get it to work...
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3581)
Joined: 11/3/2004
Posts: 4736
Location: Tennessee
Are you trying in the freshly released 1.7.4? Looks like I busted it :/ 1.7.3 works, but I wouldn't recommend using it for TASing. Oh well, it is a pretty cool feature, I'll try to get it working for the next release. I've never seen a game that shares subpixels among 2 players, I'm skeptical that's what's going on. However, that and other factors will make multitracking difficult. For instance, in a beat em up, you go beat up a guy with player 1, then you track player 2 to move to another guy, but in doing so, the first enemy moves two, and now player 1 is swatting at air.
It's hard to look this good. My TAS projects
Player (67)
Joined: 4/19/2014
Posts: 16
I had this problem using 1.7.3 . I also went back to 1.6.1 to try and the same thing happened. I guess something is probably wrong on my end then, but I really can't figure out what (yet). Actually getting a different randomness when changing the player 2 track is exactly what I would like here : the only way to affect the next layout level seems to be changing the behaviour of the enemies (which react to player position), so hopefully using multitracking I could record player 1 rushing to the exit and then just tweak player 2's route to manipulate RNG...