Update: Advent 101: Streamlined, Randomized Colossal Cave Adventure

When my 11-year old wanted to learn to program last spring, I got him a book on writing games in JavaScript. It had the source code for four games, but my son found it difficult. Four games?! A far cry from the 101 BASIC Computer Games that was my go-to (ahem) when I was his age, programming a TRS-80 Model I.

So I looked at a number of different BASIC implementations for his iPod Touch, eventually landing on LowRes Coder, which turns an iOS device into an 8-bit microcomputer circa 1979. I jokingly describe it as “turning your iPhone into an Apple II”, but – having programmed an Apple II – I can tell you that LowRes Coder is a lot more powerful. While it lacks functions and procedures (GOSUB rules the day here), it has a rich variety of sprite commands. And, thanks to the Internet, people can easily share their BASIC programs with one another without having to retype them or, shudder, load them from cassette. The point of it being “low resolution” is that no one has to worry about the quality of their art: the fun is in making the games.

And my son found, as I did before him, that it is easy to write BASIC programs. Loving math, he’s written a number of math programs, and of course some graphical experiments, and an adventure game.

The sample adventure program that he based his game on, though, was menu-based, and his aspirations went beyond that. So a few weekends ago I ported Colossal Cave to LowRes Coder, streamlining it for BASIC and adding random maps. While it has 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.

The app is free if you’re just going to play other people’s games. Here’s Colossal Cave Adventure 101. (And here’s my card game inspired by Colossal Cave.)