Locked



1 2 3 4 5
10 11
Player (206)
Joined: 5/29/2004
Posts: 5712
Ohhhhhhhhhhhhhhhhh. I didn't even realize there was a difference. Okay, I guess I'll have to go try it again.
put yourself in my rocketpack if that poochie is one outrageous dude
Player (206)
Joined: 5/29/2004
Posts: 5712
Hey hey, I think I've nearly got it figured out! Here's a movie of me beating the first nine levels of Adventures of Lolo (US version, SGB2). http://www.geocities.com/ryan_ferneau/gblolo.zip Look how much junk you have to sit through at the beginning of Dance and Music. Watch the text fly!
put yourself in my rocketpack if that poochie is one outrageous dude
Former player
Joined: 8/12/2004
Posts: 651
Location: Alberta, Canada
Good news, it plays back without desyncing :D
Player (206)
Joined: 5/29/2004
Posts: 5712
Yeah, but I ended up with a lot of desyncs as I was making it. I've just been using frame advance, actually, since it seems the most practical. If I want to, I can simply hold down Ctrl-N, and the game will go at a certain slow speed. It probably depends on Keyboard Repeat Rate.
put yourself in my rocketpack if that poochie is one outrageous dude
ventuz
He/Him
Player (126)
Joined: 10/4/2004
Posts: 940
How do you guys get the rerecording to get button responding all the time? its frustuating trying to get rerecording to actually get my button pressed. its like this.. (frame1) . . . . . . . . . (frame2) . . . . . . . . . (frame3), all the dots is pause. and when i try push button down in middle of pause. (frame1) . . . . (button A, hold down) . . . (frame2) . . . and game itself seem to think i didnt press any button at all.
nesrocks
He/Him
Player (247)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
it will only read what buttons are currently pressed at the frame change.
Player (36)
Joined: 9/11/2004
Posts: 2631
So you hold down all the buttons you need, then hit frame advance. Wash, Rince, Repeat.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Player (206)
Joined: 5/29/2004
Posts: 5712
Hmm, the eighth level of Adventures of Lolo was being mean to me. It kept giving me frame lags at different times with different playthroughs of the same movie, so oftentimes I would get my movements in at the right times while recording, but see them gotten wrong during playback. I think the speed/frame advancing may have affected it. Do you think this is something worth looking into?
put yourself in my rocketpack if that poochie is one outrageous dude
Player (36)
Joined: 9/11/2004
Posts: 2631
I've got a similar problem. This didn't fix it for me, but you might get lucky. Try unchecking Automatic Frame Skip during both playback and recording.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Player (206)
Joined: 5/29/2004
Posts: 5712
Oh, normally I don't EVER have that on.
put yourself in my rocketpack if that poochie is one outrageous dude
Player (206)
Joined: 5/29/2004
Posts: 5712
Hey, I also decided to try a Mega Man in Dr. Wily's Revenge movie for fun. I'm trying to be frame-perfect, though I probably don't understand the MegaMan game engine as well as some people on this site. I did run into that problem of the frame advance doing something different than the playback once, but mostly it's been fine. I started with Elec Man, but does anyone have any other ideas about what robot order would be the fastest? And do you think I should play Rockman World or Mega Man? Rockman World doesn't make you wait as long at the title screen, but maybe more people around here would have the Mega Man game.
put yourself in my rocketpack if that poochie is one outrageous dude
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
(sorry if you've seen this already. I tried posting this earlier but the forum went down or something.) OK, I've tested out the alpha 3 and (while it's still a big improvement) I got lots of desyncs. But I'd really like to see them fixed, so I tracked them down as much as possible and will now describe them (2 separate desync issues) in as much detail as I can so they can hopefully be fixed faster: The first desync problem is due to a general oversight in the way the rerecording is done in VBA. Here are the steps to reproduce the problem: - Open any ROM in VBA alpha 3 (Mario Land.gb is the easiest for this example.) - Start recording a movie (from restart or not, doesn't matter). - Get past the title screen to the actual game, then save the state to slot 1. - Play the game normally for a while, like 10 seconds or so, then save to slot 2. - Load slot 1 and do something stupid and recognizable such as hitting the Start button to pause the game in-game. - Now load slot 2 and (for the sake of example) finish the level. - Choose to Stop recording the movie. Now when you play back the movie, it'll get past the title screen then pause the game or whatever other stupid thing you did after loading from slot 1. This is NOT the correct result; what should be in the movie is you playing and finishing the level, with no in-game pause at all. (By the way, you can try these same steps out in Snes9x and you'll see it actually does the right thing.) It might not seem that major but it will cause loads of desyncs and headaches as it is, because (for example) every time I accidentally load an old save slot the whole movie after that point gets screwed, and frequently it's useful to load old save slots on purpose then go back to a future save and continue from there. (Presumably, to implement the correct functionality, you need to store the entire movie-in-progress along with or as part of every save state that's made while a movie is being played or recorded, which isn't very hard to do and is probably worth it unless you can think of a better way. Also, you should probably disallow the loading of non-movie save states while recording a movie.) The second desync problem is a more specific bug with frame advance that actually has nothing to do with the movie recording itself, but it still causes desyncs in movies of many games due to incorrect emulation. Basically, it seems like a timer variable (which is often used for pseudo-randomness) is being updated differently over frames when frame advance is used as opposed to when it isn't used. So it can be easily tested, I found an example where frame advance changes the game's behaviour in an obvious way even in the absence of any other input. Here are the instructions to reproduce the problem: - Start up the VBA rerecording version alpha 2 or 3. - Open up the ROM called "Pocket Bomberman (U) [C][!].gbc". - Here is a zipped save state: http://www.filespace.org/nitsuja/PocketBombermanTest1.zip - Download it, unzip it, place the file inside where the ROM is, and load it by hitting F9 in the emulator. - Watch at the top-right of the screen where a pink squid/birdo thing will pop out of a jar. - Load state 9 again and count how many times Bomberman bumps his head on the block in the middle of the screen before the pink thing pops out. For me, it's 6 times. - Now, Pause the emulator, load save state 9 one more time, choose "Next Frame" once from the Tools menu, then Unpause the game. This time, Bomberman only bumps his head 2 times before the pink enemy pops out. You should be able to see the not-so-subtle difference; one frame advance just altered the timing of that enemy by about 2 full seconds! Obviously this sort of thing will cause nearly any recording of the game that uses frame advance to go out of sync when it's played back without frame advance, so this needs to be fixed. (Another game that's similarly affected: in mario land, the positions of the prizes at the end of the stage if you reach the high door are randomized differently if you use frame advance before they're chosen.) Note that throttle changes work fine; they don't have this problem even at ultra-slow speeds. (Using the cheat finder and comparing after 1 frame of frame-advance to after 1 frame of 5% throttle, I found that the only variable being initially affected by frame advance (in Pocket Bomberman) was the one at address 00:c248 in the game's memory, if that means anything.) I think this problem does not affect GBA games, but I'm not totally sure about that either. Finally, I also have a few feature requests: - FRAME COUNTER! (Either toggleable or always-overlay-when-paused would be fine) - Don't disable "Start playing movie..." when a movie is playing. - Save the number of frames and the number of save-state loads in the header. - Save a checksum of the ROM in the header and bring up a warning if trying to play a movie when the checksum of the ROM that's open doesn't match the one in the movie. (can be a useful sanity check) - Don't create or use a .VM0 file. What the heck is it anyway? - When loading a state while the emulator is paused, is it possible to draw the frame the game was saved at instead of the unhelpful total blackness? - Get rid of the annoying "Playing a movie will load load a save state which may erase your previous battery saves" warning, or at the very least, spell "lose" correctly in the message and put a line break in the middle. (Also, this message is incorrect for movies recorded from restart, because such movies should NOT load any save states or that defeats the purpose of the movie being recorded from restart.)
Editor, Reviewer, Experienced player (980)
Joined: 4/17/2004
Posts: 3109
Location: Sweden
>Now when you play back the movie, it'll get past the title screen then pause the game or whatever other stupid thing you did after loading from slot 1. This is NOT the correct result; If I understand your example correctly, it IS the correct result. Every emulator except for possibly SNES9X works this way. Loading a snapshots after your current movie position will break your movie.
Player (206)
Joined: 5/29/2004
Posts: 5712
Your description of the frame advance problem sounds spot-on. I noticed another little quirk to it: When you load a save state, whatever buttons you pressed for the last frame before loading will be applied to the first frame after loading. That's not right...
nitsuja wrote:
Don't create or use a .VM0 file. What the heck is it anyway?
I'm not sure, but my guess is it's a save state that the emulator creates upon recording and loads for playback instead of actually reseting the game.
put yourself in my rocketpack if that poochie is one outrageous dude
Active player (411)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Truncated wrote:
>Now when you play back the movie, it'll get past the title screen then pause the game or whatever other stupid thing you did after loading from slot 1. This is NOT the correct result; If I understand your example correctly, it IS the correct result. Every emulator except for possibly SNES9X works this way. Loading a snapshots after your current movie position will break your movie.
I don't have this problem with FCEU. For the frame advance problem, I guess it's related to playing annoying sound when using frame advance.
Player (206)
Joined: 5/29/2004
Posts: 5712
nitsuja wrote:
I tested this on the last version at least, and Automatic alone (even with frame skip = 0) did cause frame advance to skip displaying (a lot of) frames. I don't think turning Automatic off by default would be good, since it's designed as the default setting (although personally I think it skips too many frames compared to how much the computer can really handle), but having frame advance force-draw the frame seems like a reasonable solution.
Oops, does this bug still exist? Maybe it explains why I can't always get Megaman lined up perfectly all the time. Sometimes when I hit the frame advance key, I'll see the program draw two frames quickly, then stop on the second frame. This also might be related to the frame advancing errors, if different frames are skipped sometimes. (Though remember that we're only throwing out IDEAS here for why there are problems; not everything will turn out to have an effect.) As for bullet-proof re-recording, it's tempting for me to say "So just be more responsible with your save states, silly!", but I guess I can understand how annoying it is when you forget which save state was what and you have to stop recording to check the states or you mess up the recording by jumping way back into the past when you didn't mean to.
put yourself in my rocketpack if that poochie is one outrageous dude
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
OK, I guess the first one is more of a feature request than a bug report, but "bullet-proof recording" is definitely possible as evidenced by Snes9x (and maybe also FCEU?) and it makes recording movies a lot more convenient. It's right up there with the usefulness of a frame counter for me. And it's not just for preventing mistakes; it can actually be useful to purposely load save states past the point you're recording at. (For instance, when manipulating randomness, you can save your best result so far in one state, then keep going back to a previous state and trying for better results, and when you've had enough, load the "best result" state and continue from there.) I think that frames being missed on frame advance with Automatic / other frame skip on is purely visual and isn't affecting the actual emulation, frame advance itself is causing some change regardless of the drawing. (Remember frame advance didn't use to work at all in GB games, maybe getting it to work properly isn't just a one-line change after all.)
Player (206)
Joined: 5/29/2004
Posts: 5712
And now I've had a couple of occurrences of finding most of the movie wiped out after continuing it, as if when I loaded a save state, the file pointer went to the beginning of the movie instead of where the save state was. I could have sworn I didn't do anything wrong...
put yourself in my rocketpack if that poochie is one outrageous dude
Active player (411)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
I'd recommend you to wait shaneduddy2 for fixing bugs and adding those features before starting any timeattack. After, we will see if it remains some bugs.
Player (206)
Joined: 5/29/2004
Posts: 5712
I know, but it's too much fun! And I need practice.
put yourself in my rocketpack if that poochie is one outrageous dude
Emulator Coder
Joined: 10/9/2004
Posts: 453
Location: Norway
Bag of Magic Food wrote:
I know, but it's too much fun! And I need practice.
I like that attitude :P
Player (206)
Joined: 5/29/2004
Posts: 5712
Well, my Elec Man test run is almost done. I just have the boss left to do, and it probably won't be so bad considering that ElecMan seems to shoot less at me as I shoot more at him.
Bag of Magic Food wrote:
When you load a save state, whatever buttons you pressed for the last frame before loading will be applied to the first frame after loading.
Strangely, this hasn't been happening to me for a while. I wonder why it suddenly fixed itself... Oh, but I remembered one more bug that I don't think's been mentioned. When I save a state during playback of a movie, it causes the emulator to no longer play back the movie correctly, but rather just keep using the last input from before the save was made. So if you were holding right, then up, then left in your movie, and you saved while you saw your character going right, your character would just keep going right the whole time. This doesn't seem to affect the file, though.
put yourself in my rocketpack if that poochie is one outrageous dude
Player (206)
Joined: 5/29/2004
Posts: 5712
Here's the video! http://www.geocities.com/ryan_ferneau/elecman.zip At the beginning of the ElecMan fight, I fired a missed shot to make him jump toward me so the next shot would him sooner. And I was going to try a little time-waster trick on the Thunder Chariots where I make MegaMan slip off and land back on over and over, but the movie always desynched when I tried that, and desynching there means poor little Rainbow Senshi Miracle Kid falls into the pit. The movie also liked to desynch whenever I tried to land on the very edges of some platforms.
put yourself in my rocketpack if that poochie is one outrageous dude
Joined: 1/14/2005
Posts: 17
Thanks to everyone for the bug reports especially Nitsuja for the extensive post It's appriciated. I currently have a lot on my plate with work, skool and trying to have fun at the same time. I`ll work on it as soon as I get some free time. Shanedudddy2!
Player (206)
Joined: 5/29/2004
Posts: 5712
Thanks to you too!
put yourself in my rocketpack if that poochie is one outrageous dude
1 2 3 4 5
10 11

Locked