Crystal Caves is a DOS platformer where your goal is to help luckless entrepreneur Mylo Steamwitz collect all the valuable crystals from each stage to fund a Twibble ranch.
TAS Parameters
- Complete all levels in the fastest possible time without cheats
- Emulator used: JPC-RR 11.7 - default BIOS and VGABIOS, OS image is FreeDOS 1.2
- No level skip glitch - it is possible to complete 2 levels by exploiting an Out-Of-Bounds glitch on the world map. This technique is not used in this TAS.
- HDD image includes a complete install of all 3 episodes, though only the first is completed in this submission.
Complete listing of HDD image, derived from the Steam package of Crystal Caves. Steam uses DOSBox for emulation; this is just the game files extracted from that package.
file |
CC1-1.SND |
CC1-2.SND |
CC1-3.SND |
CC1-F1.MNI |
CC1-F2.MNI |
CC1-SPL.MNI |
CC1.APG |
CC1.CDT |
CC1.CFG |
CC1.END |
CC1.EXE |
CC1.GFX |
CC1.HS |
CC1.TTL |
CC2-1.SND |
CC2-2.SND |
CC2-3.SND |
CC2-F1.MNI |
CC2-F2.MNI |
CC2-SPL.MNI |
CC2.APG |
CC2.CDT |
CC2.CFG |
CC2.END |
CC2.EXE |
CC2.GFX |
CC2.TTL |
CC3-1.SND |
CC3-2.SND |
CC3-3.SND |
CC3-END1.END |
CC3-END2.END |
CC3-END3.END |
CC3-F1.MNI |
CC3-F2.MNI |
CC3-SPL.MNI |
CC3.APG |
CC3.CDT |
CC3.CFG |
CC3.EXE |
CC3.GFX |
CC3.TTL |
43 File(s) 1,149,074 bytes
Mechanics
CC has only 4 inputs: left, right, jump, and shoot. Jumps have a fixed duration unless you collide with the ceiling (which stops vertical and horiontal momentum) or wall (only stops horizontal momentum). Shooting launches a rocket that accelerates horiontally until it collides with a wall or enemy. Only one projectile can be onscreen at a time, and the explosion from your previous projectile counts toward this if it hits a wall. The upshot of this is that the explosion graphic deals damage like a regular shot.
Each level includes an air pump, which causes instant death if you shoot it. This is a minor routing concern at most, but pretty entertaining in a casual playthrough.
Power-ups to collect include ammo for your rocket pistol, temporary gravity reversal, a temporary super-powered meteor gun with unlimited ammo, a mushroom that grants invincibility, and (in one level) a time stopping tool that causes enemies to freeze and become harmless. There are optional treasures that increase your score but otherwise have no effect.
There are currently no known methods of RNG manipulation, but there are cheat codes (again, not used in this run) for extra ammo, invincibility, and at-will gravity reversal.
As an early DOS platformer, CC relies primarily on solid execution with minimal frills. Each level generally includes at least one damage boost to avoid triggering a message window about earning bonus points for perfect completion of a level, though plenty of levels have sections where damage boosts also inherently speed up the run.
The levels have an internal numbering system not displayed to the player, but this commentary will just follow the stages in the order of completion.
First Stage
Straightforward jumping; the primary optimizations here are collecting the crystals over the hammers without returning to the ground, closing some of the initial pop-ups that explain power-ups, and ignoring areas with bonus points but no crystals.
Second Stage
Saves time by ignoring the light switch. The ice block column is a good demonstration of the delays imposed by the 1-shot-on-screen limit. Stepping under the elevators saves a lot of time.
Third Stage
The falling rocks are RNG; I was able to get different patterns by doing stages in a different order, but all attempts to manipulate the pattern by delaying entry or changing inputs before entering the level didn't change the pattern, and modifying level order loses more time than it would save. The jump physics at the very end of gravity reversal pause for a frame while inverting your character and resetting your momentum.
Fourth Stage
This level is entirely in reverse gravity. I elected to take early damage boosts with fixed locations because the slime enemies are easy to hit mid-jump when required. 2 frames were used to collect the extra ammunition in the upper right of the map to avoid running out in a later level.
Fifth Stage
Gravity inversion loses 2 seconds here because you have to collect the STOP sign.
Sixth Stage
Snakes leave a puddle of harmful goo when killed, so you save the most time by damage boosting through them. Gravity reversal has a huge 13-second time waste which I spend moonwalking. Arguably damage boosting on the alternating platforms may save time over damage boosting through the lasers at the beginning of the room depending on movement seeds.
Seventh Stage
Low Gravity - This level introduces recoil from firing your weapon, causing you to pause and move back a frame. Speeding through the ice block labyrinth is a hollow victory because you spend a lot of time waiting for the hovering platform. Moonwalk for solace.
Eighth Stage
I had to reset my initial run because I ran out of ammo for this level. Jumping from underneath the falling sign is probably the hardest trick for a human to pull off after falling from the room at the top.
Ninth Stage
This room has some really satisfying synchronization of platform jumps and damage boosts.
Tenth Stage
This was always "level 1" when I played through this as a kid. Evading the dinosaur is a fun stunt. Waiting on a platform in the lower right, again, is no fun in a TAS but you lose more time waiting on it by trying to do it first.
Eleventh Stage
There's an unnecessary shot before shooting the purple wall lizard just because I like the explosion animation. Killing that creature does save a few frames when jumping down that shaft afterward. Features lots of platform moonwalking.
Twelfth Stage
Killing one robot is necessary to avoid burning laser death. This level more than any other makes me wish for nuance in the jump controls to do shorter or higher jumps. Killing the robot on the bottom with a wall-explosion is fun recompense.
Thirteenth Stage
Sadly there's no reason to hurt the wandering eye-beast, which had my favorite animation as a kid: you blow up its eyes and it continues to walk around with ragged bloody stumps. Features yet another mooonwalking platform delay. The rocket shot after the long fall is pure entertainment value, it threads between a bat and the air pump.
Fourteenth Stage
Fun daredevil jumps in the upper right of the stage followed by dumb-looking faceplants into wandering monsters.
Fifteenth Stage
Super Mario Bros 2 crossover! This level features lots of snake-dodging and feels really slick to watch.
Sixteenth Stage
The only gravity reversal to really justify its full duration. The inverted jumps by the falling DANGER sign were extremely fun. I made a few attempts to avoid the overhead crossing, but the two robots cause a ton of damage, and jumping over the 4 spikes requires a damage boost, so it didn't work out with this seed. If you only watch one room this run, this is the best.
The End
Mylo sells his bounty and opens his beloved twibble farm, only to learn that he just isn't cut out for the hard work and ecological devastation these adorable critters induce.
Post-Script
I primarily did this to learn how to use the tools for making DOS TAS videos. I've definitely got room for improvement with my methodology, but I'm considering doing the other 2 episodes of CC next, and then perhaps Secret Agent, a game series made with the same engine. I've barely been able to make time for this project though, so it will likely be some time before I can produce the next iteration.
If anyone out there finds ways to improve on this run, or wants to do a version with cheats and level-skip, I'd love to see it!
I announced this project in the
forums and got a lot of support to get myself up and running. Big thanks to DrD2k9 and c-square for helping me learn the ropes, and major kudos to pidgezero_one for her excellent resources posted on Speedrun.com and her YouTube channel.
Noxxa: The TASed gameplay doesn't always look optimally tight, both due to restrictions of the game itself and the fact that the game itself allows some leeway through timing dependencies like moving platforms, but it is solidly done overall and there's nothing actually reject-worthy about the movie.
With that said, audience response was quite positive. Accepting for Moons.