Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
I wasn't aware there were multiple revisions, but I used the same ROM that Quietust did so there shouldn't be any more problem with it than before.
All it did was monitor the hard-coded memory addresses corresponding with the current X and Y velocities, and display those every frame as a message at the bottom where it normally says things like "State 5 Loaded". I had no general memory viewer while recording. But if someone needs something specific like that for a particular game they're working on, it should be easy to provide.
The two-player recording helper on the other hand maybe could be useful for two-player runs of other games, for games where the two players don't directly affect each other for stretches of time. Instead of the movie having two states to change between, recording or playing, it had those states per character. So I could record player 1 while ignoring player 2, then record player 2 while playing back my previous recording of player 1, to get a result that both players act simultaneously without actually being recorded at the same time. I started doing that at Mystic Cave 1 and it drastically cut down on the number of re-records that would have taken.
I assume Rolken found it first, and once Quietust heard about it from some post on these forums, he found what is probably the optimal way to use it, and I read his post about that. As I wrote in the comments I can't take credit for that glitch.
I simply meant: That run is at a different level than the one this was improving, and would be much more of a chore to improve. Using 2 players could help, but Tails would have even more trouble keeping up with Sonic in that game, and there are relatively fewer places he'd help (boss fights, at least).
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
It has much higher system requirements (pixel shaders required; old graphics cards won't cut it), and switched to DirectX instead of OpenGL despite building off of the same code base.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
That means the file is still there and should be recoverable. Try using this program to recover the file. Put it where the movie should be and type the movie's filename ("Gex 64: Enter The Gecko.m64", or whatever it is) when it runs.
(The emulator should be made to change those characters into dashes before recording, of course.)
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
It could be some kind of savestate corruption problem at times in this game. Well, I would suggest always waiting for frame advance to skip those dead input frames; if that's what they really are it should skip them and pause immediately after.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
There's a frame count and an input sample count, are you sure you aren't confusing them? There is no separate current/total displayed while recording because they are always equal then.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
Thanks everyone.
I'm interested to know what you had in mind, on all of those.
I would be surprised, although not if SprintGod had not already improved his first S3&K movie. I'm sure his second one can be improved by some amount with enough experimentation and a memory viewer, but he didn't use 160027 re-records on a second revision for nothing.
That's what normally happens, so I thought I should let it happen at least once to show a bigger range of things that can happen after the levels. Doing that anywhere other than the first level would be worse, this way the next countdown is more surprising. (I let Sonic leave automatically on one of the Metropolis levels, but that one had a much shorter countdown and Tails retained control.)
It's not very hard in this game. The only conditions are that you need to be in the air and off the screen when the signpost stops spinning.
No, even compared to the run this is obsoleting that is less. It's a nice number, however.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
The line that starts with "* Trying to integrate that..." should say what "that" is or it doesn't make any sense. Also, maybe you should rearrange the items in order of descending priority.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
I really don't know, but I would guess that about 30% of it was from using Tails.
Not that I know of. I was always comparing them. (But it's hard to compare when I take completely different routes...)
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
I think if it were only the stylistic choices you made that people have a problem with, this would be getting a lot more support. It is more the core concept of it, rather than any fault in your execution of the run, that's holding it back, since apparently most people aren't thrilled with the concept.
Plenty of runs have been rejected because of the core concept being uninteresting (meaning, the result is less entertaining to watch than it would have been otherwise), even when the player did the best possible job of making them interesting. Never mind how much a movie was requested, because people requesting a run haven't seen it and thus don't know if it will end up being as good as they thought it would be.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
I think the pause menu problem happens because the game does a check for the background being ready to draw (it pre-renders it when you pause so it can use it in the background without needing to re-render it every frame in the menu), and that check relies on some nonstandard signal that's too low-level (or slow) for most existing graphics plugins to provide, so the game hangs in a loop for some maximum number of frames waiting for it. So far, I believe fixes in emulators for the problem have simply reduced that maximum amount of waiting time to 2 frames instead of however many (hundreds?) it normally is. The "write framebuffer to RDRAM" option is perhaps the real low-level solution, but it's both slow to run and part of a closed-source plugin.
Sorry if that's not exact enough. If you want to look for more information about it, the problem is normally called the "subscreen delay" elsewhere.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
I did, and Left+Right in this game or Sonic Advance 2 is the same as holding either Left or Right alone, so it wouldn't save any time. I did use it occasionally to continue running without any skid frames when I would normally need to switch directions on exactly the right frame to do that (such as when hitting a spring while running up a wall), but it didn't do anything that wouldn't have been possible without it. In Sonic Advance it makes Sonic move a little slower, but not slow enough to be useful for stopping.
In the Genesis Sonic games, it's only an illusion that Left+Right stops you faster than holding a single direction, although it still does some things that can save time.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
Decreasing the speed reduces the number of frames that are skipped, and conversely, increasing the speed increases the amount skipped. It may be that the frame skip needs to be at least 1 for that to change it, since the speed it acts as a multiplier of that, whereas the fast-forward mode temporarily sets frame skip = 9.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
"ScreenCapture" is in the hotkeys list (in Tools > Customize All Commands...). I don't know what you mean by "frameskip" but FrameSkip0 through FrameSkip9 are also in the hotkey list. Fast-forward doesn't seem to be in the list, probably because it's not a normal hotkey.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
Is the save chunk being compressed before being base-64 encoded? The save game data isn't supposed to be edited manually anyway, so that seems like it would be a good move. (Gens can probably decode and decompress it much faster than Notepad could even open a file without that compression, and Gens only has to do that once when starting to play the movie, anyway.)
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
Oh, I thought pirate_sephiroth was just being crazy. That's what he meant.
I redid the level starting from about 42 seconds in until the end of it. Then I would've had to redo considerably more, except I was saved by the hard reset that happened to be at the end of Ocean Base 2 (which cleared out any variables that would normally have caused desync), so the entire rest of the movie played back correctly on the very first attempt to hex edit it onto the end.
And because when I went to double-check it, I only compared the milliseconds, and thought it was .27 seconds faster when it was really 1.73 seconds slower. My common sense must have gotten turned off that night or something (I know it was at the end of a recording session before the next boss fight).
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
Well I tested both, and kept the one that was faster. But apparently I was really tired and accidentally continued from the wrong save state that time without noticing I chose the slower one. That's pretty unacceptable, so I'll redo it...
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
If you don't know for sure whether that jump slowed you down, there's no excuse for not finding out and fixing it if it did.
Also, if left+right or up+down save small amounts of time without breaking the game, it's not enough of a difference to warrant a separate published category, in which case I think they should be used.
Now why does that sound familiar...?
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
I hadn't been looking at the source with Blip's patch applied. Re-record count and author info are indeed stored in the patched version. Also, from looking at the source, the code the emulator uses to display the time in minutes and seconds simply assumes the framerate is 60... I wouldn't know if FBA ever runs at a different framerate than 60, but if it doesn't, that problem is solved too.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
The file signature ("FB1 ") fails to contain any characters that couldn't be typed into a text editor. [not a problem]
There's no re-record count stored in the movie. [not anymore]
There's no framerate indicated and thus no way to determine how long the movie is in seconds. [always 60 FPS?]
There's no space for author's info in the movie. [not anymore]
There's no way to be sure a given movie has a reset at the start. You could check that the pre-emulated frame count value is low, but that's not tamper-proof at all, and you can't check for the "Reset" button at the start of the input data because it has a different value depending on the game and might require decompressing a large part of the movie to examine. Also, I'm not sure about this but it might be possible to find a savestate that lets you cheat even after resetting after it, which would make detecting a reset not enough.
EDIT: I realize some of those are such low priority that they are more suggestions than requirements.
EDIT2: This wasn't including Blip's modifications, I added notes above for that.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
What level are you talking about, Cyber Track 3? If you meant the flying up to that platform before the second tube, the only alternative was to wait for that platform to move right since there is no ground anywhere near there to jump up from. Waiting for that would have been a lot slower.
Somebody voted no without explanation at almost the same time on this movie as well, perhaps it's the same person. Unless that person explains, I think the No votes will just go ignored, because any reasoning that would explain the vote has not been posted.
Emulator Coder, Experienced Forum User, Published Author, Skilled player
(1300)
Joined: 12/21/2004
Posts: 2687
I think this game needs to be recorded with the "Fake Mute desync workaround" option on, otherwise it won't play back reliably. Also, if "Sync samples with sound CPU" works on your computer, that can help keep synchronization when recording (in my experience, although maybe that is not what really happened and it makes no difference).