I don't know if I'm doing this correctly, but I see that this movie is longer if I only compare gameplay durations, both with and without lag. Per-level differences are all over the place: sometimes much longer, sometimes much shorter.
----------------------------
| | lag | lagless |
----------------------------
| old | 1014230 | 375224 |
| new | 1014714 | 375787 |
| diff | +484 | +563 |
----------------------------
Download leveltimes.luaLanguage: lua
gameplay = false
lastgameplay = false
timer = 0
while true do
local first = memory.readbyte(0x385, "WRAM")
local second = memory.readbyte(0x387, "WRAM")
gameplay = first == 3 and second == 3
if gameplay and not lastgameplay then
timer = 0
elseif gameplay and lastgameplay and not emu.islagged() then
timer = timer + 1
elseif lastgameplay and not gameplay then
print(timer)
end
lastgameplay = gameplay
emu.frameadvance()
end
Figuring out if something is a legitimate improvement or not is not only the judge's job, but also something the author needs to prove. Reapplying the same strats on the old publication is a sensible way to check improvement validity, but not when there's 100 levels and level durations differ in both directions. I can't do this automatically, and I can't do this manually. I can't do this partially either, because improvement is not uniform here: if it makes some levels longer in the old emulator version too, I wouldn't know until I tweak and check them all.
On top of that, more accuracy leading to more lag doesn't automatically mean solutions for less accurate version also make sense for more accurate version even if they take longer. Maybe more accurate version needs different solutions that also save some lag. Maybe those new solutions cause too much lag compared to old solutions.
I'm leaning towards rejecting this movie until times become more comparable. Easiest way out is incorporating those strats into the old movie, checking if they save time in every level they appear in, and submitting that. Until then, it's unclear if the new methods are still more optimal with more accurate emulation.