Submission #5135: Flip & WarHippy's SNES Eek! The Cat in 16:39.67

Super Nintendo Entertainment System
BizHawk 1.11.4
Submitted by Flip on 6/8/2016 3:31 PM
Submission Comments

Game objectives

This is an improvement of more than 400 frames over the previous submission.
  • Emulator used: BizHawk 1.11.4
  • Takes damage to save time

Level Times

Timing taken between the emergence of each intro screen. (Edit: Not entirely accurate now, due to updated movie)


Subpixel manipulation

Far more attention was paid to subpixel values this time, which accounts for the vast majority of savings. The game works with 8 units per pixel, with our partners moving with default speeds of 5/6/7/8/10 respectively. Each variation on when we accelerate, or kick, can give subtle differences in these values, which all have to be fully tested. They may not provide any immediate difference, but may mean the difference between making a jump or not on a later section. They may add up to a large enough amount to allow our acceleration to spill over onto the next speed value, or maybe we would actually prefer smaller speeds because then it'll be easier to turn around. Maybe we want the smallest one possible, but which still allows us to perform a particular trick later on? If we do become faster on one section, that may just mean a tactic change to compensate on the next platform, and so therefore the next one too, etc. As you can imagine, it's somewhat impossible to truly know the long term effects of Subx manipulation, and so painfully all variations have to be fully tested and compared with each other. This does sadly require an exponential increase in the amount of rerecords needed, but it pays off. This involved continueing what was previously thought to be inferior strategies, but might still become better later on. All have to be fully tested up to the next convergence point, where our x coords become standardised. Such examples include slamming into walls, entering beams, teleports, or putting our partner on a water barrel.

Staggered Acceleration

Speed generally increases by increments of 4 each time,. While waiting for partners to move along corners, the standard drill is to use the spare time to get a running start. However, the maximum run up won't necessarily give the best x coord, and so it's often beneficial to get smaller run ups instead. This will only be valid if a few extra frames to not give sufficient acceleration to spill onto the next speed value.


Rather than simply running into our partner from behind, we can instead choose to jump and land slightly inside them, which can displace them forward by x=2, 3 or 4, depending on both the gradient and Eek's position.

Stage by stage comments


01-No improvements.
02-The first of the annoying levels to test. Each gap we cross gives us varying tactics of when to actually kick, and how long to accelerate for, each resulting in the next section having also different potential tactics. All combination of everything had to be fully tested, all the way to the very end of the level sadly. The effort pays off, since saved time even means we can clear the porcupine in a fluid motion without needing to stop. 40 frames saved.
03-To push granny off the barrel as soon as possible, we obviously need to land behind her as soon as possible. However, just doing the basic sprint from the left hand edge results in our x position not being entirely optimal. We would either be x=4 short of landing, or due to our high speed would land halfway along the barrel instead. Of course, this means our motion would have to be delayed until Granny's arthritic bones moved her sufficiently along to being pushing from this central position, wasting precious frames. However, since we have a bunch of downtime, this time it gets used wisely. Using a few wiggles and speed control, the x coord is manipulated into a giving +4 difference, resulting in a proper location to land on the barrel. This removes the wait and saves us 18 frames on the first floor. On the next floor, just jumping directly up (with a bit of extra height from our attack) can get us in position to swap Granny, without the need for annoying skidding/turning first. But once again, this time we constrained by the coconut cycle on the top floor, reducing all improvements to 13 frames saved.

Eek! vs. The Flying Saucers

01-Changing when we kick over the first enemy can give slightly different x subpixel values, which while providing no immediate benefit can mean the difference between making or missing a kick during the zigzag section. Again, fully checking all values found the optimal solution, providing a 12 frame improvement getting upstairs. The UFO fire cycle then slows us down to only 2 frames saved. Next, getting past the enemy with a long push is 7 frames faster than swapping, and 4 frames worth of optimisation on the roof gives total saving of 13 frames.
02-Better optimisation on lower half saves 12 frames ascending upwards, but both the laser cycle and the bridge cycle reduce this to only 2 frames saved getting into the teleporter. For the second half, the bubble journey was optimised by a further 17 frames, which would otherwise be lost waiting for Annabel to walk into the beam. But since even the previous TAS was forced to wait upstairs for a bit, we have approx 40 frames worth of excess time to utilise somehow. Rather than just using it for increased acceleration at the end, instead it gets used at the start of the section to push her further along in the first place. But due to slow speeds and the awkward ledge positions, the inefficiency of pushing her along does cost significant time, resulting in only 15 frames being saved, for 17 total this level.
03-Better acceleration control and subpixel manipulation saves another 17 frames total.


