Here is a TAS of Donkey Kong Land 2, 100%. (It is not 102%, the game says 100% when you load the save file.)
It's not really worth comparing to the published run, since that is too outdated, the best comparison is to this run on nicovideo: https://www.nicovideo.jp/watch/sm11958438
It's hard to directly compare time even there since that run was made on such an old version of VBA, you can't run them side by side except in individual levels with no loading. The last input would be at 55:30 in that video. Also there is no BIOS, so if you add in BIOS time for GB mode (x2 since there is a hard reset) you would get a time of 55:40. I don't think this is the time you would get though if you directly converted the inputs to a current BizHawk version, but I don't really know for sure. My guess based on the amount of time I saved would be that it would be about a 55:20.
There are various improvements scattered throughout the run, with the biggest single improvement being the use of an intended shortcut in Slime Climb that was missed by not only the old TAS, but also the Nico Video TAS and the runs on speedrun.com, oops.
Other improvements are small optimizations here and there, like gliding to the end of the level in Gusty Glade instead of using the blast barrels.
It's not a perfect run, I lost a few frames occasionally since it's hard to compare without an input file, but I think it's pretty good and at least can replace the current very outdated run.
I use the GB version here because converting to GBC has the unfortunate side effect of having a lot of sprite priority errors, making characters appear pretty glitchy at times throughout the run. This happens because sprite priority functioning changed between GB and GBC, and the game wasn't programmed for it. An older version of the run did work on console though up to the first K. Rool fight, and there is not RNG in the game so I don't think there is really anything to learn here from console verification.
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
I resynced this to Gambatte because I was curious:
User movie #65874807770928717
As expected, I was able to save a miniscule amount of time by pressing inputs earlier because Gambatte's frames line up better with input polls*. This totaled to a time save of ~0.12 seconds. Note: my resync basically involved inserting blank frames to fix the frame-length differences in screen transitions; no gameplay alterations were made.
This also revealed to me this submission has a lot of superfluous inputs at the beginning and end of levels. Essentially, the first two green (non-lag) frames in each level mostly don't affect movement at all, and a few times the last inputs were completely unnecessary and marked as lag by Gambatte (perhaps the timing had altered in those cases). This is unimportant and mostly aesthetic, but my personal aesthetic preference is to have blank frames instead of inputs when inputs are unnecessary, especially so those who analyze the movie can see which inputs are actually important. I didn't bother to tweak these except for one or two at the very start of the movie because it would have taken more time; it was just something I noticed in the process of resyncing.
Also, there might be a frame or two to save even in the GBHawk submission movie directly by pressing A to enter the 2nd K. Rool battle sooner. Alternatively this might be a cumulative effect of other changes when I was resyncing to Gambatte? But it was a very distinct point where I actually deleted 2 frames in the Gambatte version (everywhere else, extra frames needed to be added to compensate for the difference between how Gambatte and GBHawk handle frames). I wasn't able to check this because I accidentally corrupted my .tasproj for the GBHawk version and don't feel like replaying it again.
----
* Gambatte's frames are based on when VBLANK occurs, while GBHawk forces frames with equal cycle counts. Gambatte also has a sync setting called "Equal length frames" which is the equivalent of GBHawk's behavior, but I had this setting unchecked for my resynced movie.
GBHawk still applies inputs on VBlank boundaries, so you cannot save time simply by converting between it and gambatte, unless the game samples inputs while the screen is off, which this game doesn't do.
My guess is you just found some places where I didn't press input on exactly the right frame, like in the 2nd K .Rool fight where I am indeed 3 frames late.
However trying to save after truncating my movie file when fixing this also corrupted my TASproj, seems like something bad is going on with TAStudio.
EDIT: yeah i missed a few presses, here is a corrected file.
http://tasvideos.org/userfiles/info/65880395759689215
I'll probably take another look and see if I missed any other small things.
Glad to see a new run of this game after all this time and I thoroughly enjoyed it. Yes vote.
IMO this is one of the GB games that get relatively better palettes from SGB. I really hope future runs of this game are done on SGB when the emulation gets there.
I will do an exhaustive search for late menu/map/screen transition presses and get back to you on that.
Edit 2020-09-11: Still working on this, by the way.
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
How is it going?
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.
With juggling BizHawk dev things, DTC9, and other unreleated stuff, I haven't gotten to resolving this in the timely manner I was hoping to.
My goal is to post something later today (yes, I know I said that before, but bear with me). I'll say this: if I don't post anything by 00:00 UTC Thursday, than I'm probably not posting anything until Saturday. I do strongly intend to post something today so as not to waste more of your time.
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
If I force this submission's video to 60fps and then decimate to 30 (to align with the vid at nicovideo), and make this and the nicovideo one start when the first level begins, here's when the ending starts:
Nicovideo: 99184 (0:55:06.133)
This run: 98034 (0:54:27.800)
The previous run is 1:00:36.717.
Checking every level now...
EDIT: 143 frames lost across 10 segments, but overall gameplay improvement is 538 frames.
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.
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Here's the table I got, with framerate made to match nico's 30fps (gameplay mechanics aligned nicely):
https://files.tasvideos.org/common/SubmissionFiles/6866S/diff.png
Times in the nicovideo run where it's faster than you (level starts):
15:11.067
18:43.767
23:55.233
38:40.067
40:17.033
43:47.167
47:01.267
50:40.367
51:52.500
54:10.333
Can you elaborate why your run is slower there?
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.
No idea, that's already way more effort then I put into comparing the runs. I'll try looking into it.
EDIT:
http://tasvideos.org/userfiles/info/66919700439251260
Here's a new file, ~120 frames faster.
Notes:
15:11.067 - fixed
18:43.767 - don't know why boss is slower, I don't know of any way to manipulate it
23:55.233 - don't know, mine cart levels are too fragile.
38:40.067 - mostly fixed, looks like some lag differences still
40:17.033 - can't fix without input file, I don't get the jumps, despite trying many times
43:47.167 - Slightly improved, but it seems like the bird section is much faster, not sure how or why, maybe less lag.
47:01.267 - don't know, Once again not sure how to manipulate a faster boss
50:40.367 - mostly fixed I think
51:52.500 - mostly fixed, but still slower, an enemy doesn't have a hitbox so I miss a boost
54:10.333 - no idea how to manipulate anything faster.
I should note that in all my different files and all the revisions I've done, boss patterns have never changed beyond 1-2 frames, and even that is probably mostly frame timing differences. I have no idea why the boss fights are slower, or for that matter why the bee fight is faster. If I'm missing something I surely don't know what it is.
Joined: 4/17/2010
Posts: 11496
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
I completely missed your ninja edit.
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.