Post subject: Breakthrough on rerecording! (Plus a question for TASers)
Joined: 3/20/2009
Posts: 87
Hi, I recently got Dolphin to properly play back input movies, which for the longest time almost always desynced. It turns out that the Gamecube (and probably Wii) can poll the controller for button/joystick states multiple times per frame, which caused problems with the current method of recording input. However, before I submit a patch to fix this, I want the opinion from TASers: Should all input polls be recorded as separate sequences, or should just copy one input sequence for all the input polls during a frame be recorded? I'm not sure if the between-frame input polls are actually used and can be utilized in TASes, and if there can even be a way to manipulate them using TAS tools.
Joined: 7/2/2007
Posts: 3960
Well, what's the cost for recording each input poll separately? As far as I can tell it'd mainly just add a lot of redundancy to the movie file (which would be almost entirely obviated by compression). Whereas the cost for only recording input once per frame is that you risk making it impossible to do things that would be possible on the console by changing inputs between polls. My personal inclination would be to record input for each polling event, and then to accept compressed movie files (using zip or gzip or some other common compression scheme). Also, glad to hear that progress is being made in Dolphin! I'm looking forward to seeing some "next-gen" TASes. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Active player (437)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
Thank you Toad King for your report. If you don't mind, I delivered your report to skidau (a vested coder at dolphin) and who is a bit interested in fixing the tas problem with dolphin and he wanted to ask you this: (from irc) <@skid_au> can you answer for me? he needs to "all input polls be recorded as separate sequences" <@skid_au> so that every input is recorded <@skid_au> that way we know that the TAS will be the same in the replay
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Joined: 3/20/2009
Posts: 87
Thank you for the feedback. I've submitted a patch to the developers, and hopefully it'll get accepted. There are still some desync issues in the emulator core to work out before TASes will be possible, but I believe this is a good step forward.
Joined: 3/20/2009
Posts: 87
http://code.google.com/p/dolphin-emu/source/detail?r=6154 Dolphin now has usable rerecording support. There's still a lot of work required before any serious TAS can be attempted, but it has the very very basic features there, including rerecording and continuing a movie from a savestate.
Joined: 5/14/2007
Posts: 525
Location: Pisces-Cetus filament
Good job. I can't wait to see movies of certain GameCube games.
adelikat wrote:
Which TAS will spawn a 3rd generation of TASers? That answer lies in the next generation of consoles such as GameCube, Wii, and PS2.
I agree with that. It is nearer now thanks to you, Toad King.
AzumaK wrote: I swear my 1 year old daughter's favorite TASVideo is your R4MI run :3 xxNKxx wrote: ok thanks handsome feos :D Help improving TASVideos!
Active player (437)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
This is most excellent news :) Billiard (one of dolphin's expert when it comes to plugins) will most probably aid you/us soon. Some things needs first to get handled before he can assist you.
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Joined: 3/18/2006
Posts: 971
Location: Great Britain
someone build it so i can test i'm lazy
Player (146)
Joined: 7/16/2009
Posts: 686
antd wrote:
someone build it so i can test
Seconded.
antd wrote:
i'm lazy
Also seconded. Anyway, great news! Many, many, many GameCube games need TASes, and I'm definitely going to try doing a few as soon as it's TAS-ready.
Joined: 3/20/2009
Posts: 87
antd wrote:
someone build it so i can test i'm lazy
Latest builds can be found here Also, if you must make some TASes right now, try to make them for SSBM (USA) because I actually have that game so I can view them. :)
Joined: 3/18/2006
Posts: 971
Location: Great Britain
They changed the TAS features since I last used. edit: looks like you have to use pause (F10)
Joined: 3/20/2009
Posts: 87
antd wrote:
They changed the TAS features since I last used. edit: looks like you have to use pause (F10)
Yes, when you turn on frame stepping, the pause button turns into the step button.
Joined: 3/18/2006
Posts: 971
Location: Great Britain
Toad King ftw It worked and did not desync :D too bad there's no built-in avi recorder, since it plays so slowly. before i used to get 100+ fps dtm http://www.mediafire.com/?4rorrq7o5npctlo this game: ssbm.gcm CRC32: 873DDD72 MD5: 3A62F8D10FD210D4928AD37E3816E33C SHA-1: 5AB1553A941307BB949020FD582B68AABEBECB30
Joined: 3/20/2009
Posts: 87
antd wrote:
Toad King ftw It worked and did not desync :D too bad there's no built-in avi recorder, since it plays so slowly. before i used to get 100+ fps
The video plugins (at least the OpenGL and DirectX9 ones) have an option called "Frame Dumping" which makes a video-only recording of the gameplay in User/Dump/Frames. If you're not doing it from Windows, you have to set up a named pipe at User/Dump/Frames/framedump.raw to pipe it into something like mencoder or ffmpeg beforehand, but on Windows it opens up a codec selection dialog and saves it from there. EDIT: Also, did you make that recording with a memory card inserted? It's not syncing for me, and I think that's the reason. If you could upload that too, I can probably get it to play. EDIT2: My version also has different hashes, so it's possible we have different revisions of Melee, which might also be why it's desyncing.
Player (146)
Joined: 7/16/2009
Posts: 686
antd wrote:
too bad there's no built-in avi recorder, since it plays so slowly.
Once again I second you. I also miss this. I get that there are much more important features to work on, but this would allow us to share our work more easily (which adds that extra tidbit of enthusiasm). I'm not sure how hard it would be to implement, but considering the workaround I used when I made this, it'd be awesome to not-need that. And also there's really no way right now to properly record the audio. EDIT: Nevermind half this post, Toad King beat me to it. Nice to know about that function, but still a bummer as far as the audio is concerned.
Post subject: doctor mario 720p test video
Joined: 3/18/2006
Posts: 971
Location: Great Britain
try the dx9 plugin ssbm rerecording test: http://www.youtube.com/watch?v=Qy6iQjfZFhw Doctor Mario 720p test: http://www.youtube.com/watch?v=1g5EqukLYTY Ice Climbers 720p test: http://www.youtube.com/watch?v=QJP-zLbTG3Q
Editor, Expert player (2327)
Joined: 5/15/2007
Posts: 3927
Location: Germany
I'm also checking out Dolphin(r6201,32bit) now and SSBM(PAL) runs fine. I wasn't able to acquire the SSBM(U) ROM... Well, I have two questions now since I'm excited to finally be making my first TASes on this emulator. 1) How can I set things like frame advance or savestates? Figured it out myself. After selecting frame stepping in the menu, pause begins to work as frame advance. Savestate hotkeys are given but can't be changed >_< 2) What's the IRC channel of team Dolphin?
Active player (437)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
Go via efnet and join #dolphin-emu
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Editor, Expert player (2327)
Joined: 5/15/2007
Posts: 3927
Location: Germany
I'm having trouble to get this to work. The game runs fine but there is a problem with how frame advance works in Dolphin. I tried r6201 and r6154 so far and they behave the same. There is "pause" and it pauses the emulation or unpauses it. You can check "frame stepping" in the menu which essentially changes "pause" into "frame advance". Savestates can only be made individually and after you advance to the next frame (you can't save states while the emulation is paused, it seems). This is just another difference compared to our emulators that I wanted to mention. Here's the problem: Sometimes, for whatever reason, when using "frame advance", the emulation may be locked. This means the emulation can't be paused or unpaused, it just doesn't do anything! You can get the emulator listen to you if you minimize & maximize the window, but I'm getting the same problem after ~2 frames. If I disable "frame stepping", the game behaves normally and recognizes my input (if the emulation is unpaused). If the emulation is paused while "frame stepping" is disabled, you can unpause it. But if you make any input, the emulation is locked and doesn't listen to you anymore again. I was said to visit the Dolphin channel, but I doubt it would help much. So at best, I'd make a topic at their forum later.
Post subject: Re: Breakthrough on rerecording! (Plus a question for TASers)
Joined: 12/6/2008
Posts: 1193
Toad King wrote:
It turns out that the Gamecube (and probably Wii) can poll the controller for button/joystick states multiple times per frame
Hm that is interesting. I wonder how Wind Wakers zombie hover would behave with multiple B presses per frame. Could be that it works as good as with the action replay cheat or maybe it's still limited to turbo controller standarts. Could somebody test this? Sadly dolphin doesn't run on my crappy old computer, so I can't do it myself...
Post subject: Re: Breakthrough on rerecording! (Plus a question for TASers)
Joined: 3/20/2009
Posts: 87
Slowking wrote:
Toad King wrote:
It turns out that the Gamecube (and probably Wii) can poll the controller for button/joystick states multiple times per frame
Hm that is interesting. I wonder how Wind Wakers zombie hover would behave with multiple B presses per frame. Could be that it works as good as with the action replay cheat or maybe it's still limited to turbo controller standarts. Could somebody test this? Sadly dolphin doesn't run on my crappy old computer, so I can't do it myself...
Probably not, Just because the hardware can poll for input multiple times per frame (Dolphin does it 8 times per frame) doesn't mean the game actually uses these other inputs.
Joined: 12/6/2008
Posts: 1193
Well the game should be able to use these inputs or the action replay code wouldn't work. The only thing the code does is simulate rapidely pressing B.
Editor, Expert player (2327)
Joined: 5/15/2007
Posts: 3927
Location: Germany
I investigated the issue further and it seems that after loading a savestate, the emulation locks up after a few seconds. It doesn't matter if the emulation was paused or not. It happens on r43xx ~ r62xx and 2.0, but apparently other people don't have this problem. AMD Phenom(tm) II X4 925 Processor 2.80 GHz Windows 7, 32 bit ATI Radeon HD 5670 After loading a state, if I save a new state the lock-up doesn't occur. If I save a state and restart the emulator and load it, is is still likely to lock up the emulation, but it takes more time. If I replace the Dolphin folder and reboot my computer, there is a rare chance that the hanging issue doesn't occur at all (until the emulator's next crash or until I press "left", "down" or "right" (hangs the emulation if used in conjunction with frame stepping)). This is unconfirmed information though as the bug behaves randomly. I tried TASing knowing that saving a state can cure the hanging issue, but after loading a state, the emulator doesn't receive input for about ~50 frames! Also, if I load a state&save a new one before a target test level or HRC, the countdown and timer behaves differently. It may go 0.10, 0.3, 0.0 or it may go 0.10, 0.6, 0.0. May be related to SSBM(PAL) but it certainly makes TASing impossible for me, with and without savestates. At best, I can TAS without rewinding but it leads to results that look worse than human playing. I wonder how AJP made his AR TASes... Here is a vid of the hanging issue. http://www.youtube.com/watch?v=2RPnC0MQjsU
Joined: 8/30/2010
Posts: 10
MUGG: try unchecking "enable dual core" and set frame skipping to 0 for timer issues. those usually cause some problems in frame by frame mode.
Editor, Expert player (2327)
Joined: 5/15/2007
Posts: 3927
Location: Germany
I tried a lot already and talked back and forth about this issue with skid_au, a Dolphin developer who seems to be investigating the issue. I tried changing the memory card slots to <nothing>, tried disabling dual core, tried changing graphic plugins. But it didn't help at all and frame skipping was already at 0 to begin with.