Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
So when AKA said the lag wasn't noticeable during TASing, it is because of frame advance?
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Yes, it's hard to notice the lag while you're making a complicated run as this. Only when you watch you'll say "oh s***!!". Unless you were also planning to be careful with that beforehand, which wasn't the case for either of us.
Skilled player (1409)
Joined: 5/31/2004
Posts: 1821
laughing_gas wrote:
So when AKA said the lag wasn't noticeable during TASing, it is because of frame advance?
I'd say lag is very noticable when using frame advance. Lag is way harder to detect when using low speeds.
Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
I guess I don't understand frame advance very well. Can Mupen tell the difference between tapping "A" and holding "A"? Whenever I hold "A" and press the frame advance button, it thinks I'm tapping "A" just once.
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Games only know that you "hold down" a button when you press it for consecutive frames. This is because it doesn't continuously process instructions. It does so once per frame (this is not exactly how n64 works, but in general). It reads the input, then calculate then draws the screen. So if you released the button while the emulator is paused or not, it means nothing. The game can only read input when it goes to the next frame.
Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
That makes sense, but when you do the BLJ in BOB, do you press A every frame the elevator goes up or every other frame? If you press A every frame, the game thinks you're holding A so the BLJ doesn't work.
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
laughing_gas wrote:
That makes sense, but when you do the BLJ in BOB, do you press A every frame the elevator goes up or every other frame? If you press A every frame, the game thinks you're holding A so the BLJ doesn't work.
correct. every other frame is the fastest button mashing possible.
Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
Gotcha. I'll end my dumb questions now.
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
Baxter wrote:
I'd say lag is very noticable when using frame advance. Lag is way harder to detect when using low speeds.
I guess you haven't tried minimizing lag in an N64 TAS. Frame advance skips over lag frames, so you can only notice it on playback or by watching the frame counter. Maybe frame advance should be given a configurable framerate, because there's no way for the emulator to tell the difference between a frame of lag that is supposed to happen (which is every other frame when the game runs at 30 FPS) and an additional frame of lag that could be avoided.
laughing_gas wrote:
That makes sense, but when you do the BLJ in BOB, do you press A every frame the elevator goes up or every other frame? If you press A every frame, the game thinks you're holding A so the BLJ doesn't work.
Right. The fastest you can possibly press a button is every other frame. Although BLJ requires even slower than that sometimes, because Mario can't jump again while his feet are still in the air from the last jump.
Mitjitsu
He/Him
Banned User
Joined: 4/24/2006
Posts: 2997
Well if anyone's interested here's my DDD star, its 2 input frames faster than FODA's. http://www.yousendit.com/transfer.php?action=download&ufid=102DC84705EE1D47 I've included the frames caption at the bottom.
Skilled player (1409)
Joined: 5/31/2004
Posts: 1821
nitsuja wrote:
I guess you haven't tried minimizing lag in an N64 TAS.
No... in fact, only thing I used mupen for was replaying movies.
Joined: 2/16/2005
Posts: 462
nitsuja wrote:
I guess you haven't tried minimizing lag in an N64 TAS. Frame advance skips over lag frames, so you can only notice it on playback or by watching the frame counter. Maybe frame advance should be given a configurable framerate, because there's no way for the emulator to tell the difference between a frame of lag that is supposed to happen (which is every other frame when the game runs at 30 FPS) and an additional frame of lag that could be avoided.
Perhaps you should have an overlay visible somewhere that shows you the delta real frames everytime you push frame advance. A spike in this number is a pretty good indication of lag. I agree with going for the absolute minimum time in the minimalist run. Its not like we all havent seen DDD before.
This signature is much better than its previous version.
Joined: 11/15/2004
Posts: 804
Location: Canada
DDD is a super laggy level. It's the only level where I didn't like the camera angles in FODA's run, which he explained was to reduce lag. That tells me that, generally speaking, it's possible to keep lag low without affecting the quality of the movie, with the exception of DDD. Unfortunately, the lag is so bad in that level that it's better to have bad camera angles than to watch the lag, so I agree that frame count is the important thing here. If you're going for the fastest any% time possible, it should be as close to frame perfect as possible.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.
Post subject: Re: Mario 64
Joined: 1/25/2006
Posts: 7
FODA wrote:
Any coins enemy drops move ramdomly and would desync
That's a shame, I was going to hex edit your first star... ok so it's only 1 star, but it's sort of a drag when the first star doesn't look TA. How does emulator lag work? For the star times competition I've timed strategies on a console as well as emulators, and the emulators were faster because of the console lag.
Mitjitsu
He/Him
Banned User
Joined: 4/24/2006
Posts: 2997
I've redone the DDD level and will be uploading a comparison video shortly, and you'll see for yourself how much lag is present in DDD, I've improved it overall by 181 frames, although in reality it was only about 40 frames if I was to ignore the lag. EDIT: http://www.youtube.com/watch?v=cNQxeDYSU5Q
Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
strange, i never knew lag could make that much of a difference. How did you manage to play the videos side by side?
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
Post subject: Re: Mario 64
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
CBright wrote:
How does emulator lag work? For the star times competition I've timed strategies on a console as well as emulators, and the emulators were faster because of the console lag.
The emulator is programmed to work as close to the real hardware as possible. if it lags in the videogame but not in the emulator (or vice-versa) that's a flaw that should be fixed.
Editor, Experienced player (734)
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
AKA, I definetly noticed the lag in DDD from Spezzafer's run, and your use of camera angles took care of that real nicely.
Homepage ☣ Retired
Post subject: Re: Mario 64
Joined: 1/25/2006
Posts: 7
FODA wrote:
The emulator is programmed to work as close to the real hardware as possible. if it lags in the videogame but not in the emulator (or vice-versa) that's a flaw that should be fixed.
You bring up an interesting point... although, some people may say that lag was not intended and avoiding it is an advantage of emulators, even if different from the real hardware. I suspect that the upcoming virtual console emulator will also remove some lag, but we'll have to wait and see... I must admit I'm surprised that DDD lags on emulators as well, as I've done some tests timing how much faster emulators run (although not in DDD). Some places where you can notice the difference between console and emulator include going to the big house in RR, and opening the front door in BBH.
nesrocks
He/Him
Player (246)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
When we "remove" the lag in the emulator, we do it the same way as we would do if we were on the console. It's not our fault if the emulator is innacurate, it's our duty to shave off the frames.
Post subject: Re: Mario 64
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
CBright wrote:
... I've done some tests timing how much faster emulators run ...
It matters which emulator(s) you use. They are programmed independantly and thus can (and do) have different timing. However, the CPU is emulated as closely as possible to the original (at a low level, based on how the original behaves), and Mario 64 is probably the most accurately emulated commercial N64 game overall. On the other hand, even SNES emulation isn't perfect yet, and N64 emulation certainly isn't.
CBright wrote:
I suspect that the upcoming virtual console emulator will also remove some lag
I doubt it would. That constitutes innacurate emulation, and similar things in the past (such as PS2 emulating PSX games) have not attempted to reduce lag that was present in the original, despite adding other optional features.
Joined: 6/12/2006
Posts: 368
Maybe not writing back to the framebuffer for EVERYTHING gives an emulator makes a slight difference in speed at some points? It could only be a miniscule difference though. I still don't believe lag (in an area where it always lags in a game) is reduced during emulation because there would have to be a special set of instructions for that event. Remember that the emulator may have more resources than the n64 does but it is still has to mimic it for the games to work.
Post subject: Re: Mario 64
Joined: 1/25/2006
Posts: 7
FODA wrote:
When we "remove" the lag in the emulator, we do it the same way as we would do if we were on the console. It's not our fault if the emulator is innacurate, it's our duty to shave off the frames.
So technically the fastest run could be beaten (in real-time) by a previously slower run just by adding the lag into the emulator...
nitsuja wrote:
It matters which emulator(s) you use.
I have tested Project64, Nemu64 and mupen64; none of them have the slowdown when traveling into the big house. And yet there is still lag for the sub...
L4yer wrote:
I still don't believe lag (in an area where it always lags in a game) is reduced during emulation because there would have to be a special set of instructions for that event.
Try it for yourself, there is noticeable lag on the console in parts of RR. (It's also easily visible in Dragorn's 120 star run, he had a bad camera angle on the carpet.)
Joined: 6/12/2006
Posts: 368
It's impossible to compare really, you need the exact same situation at precisely the same memory address so.. yea. If there was only a emulator developer here to say..
Post subject: Re: Mario 64
Joined: 11/15/2004
Posts: 804
Location: Canada
CBright wrote:
FODA wrote:
When we "remove" the lag in the emulator, we do it the same way as we would do if we were on the console. It's not our fault if the emulator is innacurate, it's our duty to shave off the frames.
So technically the fastest run could be beaten (in real-time) by a previously slower run just by adding the lag into the emulator... What he's saying is that we remove lag from the emulator the same as on a console (such as, by giving the system less things to draw), so it should have the same effect on both. Basically, there is no lag to add back to the emulator. No emulator is perfect, of course, but they do emulate lag.
TASing or playing back a DOS game? Make sure your files match the archive at RGB Classic Games.