This is one acrobatic croc !!
Highlights
- Better skips in Level 2-2 (the ski lift level) never before seen
- Heavy luck manipulation
- Heavy resource management
- Forgoes major skip glitch
- Takes intentional damage
- Genre: Platformer
Differences from the Any% TAS
This TAS forgoes the major skip glitch used to skip Worlds 2 and 3 as shown in the Any% TAS, playing an extra 10 levels and 2 boss fights. There is a larger crystal to enemy ratio along this route compared to the Any% TAS, so crystal management was not as much of a concern here. The highlight of the run in my opinion is Level 2-2 (the ski lift level), where there are a couple exciting new skips/improvements to existing ones. One uses a bonus area platform as a jump point, another does a triple enemy bounce to cross a gap, and my favorite stomps a beaver to skip an entire ski lift ride!
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 should manipulate enemies to damage us by just 1 or 2 crystals most of the time. But 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. 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.
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.