Alyosha
He/Him
Editor, Expert player (3520)
Joined: 11/30/2014
Posts: 2724
Location: US
--superseded, see later videos-- WIP of level 4. I think the first half is pretty good, but the second half needs some work. I lose quite a bit of time in the first block section. But, I gain quite a bit in the second block section with better star RNG which I got by killing the last enemy in the previous room. Unfortunately I can't seem to get a good boss fight. Right now I'm losing about 30 frames because the boss is having a longer delay between actions. Pretty frustrating. If I can save some time in the first block section though and keep the good second block section I should be comfortably ahead going into the last level, still needs some work. At least everything works on console so far.
Experienced player (993)
Joined: 1/9/2011
Posts: 227
Looking great so far! I'm pretty unclear on what the benefit of getting the leaf is at 5:37. It doesn't seem like it makes you move faster. Is it the only way to destroy those blocks, and are you able to un-puff and run like normal? And also, does the boss not drop a 3rd bomb if you don't get to the first one fast enough?
Experienced player (630)
Joined: 11/23/2013
Posts: 2208
Location: Guatemala
Alyosha wrote:
I think the palette looks fine, which one do you think looks better? As long as you pick the palette on the first possible frame things seem to sync ok.
The grayscale palette will do just fine.
Here, my YouTube channel: http://www.youtube.com/user/dekutony
Alyosha
He/Him
Editor, Expert player (3520)
Joined: 11/30/2014
Posts: 2724
Location: US
Link to video Double lasers confirmed possible on Kracko! I got this by pure dumb luck. No idea what conditions are needed to make it happen. It seems like it happened after delaying the first hit by a couple frames but it could just be a coincidence. In any event this is a pretty big time save. I still need to optimize the second half of the fight, but this should be ~1 second saved. movie file: https://tasvideos.org/UserFiles/Info/638046721579096766
WarHippy wrote:
Looking great so far! I'm pretty unclear on what the benefit of getting the leaf is at 5:37. It doesn't seem like it makes you move faster. Is it the only way to destroy those blocks, and are you able to un-puff and run like normal? And also, does the boss not drop a 3rd bomb if you don't get to the first one fast enough?
You cannot un-puff with the leaf. I actually tested not getting the leaf. It is possible to use the quick action trick and get by the blocks slightly faster, but it is slower traversing the next section without the leaf, because maneuverability is so much higher with the leaf. I'm pretty sure the boss will always drop 3 bombs.
dekutony wrote:
Alyosha wrote:
I think the palette looks fine, which one do you think looks better? As long as you pick the palette on the first possible frame things seem to sync ok.
The grayscale palette will do just fine.
I like the default better than grayscale.
Experienced player (993)
Joined: 1/9/2011
Posts: 227
Alyosha wrote:
I'm pretty sure the boss will always drop 3 bombs.
Alright. I was thinking it looks almost possible to absorb and fire all 3 bombs without having to take damage (allowing for more damage boosts).
Alyosha
He/Him
Editor, Expert player (3520)
Joined: 11/30/2014
Posts: 2724
Location: US
WarHippy wrote:
Alright. I was thinking it looks almost possible to absorb and fire all 3 bombs without having to take damage (allowing for more damage boosts).
I believe this is only possible with the quick action trick. To set up the trick for the first set of bombs requires swallowing an enemy in the previous room, which would cost more time the any potential damage boost would save. With double lasers this is not applicable for the second set of bombs, so it seems like using both damage boosts on Kracko is the way to go. EDIT: Actually looks like it is possible to do quick action with second set of bombs even with double lasers, but I seem to get a faster fight with the damage boost. I went back and retimed both block sections compared to the original run and they come out about the same somehow, not sure how this is possible, but whatever. Timing Kracko I do save about 30 frames over the original run, so that is good. I'll try to optimize a bit more and save see if I can save any more frames, but it seems like it's almost time to move onto level 5.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
World 1 Room 3 improvement (9 frames faster) https://tasvideos.org/UserFiles/Info/638356675385292542 World 4 Room 5 improvement (39 frames faster) https://tasvideos.org/UserFiles/Info/638356742970915222 Game version: Japan v1.1 Both Bizhawk 2.7 and 2.8 should work. Skipping spicy food in World 4 Room 6 looks to be about 200 frames slower than using it.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I found a difference between J1.0 and J1.1. The game produces a little star sprite when Kirby lands on the ground or bumps into a wall. J1.0 will always produce this star when Kirby lands or bumps into a wall. But J1.1 added a condition so that only one star can exist at a time. Lololo miniboss can create a little star sprite sometimes (I'm playing on Hard mode), so while his star sprite is on the screen, Kirby will not create one. J1.1 added 5 bytes of code at $37B1 "FA 14 D4 A7 C0". The game checks $D414. If it is 0x00, the game will create the star, else it won't. This is also the reason why the current TAS desyncs at Stage 2, because Kirby creates a star sprite in Lololo miniboss on J1.0 whereas J1.1 doesn't, while playing back the movie file on Bizhawk 2.8. Knowing this, it may be favorable to use J1.0 in TAS because you will have more opportunites to advance the RNG.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I would like to edit articles on datacrystal wiki but I can't find a way to sign up. For now, I'm leaving information here so it doesn't get lost. 407F: FA 8B FF ld a, [$FF8B] -- Check pressed buttons 4082: FE 86 cp a, $86 4084: CA 86 63 jp z, $6386 4087: FE 45 cp a, $45 -- Check if equal to 0x45 (Up+Select+A) 4089: 20 08 jr nz, $4093 408B: 3E 01 ld a, $01 408D: EA 3A D0 ld [$D03A], a 4090: CD A0 40 call $40A0 40A0: FA 3A D0 ld a, [$D03A] -- Set "extra game" flag 40A3: A7 and a, a 40A4: C8 ret z 40A5: 01 45 99 ld bc, $9945 -- Write "EXTRA GAME" letters to VRAM
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Dedede won't try to inhale you if he is at 1 HP, to prevent a graphical bug with him inhaling you while he gets killed.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
MUGG wrote:
I found a difference between J1.0 and J1.1.
I figured out the whole story now. You can read about it here: https://tcrf.net/Kirby%27s_Dream_Land#Revisional_Differences J1.1 is basicly a bugfix for a game-breaking bug that could happen in the Whispy Woods fight. That being said, I don't think this is any useful for speedrunning, but still interesting nonetheless.
TiKevin83
He/Him
Ambassador, Moderator, Site Developer, Player (119)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
MUGG wrote:
MUGG wrote:
I found a difference between J1.0 and J1.1.
I figured out the whole story now. You can read about it here: https://tcrf.net/Kirby%27s_Dream_Land#Revisional_Differences J1.1 is basicly a bugfix for a game-breaking bug that could happen in the Whispy Woods fight. That being said, I don't think this is any useful for speedrunning, but still interesting nonetheless.
Cool! In the oddities section on that page, I see you uploaded the images for the normal and extra game end screens, but I don't see a difference, did you mean to upload a different image for one of them?
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
In the oddities section on that page, I see you uploaded the images for the normal and extra game end screens, but I don't see a difference, did you mean to upload a different image for one of them?
The tile in the center of the image is replaced by a white square tile.
TiKevin83
He/Him
Ambassador, Moderator, Site Developer, Player (119)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Ah I see it now! Crazy that anyone noticed that!
Joined: 27 days ago
Posts: 2
Location: USA
Hi there, I'm a speedrunner of this game and I'd like to help improve the TAS. The problem is that I have no experience TASing, but I'm good at finding new strats and manipulating RNG. I've been struggling with saving every frame possible and haven't been able to sync up my improvements with the current TAS, so I was wondering if anyone would be willing to help with the optimization or teach me how to make the game not desync after changing one thing. As an example of what I'm good/bad at, I changed the ending of the TAS, starting right after Kaboola 2 is defeated, and got it to be sub-9 minutes: https://tasvideos.org/UserFiles/Info/638466906468908702 There can definitely be more frames saved in what I have there.
TiKevin83
He/Him
Ambassador, Moderator, Site Developer, Player (119)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Hi! If you want you should jump in the Discord linked in the "Chat" section of the site here: https://tasvideos.org/LiveChat There's some specifics to GB stuff especially one's like Kirby's Dreamland that we've already verified that I can get into more detail on in a chat environment.
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
DarkRiolu27 wrote:
Hi there, I'm a speedrunner of this game and I'd like to help improve the TAS. The problem is that I have no experience TASing, but I'm good at finding new strats and manipulating RNG. I've been struggling with saving every frame possible and haven't been able to sync up my improvements with the current TAS, so I was wondering if anyone would be willing to help with the optimization or teach me how to make the game not desync after changing one thing. As an example of what I'm good/bad at, I changed the ending of the TAS, starting right after Kaboola 2 is defeated, and got it to be sub-9 minutes: https://tasvideos.org/UserFiles/Info/638466906468908702 There can definitely be more frames saved in what I have there.
Hello. I looked at your movie file. The improvement in the room before Whispy 2 (inhaling the chicken instead of dropping on it) is subtle but it makes sense. And I think it will come down to a lot of things like this. Just shaving off a few frames here and a few frames there. I pointed out two improvements in one of my previous posts. But you could save frames throughout the entire run. Then there are also a few more possible improvements others pointed out throughout this topic - although I didn't verify them myself yet. I made the TAS without looking at memory addresses but in order to improve it, one should really look at X, Y position, subpixel position and speed. And of course the RNG. There's an address for that but I don't have it right now. I know you could advance the RNG by having a small star sprite appear from bumping into something or on the ground. (I also pointed out that using Japanese version 1.0 is possibly the best choice since you get to create star sprites in situations where you can't on v1.1 and US/EU. Maybe there is a situation in the game where it comes in handy?) But what I didn't know is that you could apparently advance it by what you were doing - repeated inhale-cancel? Nice Dedede. Yes, this seems to be the best strategy. So if you want to start TASing, get familar with Bizhawk. If you have specific questions about a room or a strat, feel free to post here or PM me. I'll watch your WIPs.
Joined: 27 days ago
Posts: 2
Location: USA
Hi MUGG, I ended up deciding to remake the whole TAS starting with your level 1 improvement, and trying to save frames where I could. It seems that the game lags at different times even with the same inputs and RNG values, so I wasn't able to simply resync any changes with the existing TAS. I am using Memory Watch to monitor position, speed, and RNG. So far I've finished the first 3 levels and have saved about 60 frames by the third room of level 4, and will try to incorporate your movement for the mint leaf room after Kracko Jr. https://tasvideos.org/UserFiles/Info/638476362094803044 After the 10 frames saved from the new level 1 room 3, I saved another 22 in the Whispy fight (the number of frames saved at any point is only an approximation since every change can potentially increase or decrease lag later on). I kept the first half of the fight the same but held on to the fourth apple for reasons explained below. I saved about 11 frames in the first 2 rooms of level 2 but lost nearly all of it to increased lag in the rest of the level. I ended up with 1 extra health but couldn't find any way to use it to save time. 18 more frames were cut out in level 3, mostly due to a faster strat at the end of room 2. I'm 65 frames ahead of the current TAS after the first 2 rooms of level 4 due to less lag, although this was a bit more intentional than other stages as I destroyed more/different enemies. Using JP v1.0 could maybe be faster, but I'd be worried about multiple simultaneous stars causing lag. I'll stick with v1.1 since that's what I've been using, but I'll consider v1.0 if I can't get perfect RNG at some point. Some things I've noticed but haven't seen documented or can offer clarification for: You can perform an inhale cancel by pressing up after B. If the inhale is cancelled immediately, it seems to always advance RNG 3 values, and takes about 18 frames to do. This can be helpful for quickly advancing RNG to a desired value. Damaging Whispy Woods at any time will cause the next object to take significantly longer to spawn - it doesn't matter if the hit is during Whispy's attack or between attacks. Because of this, I didn't hit Whispy with the fourth apple until the sixth one had already spawned. This is still somewhat slow since Whispy seemingly can't be hurt quickly twice in a row (if two apples hit Whispy within a short time-frame, the damage will still occur, but it will be delayed), but it's faster than using the fourth apple early. Apparently movement speed is maintained through certain loading zones. Touching the star to end a level with horizontal speed will cause Kirby to start with that speed on the first frame of the next level, meaning he can accelerate instantly in that case. Touching the level 1 star with some speed while floating allowed me to get into the door at the start of level 2 about 5 frames faster, and I was able to touch the level 2 and 3 stars with some speed as well, saving more frames. Speed is also maintained during the load after beating Lololo (the miniboss, not the boss - although speed is maintained during the load after the boss as well), but when I tried to maintain full speed in that case the next room lagged much more and gave me a slower load at the end of the room, so I scrapped that idea. Subpixels are maintained through doors, so in some cases it can be beneficial to slow down in order to enter a door with a higher X subpixel, either because you have an extra pixel to spare or because the door loads faster and makes up for the later entry. This can certainly be exploited any time Kirby enters a door from the right, since you can slow down to get a higher X subpixel without losing a pixel. You can also jump before/into a door if a different Y subpixel would be more beneficial for the next room. When approaching a wall, Kirby will seemingly be placed against it and his speed set to zero as soon as he comes within one pixel of the wall, even if he should be many subpixels away. This means that to go through a wall of star blocks like Kirby does twice in the second room of level 3, he must go from being at least one X pixel away from the wall to being past the wall while at the correct Y pixel the entire time. This is easy if Kirby's Y pixel is correct for multiple frames, like at the peak of a jump, but must occur during a single frame if Kirby is falling at terminal velocity, like at the end of the room (credit to Marche9th for figuring out how this works). I've noticed that there seems to be something akin to a framerule when entering doors, although it doesn't seem consistent - sometimes I will enter the door 1 or 2 frames earlier but it will just take longer to load and won't be any faster, then if I save even more frames it loads instantly, suddenly saving 3 or 4 frames all at once. Is there anything known about that, or about why the game lags at different points even with the same inputs and enemies on-screen? Sorry for the long post.