This is one acrobatic croc !!
Objectives
- Heavy luck manipulation
- Heavy resource management
- Major skip glitch
- Takes intentional damage
- Genre: platformer
The TASing Process
An integral element of this TAS is the fact that Croc loses a random number of crystals (between 1 and 4) for every hit he takes. Because of this, I made this TAS in two passes: the first pass hacked the crystal count so Croc would not die from enemy hits, meaning I could pay sole attention to optimizing movement and the like and not worry about RNG. The second pass would then rework the first pass with the crystal count unhacked. It is much faster to run through enemies, rather than jump over or tailspin through. Unfortunately, there are a lot of enemies and comparatively not a lot of crystals. This means we need to manipulate enemies to only damage us by 1 crystal most of the time. It is a massive headache to find the most efficient combination of inputs to minimize crystal loss while maximizing distance gained for one enemy hit... let alone the 165 or so enemy hits that take place over the course of this run. For this reason, I developed a script which would test a reasonably exhaustive set of inputs at each enemy hit, and keep the set which optimized crystal count and distance gain the best. This script was the only reason I even finished this TAS, showing that knowing how to program something simple can go a long way.
The first pass TAS had a final time 10:17.38, meaning we lost less than 4 seconds over the entire run to RNG manipulation—that equates to about 1.4 frames lost on average per enemy hit which is WAY below what I was anticipating at the outset. Saying I'm *quite pleased* with the results the script has brought to the table would be an understatement.
Skipping Worlds 2 and 3
6:11-6:42 The skipping of Worlds 2 and 3 is NOT a hack. This is a real exploit wherein each time you hit "Retry" after beating a boss, you'll skip one extra world. It's that stupid simple of an oversight (found by mrchukthebeaver in 2020).
General Movement
This is some of the wonkiest I've worked with in any game. Normally after Croc lands from a jump or fall, the camera must scroll to a predetermined height before Croc can begin running or jumping again. However, this delay can be cut short with either a stomp or landing at the very end of a tailspin. Stomps are optimal for all jumps where the platform you are jumping to is at least 64 pixels higher and less than 64 pixels horizontally from your current position. Pretty much all other jumps will require a tailspin to cut the delay short. This delay does not apply when interacting with moving platforms, breakaway platforms, or "?" boxes.
Whenever Croc is in the air very close to the ground, he will briefly "feel" ground below, and all midair horizontal movement will be stopped. This is why when jumping from platform-to-platform, more time is saved if you initiate a jump at the very edge of a platform, while slightly less is saved if you land at the very edge of the platform. These two situations save time because Croc will "feel" ground for less time.
nymx: Claiming for judging
nymx: Re-uploading for cycle count correction.
nymx: This is really good work. The fact of abusing enemy hits, with a script to minimize damage, is exactly the kind of effort needed to make this TAS stand out. I believe this TAS will hold its ground for a long time. Comparing against the WR, you demonstrate a constant lead that is strong and impressive. Great job!
Accepting to Standard.
Spikestuff: Processing...
nymx: Re-uploading to correcct a cycle count problem. Not sure why this didn't happen the first time.