1 2
9 10
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Nice recording this! Do off screen kirby helpers "exist"? Or do they, at random points, just spontaneously transform to say, Parasol at 11% of the time? If you froze the rng right before they transform in a different room, do they keep transforming?
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
jlun2 wrote:
Nice recording this! Do off screen kirby helpers "exist"? Or do they, at random points, just spontaneously transform to say, Parasol at 11% of the time?
Helper Kirbys exist and actually jump around in one of the game's rooms. If you are not in the same room, no new objects spawn there. Also, if you are not in the same room, Helper Kirbys can randomly enter "transformation state" and get a random ability. The game does this by assigning a ROM pointer to that helper Kirby as well as a "next ability" value. I described here some addresses in ROM that might be responsible for these assignments. I was under the impression some abilities are more rare than others so that's why I tested it. According to empirical math, if this test is run for a very long time, the probability for each ability will eventually become clear.
If you froze the rng right before they transform in a different room, do they keep transforming?
The assignment for "transformation ROM pointer" and "next ability" seems to happen if the RNG seed is "good" on that frame. If the RNG seed is changed by editing, then that Kirby might acquire a different ability and at a different frame - independently of what would have happened. This was the result the other day I didn't let it run as long as before. At least I can see Parasol and Cutter still are high on the list and Magic is rare. :o) Current progress: I tested almost a whole week going through rooms 523 and 530 and even ran some semi-bruteforcing (that is, testing tons of different seeds we can produce) lua on it but the helper Kirbys would always acquire the same set of abilities. Beam, Cutter, Missile, Cupid, Bomb... The Soft Reset which I did shortly before this section resets the RNG seed so it will always be predictable and the same from that point. I added 2 idle frames during the start-up after the Reset and after bruteforcing the room 523 again, after a while a helper Kirby got Sword unexpectedly. This seems like a rare outcome. I also tested with a few more idle frames (and "run/turn back/run" frames) and in other places, but I didn't manage to get anything else. Interestingly, after all this testing, I noticed the amount of lag in the switch rooms (Cabbage #1 and #2) would vary significantly. I was also able to find a slightly better strat in 530 and therefore saved 19 frames. (Regular room transitions can also be manipulated to have less lag but that's only sometimes and only 1 or 2 frames.) During this testing, I saved a bunch of bk2 that would enter room 504 at different frames and different RNG seeds. For now, I will advance forward with the "good outcome that saved 19 frames". Later I will try to append input of upcoming rooms to each of them to check if a helper will get Magic in one of them.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
100% WIP update: I'm in Carrot Castle (in the castle interior) while still changing RNG all over the place throughout 8 rooms to check outcomes. I'm still trying to manipulate Magic Helper. Already 75000 re-records... So I said in a previous post, that helper "random transformations" may be decided depending on a given RNG seed on a given frame, but that might not be it. I think I must have tried more than 1000 different seeds by now. After testing so much, I'm under the impression that a set of abilities is decided ahead of time. If I let my input file run while changing RNG throughout the previous 5~6 rooms in different ways, the outcomes are usually more or less the same. I saw certain abilities pop up in later rooms, some often and some rare. Spark, Cutter, Beam and Tornado were a bit rare. Wheel was rare. Cook was very rare. Smash Helper appeared once about 300 frames after input ended. So I will continue into the next rooms and try the same method again. If all fails, I can still do the Wheel route in Carrot Castle and do the Titan route later at no time loss.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
More on topic of Helper Kirby RNG: I found a part in EWRAM that manages random events for the helper Kirbys. Each Kirby has a bunch of flags and timers and some pseudo RNG. I did a bunch of testing but didn't really find anything significant yet. Here is a watch file I made: https://tasvideos.org/UserFiles/Info/638626773213215687 ("event count" might as well be some counter used for the pseudo-RNG) You can wait until shortly before a helper Kirby gains a random ability and watch the timers. "Timer 1" will run down to zero over and over, but stay at zero every once in a while and if that happens, the game advances the RNG every frame for 1~2 seconds - I will refer to this as a "RNG roll event". I guess this is to ensure helper Kirbys will have a higher chance of something happening (i.e. randomly gaining or losing an ability). Whether or not "timer 1" stays at zero and an "RNG roll event" occurs, seems to depend on the regular RNG itself, too. While an "RNG roll event" occurs, you can change the RNG by the usual means (creating dust by turning around or running etc.) to slightly influence the outcome.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
No new updates on 100%. I have gotten burnt out on trying to manipulate luck in route [03] so I'm taking a break. In the meantime, I looked at low% again. I determined in 2011 that it is possible to beat the game with 27%, see here. Some things I found that might be important:
  • It is possible to skip two rooms (740 and 790) in Moonlight Mansion via Parasol glitch.
  • When traveling to Carrot Castle etc., it is best to go through rooms 507 -> 137 -> 194.
  • When traveling to Candy Constellation, going through Moonlight Mansion or Peppermint Palace takes the same amount of rooms.
  • When going from Carrot Castle to Peppermint Palace, you can skip rooms 121 and 226 by taking the warpstar in Carrot Castle in room 731. But this Carrot Castle route takes 2 rooms more than the normally fastest route so there is no gain.
  • If there was a way to skip down through platforms, you could save 1 room when going from 513 -> 515 in Cabbage Cavern.
  • If there was a way to glitch through walls in any of the "bottom Lever rooms" (Olive Ocean and Radish Ruins), you could save a bunch of rooms, but it is not possible.
  • You can reset at a certain frame when the game transitions from the tutorial into the hub cutscene which results in the game not setting the "have visited this room" flag for room 801, but that room does not get counted to the completion percentage, therefore making it a useless trick.
After going through the game again with everything I know, it still results in 27%. You can visit 2 rooms more which still results in 27%, with a third additional room resulting in 28%. It would take 6 rooms less to result in 26%. It looks like 8 visited rooms (one flags byte being fully set) make up one percent. With this knowledge, you could probably calculate a floating point percentage that could be used as a true determinator of what percentage we got.
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I tried figuring out the % calculation.
wikirby.com wrote:
Enter every room in the game besides Rainbow Route - Central Circle and the tutorial rooms0.136% per room (272 in total) Total: 37%
Open Treasure Chests and pull levers0.45% per chest/lever (80 chests in total, 4 levers in total) Total: 37%
Push every Big Switch1% per switch (15 in total) Total: 15%
Collect all the shards for the Dimension Mirror1% per shard (8 in total) Total: 8%
Defeat Dark Mind, and watch the staff credits in full3%
However, when setting flags for 2 chests and 16 rooms, it should be 3%.
2 * 0.45 + 16 * 0.136 = 3.076
But the game shows 2%. I'm under the impression that there are different amounts of % added even for the same type of flag.
1 2
9 10