"A huge green fierce snake bars the way!"; or, Building a Text Adventure Game in Python

Accepted Session
Short Form
Scheduled: Tuesday, June 23, 2015 from 10:00 – 10:45am in B302/303


Have you ever wanted to vanquish a dragon with your bare hands? First step is making a world where you can. In this talk, I'll give you the blueprints for my Python text adventure engine, as well as some recipes for making things in a text-only world.


When my parents were my age, they spent hours playing Colossal Cave Adventure (to the massive annoyance of anyone trying to call them in those days of dial-up). Colossal Cave and other text adventure games have a simple but engaging UI: you type what you want to do, and get an all-text response. In 2013, I started working on a text adventure game in Python. While I produced a text adventure game that ran, I wanted more: a text adventure engine that could run my game and be used to build other, completely different text adventures.

In this talk, I’ll show you how I implemented the key features of my text adventure engine, including robust language processing, game-specific commands, and separation of logic and state. I’ll also share some amusing bugs that I encountered along the way (including a multiplying sword and an undead cat).

Finally, we’ll explore ways of modeling real-world objects in a text-only game. My text adventure is set at a wizarding school in Scotland, which meant I had to figure out how to implement spells, a sorting quiz, and password-protected doors.

You’ll leave armed with all the knowledge you need to write your own text adventure game!


python, game programming

Speaking experience

I've given a few lightning talks on this project at Hacker School in 2013, but this is the first time I'll give this talk.