01-The only waiting period here happens after being whacked by the stalactite, and so that needs to be shortened. This was done by crossing all other gaps earlier, lengthening the duration of the final stretch, to kick over the gap with greater speed. That, a better opening, and jumpshoves saves a significant total of 23 frames.
02-With our partner moving with speed 7, and a long waiting period at the start, this gives us time to set up 7 potential subpixel positions to test. All of these have to be fully executed up to the next convergence point, which turns out to be the kick onto the mushroom. All variations can have 3 frames saved through MOT properly, but a further 3 can be saved through only one unique subx position. For second half, the saved time so far means we can beat the fire cycle, so our partner no longer gets burned, resulting in a huge saving.
03-10 frames get saved in the first section, but then 5 of them get lost due to the fireball blocking our way up the zigzag. For the next major section, we get restricted once again by periodic fireballs motion. Replicating the previous strategy requires waiting for a fireball to get out of our way on the first descent, and then waiting again for another to free us on the way down with the barrel. This negates all improvements, and giving us at most a 2 frame saving on the final time. So instead, our partner was released much earlier, eliminating the corner wait, beating the fire cycle, but then having to wait longer at the end for our partner to catch up. Worth it however, since overall that makes this level 30 frames faster.
04-Deliberately kicking earlier or later on each tree allows us to maximise the longest stretches, and minimise the shortest ones. This'll keep velocities as high as possible, saving 9 frames.

Bearz 'n The Hood

01-6 frames saved ascending on first section, 5 Frames lost waiting for the helicopter cycle. More time wasted waiting for the lift, then waiting for more helicopters, and then finally the trashcan enemy. 0 frames saved.
02-8 Frames saved ascending to lift, 8 frames wasted waiting for it. As you'd expect, no frames possible to be saved here, only 1 frame quicker loading the level for some reason.
03-Jumping over the buildings allows us to transverse the majority of the upper course without needing to slow down, saving 50 frames getting to our partner. This big saving gives us enough time to set off all the manhole covers in the sewer BEFORE we position our partner on the barrel. Obviously the barrel still restricts our progress, but now we now have a huge amount of spare time for a maximum run up, saving 20 frames on the final stretch.

It's A Wonderful Nine Lives

01-Proper speed control up first bit saves 5 frames, and allows us to access the washing line ledge with a lower X Coord. A smaller distance to transverse means we don't spill onto 18 speed, and that means we can kick our partner without excess distance traveled. This then saves time when we're forced to go back to retrieve him, finishing the upper section 16 frames faster. But like always, the electricity cycle at the very end restricts our progress, forcing a slight route change. Our partner gets rerouted above, and dropped onto the power grid instead. With the saved time so far, we can get just far enough to kick into the low hanging ceiling, which allows us to continue with minimal delay. Using this intermediate step does mean that we're now at lower speeds at the very end, slowing the final dash down, but overall this new method results in being 5 frames faster than simply waiting at the beginning.
02-First half dictated by lift, second half by electricity cycle. A few frames were saved on the descent, but were not needed, as there's more than enough time for the new trick anyway. Sprinting to our partner from the above girder gives us greater speed, which saves 5 frames crossing the final electricity grid.
03-Another common example where tonnes of potential subx positions were needed to be tested, while we wait for the lift to ascend. Clearly worthwhile though, since individual improvements eventually built up to the point where we can utilise the ball and chain again, giving nice total of 53 frames saved.
04-MOT and light kicks used on more spots, which were overlooked in the previous submission. 50 frames saved on first half. Despite being so early that the lift now blocks our way, simply by choosing to do the next few kicks early as possible, means we can still have a long acceleration burst but now done upstairs instead. Next using the nearby wall ledge to slowdown saves another 4 frames turning around, for 55 total.

Fog: Judging.
Samsara: E E K B O Y S (picking this up from Fog with his permission).
Samsara: File replaced with an eek-provement, WarHippy added as a co-eek-thor, and eek-cepting as an eek-provement to the published reek. Run. Excuse me.
feos: gfdsja
Last Edited by adelikat on 10/18/2023 12:07 AM
Page History Latest diff List referrers