This afternoon I’ve been enjoying playing J.J Flash’s new implementation of Colossal Cave Adventure 101*, a hack of my streamlined and randomized take on the original Adventure game. You can now play Advent 101 in your web browser!

My key innovation to Crowther & Wood’s adventure was heretical: I randomized the map. Heretical because the original map was a faithful simulation of Mammoth Cave in Kentucky. But the random map makes the game more replayable. While the ways to overcome each obstacle are the same from game to game, and resemble the original, they are randomly distributed now as well. So even if you remember how to get past each obstacle, you’ve got a new map to explore. And, of course, I added a few new puzzles to solve. I also added a map command, to speed gameplay. Looking back, it’s clear my inspiration was the fun I had exploring a randomized galaxy in the classic Star Trek BASIC game.

I further streamlined the game to remove the “guess the verb” aspect of play. While it uses a two-word parser system, it’s driven by INKEY$, so selecting the first letter shows the entire word: no guess-the-verb problems here. With only 26 verbs and 24 nouns, you just type the first letter. For example, type “T space B” for “TAKE BIRDCAGE”. (For compounds like “WATER BOTTLE” and “PERSIAN RUG” and “LIVE MAP” you just type the first letter.)

J. J. Flash has made some great improvements to the game:

  • Much better font, with mixed case rather than all UPPERCASE
  • Sound effects
  • A nice use of color to indicate which items are treasure and which items are obstacles
  • Fixed a bug where some random maps wouldn’t let you get the maximum score.

I’m less excited by his changes to the map, but I understand them and see how most people will consider them improvements! You now have to find the live map to use it. Mapmaking on paper was a regular part of adventure games. At least you only need to map manually at the beginning of the game. But the map now takes the upper part of the screen, so it is always visible, a definite improvement. He also changed the map so that it wraps around, which I found confusing, but which no doubt helps solve the bug about unreachable rooms, as well as speeding up the game (less time walking down empty corridors).

All in all, I prefer his implementation to mine! Though I was going for a late 1970s microcomputer aesthetic, and he went for an early 1980s aesthetic!

Some random tips for playing—

  • ACTIONS: List the 24 verbs you can use.
  • BACK: A convenient way to exit a room after encountering an obstacle.
  • HELP: Provides a random tip. Rarely contextual (something I would improve in a sequel).
  • VERBOSE: Normally it provides a short description to a room you’ve already been in: e.g., “You are in a vast hall with openings to either side.” Type VERBOSE to toggle this or use LOOK to review the long description.“You are in a vast hall with openings to either side. A wide staircase leads down into debris. The hall is filled with wisps of white mist swaying to and fro as if alive. A cold wind blows up the staircase.”
  • XPLORE: If you do get stuck somewhere on the map, say where every path is blocked by an obstacle, use XPLORE (sic). “You have crawled around in some little holes” and then end up in a randomly chosen room.

I encourage you to go and play the game! Then go and read J.J.’s development log and look at his prototype source code.

*The original platform I used for Advent 101, LowRes Coder, was banned by Apple from its App Store for the crime of having its own message boards, where people shared code and taught one another the system in a wonderful community.