(Link to video)
Submission Text Full Submission Page
This run originally was meant to be a simple resync to CGB-GBA mode, but ended up turning into a (questionable) improvement.
The main improvement here is the use of "moonwalking". Simply be, the game does a walking animation while you move if you hold the moving direction. However, if you don't hold that direction (i.e. tap it each time), you don't do this animation, resulting in a "moonwalk". This seems to reduce lag slightly, and even does so on the old TAS (not using latest hawk) if applied (at least as far as the first 6 levels), so this probably counts as an improvement.
However, you can note that this movie seems to be around 9 seconds slower than the old movie (disregard BIOS time, it's more 6 seconds). This seems to indicate that more accurate emulation results in more lag. As I've noted, I've tried applying the moonwalk to the first 6 levels on the old TAS and it ended up resulting in less lag (around 4 frames). I couldn't check anywhere past that due to the lua script I've used not behaving correctly on old hawk versions. I am fairly confident overall this is an improvement, but it is still somewhat questionable.
On a fun note, this TAS had 48187 botted rerecords, give or take a few hundred for lua script trial and error.
Lua scripts used:
EDIT: Lua script used for v2 of the TAS:
Also, the truncated input files used:
Also I used a dev version of BizHawk because lol this game, probably syncs on 2.6.2 (no it doesn't lol) but if it doesn't the submission can be delayed until 2.6.3/2.7 release.

feos: Delaying until new bizhawk release.
feos: New hawk is out now. Resetting.
feos: Judging...
feos: Updating the movie with an 8 frame improvement.
feos: I have to reject this movie in its current form. We've done some work on boiling this improvement down to something verifiable, but it doesn't look like it can really be verified using this new version of the core.
The main issue is that there's actually no guarantee that the new trick makes enough levels faster if we account for lag. The differences in times are all over the place: some levels are shorter, others are longer, and time discrepancy also varies greatly. Maybe in some places the new trick causes more lag than necessary. Which means the old approach has to be tested as well, for every level, and maybe even for every turn where it's an option.
If our only way to verify this is redoing the entirety of the old movie on the same old version of the core (to prove it's better in identical conditions), then that needs to be done as a separate submission, because we can't delay this one indefinitely, and the author hasn't given an estimate on when it could be finished.
Rejecting as explained in this post.

Player (50)
Joined: 4/1/2016
Posts: 285
Location: Cornelia Castle
For the thing about public proof, I'd go with the facts: they're legitimate times. I get that there are no solutions mentioned, but the times are legit.
DJ Incendration Believe in Michael Girard and every speedrunner and TASer!
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
What facts?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Emulator Coder, Judge, Experienced player (595)
Joined: 2/26/2020
Posts: 697
Location: California
A quick update: I've gotten into contact with Archanfel, and he has given me the solutions to the improved puzzles. However, it seems that the 6-9 puzzle solution does not work (it eventually leads to the character hitting a wall). Currently waiting on Archanfel to clarify this oddity.
Emulator Coder, Judge, Experienced player (595)
Joined: 2/26/2020
Posts: 697
Location: California
Archanfel got back to me, and it turns out the puzzles they have on their site are mirrored vertically compared to the GB version, so that was why their solutions were not working right away. Fixing that, I now have a movie implemented both new solutions, movie file to replace this submission: http://tasvideos.org/userfiles/info/75103587700952367
Skilled player (1435)
Joined: 11/26/2011
Posts: 655
Location: RU
Just for case if someone would like to also update TAS for sequel of this game (http://tasvideos.org/3620M.html) I found new better solution for 08-06 level. Here it is: Solution: 260 Moves, 90 Pushes* uuuuullDDllllllUdrUdrUdrUdrDDllUdrUruUdrrDDLUruLUrurrd LrdddddddddllllllllllUUrrDurDurDurDuruuLLDurUdDrdDlllluUURDluUU RDuUrrrrrdDDDDLDlllllullUURDldRDluuuURlURlUUUdRUdDDDDDldddll uuuuuuuuuRldRldRldRldRldRldRldRDldRurrrrrrrruruLruLUUUruUrrdLrd LrdLrdLrdLrdLrdLDrdL *Flip vertically if necessary
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
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.lua
Language: 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.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
TASVideosGrue
They/Them
Joined: 10/1/2008
Posts: 2738
Location: The dark corners of the TASVideos server
om, nom, nom... juicy!
Judge, Skilled player (1278)
Joined: 9/12/2016
Posts: 1645
Location: Italy
Does this movie sync on real console?
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"