making a mug of hot chocolate
projects | | linkz: Play Game | Inform 7 Engine
Skills Practiced: Inform 7
Tools Used: Inform 7
Project Duration: 1 Day
Project Focus: Fun
One of my favourite game generes is the venerable text adventure, also known as interactive fiction. Graphics-less, text-only games that allow the player to act with a surprising amount of freedom due to the presence of an (almost) natural language parser prompt. One of the earliest kinds of videogame (as they lent themselves well to terminal displays) and based somewhat on “Choose Your Own Adventure” books, text adventures give me the experience of reading a book and exercising my imagination while also allowing me to directly interact with the story. They were almost certainly the precursor to the point-and-click adventure genre popularized by Lucasarts and Sierra. A famous example is Infocom’s classic Zork.
I was first introduced to the genre by my dad bringing home a floppy disk from work with a single and intriguing file on it; HUMBUG.EXE, one of the early works by cybersecurity expert Graham Cluely. It was a somewhat absurd comedy about being a kid visiting your eccentric Granddad in the school holidays. Puzzles include blowing a trumpet directly into his ear to wake him up, and arguing with a shark hiding in the pantry.
Anyway, gushing about my favourites aside, I wanted to make a very small game like that, complete with text parser and all. As it happens, an incredible engine, design system, and programming language exists called Inform. It takes English-like prose and converts it into Infocom-parser-compatible bytecode! It is incredibly easy to learn, tricky to master, and is extremely flexible. It has its own excellent IDE that can display branching narrative graphs with ease, and I highly recommend it for people of all skill levels and backgrounds. It’s an excellent way to get started making games for the first time with no prior knowledge, and also an endlessly fascinating and impressive example of what can be done with programming languages for people who already have a lot of programming experience.