cover

>> Play the game <<

Colossal Adventure

There is endless literature online and in books about Crowther & Woods' original, ADVENT, so I won't reiterate it here. If you're not aware of the history of the game, the only thing you really need to know is that ADVENT set the template for almost every text adventure game that came after it. Very little in the way of control and description has changed since that very first game, which just goes to show how brilliant a piece of work it was.

About Level 9's version

The game "Collossal Adventure" (version 2) by Level 9 that this is a port of was a game based on an earlier version by them, which was an almost identical clone of an earlier game (Adventure 1), which was itself an almost identical clone of ADVENT. Each iteration added almost nothing to the original, except for the version here which added graphics for the first time.

In their versions, L9 moved one or two pieces around, but otherwise, the main game plays identically to the original by Crowther and Woods. Luckily for L9, the original wasn't copyrighted so they didn't get sued, but they were on very shaky ground.

Adding graphics to every location was a minor miracle on the 48k ZX Spectrum!, and they even added a short 'end-game', which was around 1/5th of the size of the main game, and had a different 'feel' to it. The L9 parser was slightly more intelligent than the original, allowing for more constructs such as "do x AND y" as well as "get x AND y". It even supported "get all except x", but this construct is not simulated here (yet).

Because of all the parser refinements, the additional graphics, the bug fixes (the original would crash in certain circumstances), and the end game, this version of Colossal Adventure, as given in the Jewels of Darkness series, is often considered to be "the definitive" version of Colossal Cave, although lovers of versions on other systems may disagree. It's freely available as an image download for any ZX Spectrum emulator, and has been ported to Android and IOS, as well as almost every other system and Operating System.

The Maze of Twisty Passages

One of the main features of text adventures are non-linear mazes, i.e. a jumble of rooms all interconnected in such a way that you can't rationally draw it on paper. Adventure 1 contains not one but two of these, and L9 added a mini-third maze as well.

The only way to map a text adventure maze is to use the description (if unique) and the list of available exits as a 'finger print'. In one of the mazes, L9 had cut a corner and made one of the mazes semi-procedural to cut down on the space. So you can't 'fingerprint' locations in the maze uniquely. The only way around it is to place objects in the locations to make them different.

The maze has 20 locations, but there's only 14 or 15 objects you can (easily) get hold of by that point in the game, so uniquely mapping the whole maze turned out to be a real effort. It took around 6 hours to map all 12 exits from all 20 locations, which then allowed me to build up a recreation of the dynamic algorithm they used.

Being a dynamic algorithm, there's a load of shenaneghins with objects being placed and removed. I had to wait for Adventuron to support Collections and string manipulation functions before it was possible!

In so doing, though, the maze is a /precise/ clone of the logic used in the space-reduced copy of the twisty maze that L9 implemented in their version of ADVENT.

The end-game

The L9 version of ADVENT is often considered to be the 'definitive' version because of the parser refinements, the bug fixes and the graphics. However, it's the end-game that really makes it stand out from the crowd.

The majority of the game is a treasure hunt through a cave system. Apparently it's loosely based on a real cave, and uses real spelunking terms (yes, this game taught me the word 'Spelunking' aged 9), but escaping the cave with all the treasure in the original just provides you with a "well done." message.

L9 decided to add their own little flavour, so they created an end game which differs in texture from the original. For starters, the end-game is more of a 'quest' than a treasure hunt. The primary goal (which nets the most points) is to rescue some elves. The secondary goal is to not get killed by a relentless flood which is always moving towards you through the passageways at a steady pace. The final goal is to find a few pieces of treasure, manage your inventory to solve a few (easy) puzzles, and then escape.

The Good

The good thing about the end-game is that is gives you some nice closure, and extends the game without feeling 'more of the same'. It has unique graphics which feel more polished than the graphics elsewhere, rewarding the player who makes it this far.

The Bad

The scoring system balance feels a bit odd. Level 9 copied the scoring directly from the earlier versions, perhaps even plagiarising the logic from the fortran code, so when you end the main game you have the exact same score as the earlier version. However, the end game scores you 5 to 10x as much for treasure and actually rewards you for actions (which the main game doesn't). So, you can spend weeks watching your score crawl up to around 350 out of 1100, thinking "my god, how big is this game?", and then you hit the end-game which will give you the other 800-or-so points in the matter of an hour or two.

The Ugly

The end game has quite a few typos and some logical issues. You have to remember that reloading an earlier save on the zx spectrum was a LONG operation, rewinding the tape, seeking the save point, reloading (30seconds to 1 minute), so having the game kill you because of the flood or one of the other (new) dangers was particularly painful. To add insult to injury, the flood makes its way into a non-linear maze, so you can spend ages spinning around the maze looking for the exit, being killed over and over again. Luckily the exit is very close to the entrance, you just need to make that first step in the right direction, otherwise you're trapped.

Finally, when the end-game first starts, you're presented with a choice of items to take. You can only take 4 things. 3 of the 4 things are useful, 1 is not. So it's very easy to get quite far in the end game, and then realise you needed to completely restart the endgame to choose another item instead. On a modern PC that's no problem at all, but on a speccy, that'd be minutes (or hours) of lost time if you needed to go back quite far in your reload.

About this port

I recently started playing this game on a Speccy Emulator, the ROM for the game is freely downloadable on dozens of Abandonware sites, and found that getting it set up, and the speed of play was an (admittedly low) hurdle to people playing the game.

There are even some Javascript speccy emulators online which will let you play it with almost no barrier to entry, but you can't save your game, which means you can't put it down and come back later. So, considering what a great game it was at the time, and in order to finish it myself, I decided to remake it using a text adventure system. I considered Quest, but settled on Adventuron, as I've used it a lot recently, and it's remarkably easy to do very complex stuff.

Accuracy

It was very important to me to get this port as accurate to the original as possible. The original A-Code source isn't available, and I couldn't find a decompilation online either, just an A-Code interpreter which lets you play the game on many new systems.

So I spent many painstaking hours counting turns, and checking frequencies of actions to ensure that the RNG and state machine is precisely the same as the L9 original. I even had to completely abandon Adventuron's amazing command processor in order to tune the error and action messages to be identical to the original.

Summary

Porting the game to a modern system seemed a good idea(tm), since playing it on an emulator still retained some of the annoyances of playing it on the speccy, excepting that most emulators allow you to take snapshots in lieu of saving to tape.

I didn't appreciate quite how much there was to it, it's taken quite a few hours with grid-paper and pencils to map out all the areas, but it was worth it.

The game, when made accessible, is great to play, although it contains some logical problems that a modern audience may not have the time to work out, and will get annoyed.