Joined: 7/14/2014
Posts: 57
Location: Kansas City, MO
After spending some more time in the bamboo forest, I'm starting to better understand the significance of the game's RNG clock @ 000002/000003. It turns out that when 000002 loops back from 255 to 0, it increments 000003 and changes certain things in the game, like which character is targeted by enemies.
For example, I approach an area that will spawn some Tengu. They drop on Rocky. Note the 000002 and 000003 values.
If I wait before entering that same area and let the 000003 increment occur, the Tengu will drop on Pocky instead.
The same RNG applies to the bamboo seedlings and which character they chase.
It also appears to be responsible for item chest RNG, flipping between items depending on the 000003 value when the chest is opened:
And I'm sure there's even more that I have yet to see.
That said, with each change taking 256 frames to occur, it doesn't exactly lend itself to a whole lot of useful manipulation unless you coincidentally wind up with a "switch moment" near a part where it might matter. If nothing else, it's at least something worth keeping an eye on.
Current Project: Pocky & Rocky (SNES) improvements
Status: Stage 2 - fighting the octopus
Frames improved so far: 577
Joined: 7/14/2014
Posts: 57
Location: Kansas City, MO
So this segment took a bit more time than expected and the bamboo forest is still annoying to optimize, but the payoff has been worth it. I'll kind of miss this stage's double dashes, but all of these gains were just too substantial to pass up.
Link to video
here's the original again for reference: https://www.youtube.com/watch?v=eWMlDwvnpSM&t=111s
A quick description of saved time so far:
Screen transition up: old @ 7396 / new @ 7345 (-51)
The old double dash had to rely on some extra bounces to get headed in the right direction, which briefly delayed the screen transition. Since I'm solo dashing through there now, there's no need to wait.
Cyclops 1 appears: old @ 7874 / new @ 7744 (-130)
As mentioned previously, the solo dashes get through the first vertical section a bit faster on account of the lag + not needing to set up the tricky 2nd double dash. Even while taking the time to pre-damage the tengu, this version still comes out faster.
Cyclops 1 dies: old @ 8345 / new @ 8110 (-235)
Much less lag this time around due to the RNG I described in my post above causing a significant delay in the Cyclops's fire breath. If that RNG causes his target to change before his fire attack, he resets his routine (move left/right towards target -> attack) and wastes more time just moving. I'd estimate the early tengu kill to be a wash due to the similarly laggy monkeys it gets replaced with.
Bomb get: old @ 9477 / new @ 9162 (-315)
The trip through the bamboo forest is also faster with solo dashes, as was found earlier, but not implemented at the time because overhauling this level was too large of an undertaking. This is a further revised route that allows both characters to get past the line of seedlings at the end without having to damage boost.
Bamboo boss appears: old @ 9809 / new @ 9427 (-382)
Positioning both characters for an ideal tengu spawn at the bomb allowed me to kill them both immediately and not have to wait for either to reappear later. A tiny moment of waiting from Rocky was needed to bait the bamboo seedlings out of the ground though.
Bamboo boss dead: old @ 10438 / new @ 10003 (-435)
I found a better bomb position and timing, allowing for a pseudo-one-shot of the boss. A single normal attack is still required from Pocky, since the first hit on this boss (no matter what it is) causes an absurdly long invincibility period while a unique "hop" animation plays out.
Cyclops 2 appears: old @ 11624 / new @ 11143 (-481)
I originally thought that taking the time out to kill those bamboo seedlings (160 HP each!) would come out even with the original laggy double dash, but I was proven wrong. Killing half of them and damage boosting through the others (since I had health to spare) wound up being noticeably faster.
Cyclops 2 dies: old @ 11984 / new @ 11498 (-486)
This fight duration is nearly identical to the original. I'd attribute the 5 frame difference to a marginally more fortuitous timing of lag frames. I may adjust this fight a little bit still since I could easily dump Pocky into the water for some faster damage (similar to the octopus) and to get her down to one heart for Zombie Hovers on the raft.
Finally: Do you want to know where Black Mantle is?
This is basically the sprite delay glitch taken one step further. I saw it happening when I was putting together the original run, but could only get it to happen on inferior strats, so I didn't bother. This time, however, since Pocky only needs one shot at the bamboo boss, both characters can continue the sprite delay glitch until Rocky's bomb goes off. I'm not entirely sure what the exact technical cause is, but I'm thinking the combination of sprite delay + this boss's unique "invincible hop" + a bomb somehow breaks the connection between the boss and its dialog. The text will eventually disappear as soon as the raft starts moving.
Current Project: Pocky & Rocky (SNES) improvements
Status: Stage 2 - fighting the octopus
Frames improved so far: 577
Joined: 7/14/2014
Posts: 57
Location: Kansas City, MO
Soooo... it's been a while. Life's been a bit hectic, but I've still been making some slow, steady progress. Naturally, with this game's unfriendly RNG and entropy, the raft had many subtle differences (kappa position and timing, if/when crab bubbles pop, boss bomb throw distance, etc.), so I couldn't just follow the choreography of the original. Coming up with a new raft routine that can match or surpass the original has been tedious work, but I think I've got a segment that I can say I'm happy with now.
Here's up to killing the Raft Bomber Miniboss:
Link to video
Movie file can be downloaded here (created using BizHawk 1.11.1).
Continuing the frame count diffs from Cyclops 2 dies: old @ 11984 / new @ 11498 (-486)...
Miniboss appears: old @ 15617 / new @ 15083 (-534)
I tried to be a bit smarter with the zombie hovers this time around so the lag could be kept to a minimum. They now get used in areas with little to no lag, and even though the game slows down a bit when using them on the crabs, it's still faster than what the original did. I also tried to be a little more "expressive" with Pocky and Rocky and was able to include a few more trick shots.
Even though I couldn't quite do everything I was hoping for (namely the rhythmic 1-2-3 shore kappa hits because they spawned further apart this time), I'm pretty happy with the improvements made here in both speed and entertainment.
Miniboss dies: old @ 16316 / new @ 15763 (-553)
Having access to TASStudio this time around was both a blessing and a curse. It facilitated a good amount of lag reduction and more seamless attack sequencing, but it also exposed how awful this game can be at times. I'll spare you the full rant, but here are a few quick things to give you an idea:
-- Inputs are alarmingly likely to get eaten or overwritten with the previous input on the frame after the other character inputs a shoot command.
-- Say you have several shots mapped out for the boss and they all hit perfectly on every 4th frame. Now you work on moving the other character around. Depending on the position or facing of the moving character, the shots may no longer line up, even if there's no lag or collision.
-- Sometimes characters will walk just a tiny bit further when the other character is moving. This can present an issue if you're running a series of shots right up to the edge of the raft.
-- Diagonal movement in this game has 2 additional frames of "momentum" if you change your input to U/D/L/R. For example, if you have a few frames of diagonal movement, release one of the directions for 1-2 frames, and then resume the original diagonal input, your movement would be no different than just holding the diagonal. I've known this for a long time, but what I didn't know is that in some rare instances, releasing one of the diagonal inputs in the manner described above can prevent lag.
Fortunately, the difficult parts should be out of the way and the octopus boss is a lot less complicated (at least with the attack math now known), so I'm not anticipating many more differences from the original for the rest of this stage.
Current Project: Pocky & Rocky (SNES) improvements
Status: Stage 2 - fighting the octopus
Frames improved so far: 577