top of page

How I Wrote a Gamebook: Apps

Last year I wrote about why I created The Citadel of Bureaucracy (and what the heck it is). Let's talk about how I went about it; the real nuts and bolts. Being a horrific nerd, I've played nearly every Fighting Fantasy gamebook (and, yes, collected the entire Puffin run), so I'm familiar with their tone and structure. What I didn't know was how to construct one. So I did some research.

A Mirror Demon from the Fighting Fantasy gamebook, Deathtrap Dungeon
Drafting in its daemon form.

Luckily, creators Steve Jackson and Ian Livingstone went on record at Fighting Fantasy Fest 3 to discuss how they drafted the things. Happy days! Unfortunately, the process they described sounds more nightmarish than being in a hallway with a Mirror Demon. But I wasn't going to let something as simple as an appallingly onerous process stop me. I work in the public sector, after all.

May I have a Word?

I decided to write the book using Microsoft Word. It was a question of style. Well, Styles. I knew I'd be experimenting a lot with style and format. In Word, document-wide headings and paragraphs are easily changed using Styles.

Another consideration was not wanting to assign random entries as I wrote. Not if I had to rewrite the book a few dozen times. Hell no. I wanted to write from start to finish in as straight a line as a branching story path will allow. Placeholder headings were the answer: they would let me hone each encounter before moving to the next and ensuring proper transitions without having to flip all over (and out).

An early draft with placeholders

I bracketed each placeholder with "#" symbols to ensure they were unique. I had zero interest in skipping through hundreds of irrelevant twos every time I wanted to change Entry 2 or 22. That way leads madness. I also had an ace up my sleeve. Or so I hoped!

A Snake in the Grass

A number of months ago that I can't seem to quantify because pandemic, I taught myself to code in Python. Why? To work on 8-bit, D&D-style video games, of course! The nostalgia is strong with this one. That experience gave me the idea to code my way out of my randomization dilemma. Maybe a bit of a gamble since I decided to wait until I had written the book before working on the code, but I could fall back on a find-and-replace-a-thon.

A lot of code goes a little way

What followed was a week or so of experimentation (read: Stack Overflow-trolling) to write a find-and-replace program to apply in-document bookmarks and links. Spoilers: It was difficult, and I hadn't expected it to be easy. Suffice it to say that Word, like a certain bearded sky-gentleman, works in mysterious ways.

I managed in the end, and it saved me a heckin' lot of effort. I never did figure out a pesky placement error for multiple in-paragraph references, but the time it took to fix those errors was nothing next to individually changing references and manually applying internal links. *Shudder* The idea. So it's a win in my books.

Before and after: What's two hundred lines of code next to this wizardry?

Achieving a Flow State

It quickly became apparent that I needed to visually map out the story if I was going to keep track of all the doings and transpirings of the book, especially during editing. In the 80's, Jackson and Livingstone did this on giant rolls of paper. I prefer Microsoft Powerpoint. I fell into a system to track scenes, decisions, and basic game mechanics (pictured below). This allowed me to assess flow and difficulty outside playtesting and quickly locate entries and connections. Indispensable when editing this sucker.

I was lazy at first, capturing only the larger scenes. In the end, I had to capture all 400 entries to keep a handle on everything. Don't be like me: Map out your gamebook in full from the start. Contrary to popular opinion, shortcuts don't lead to mushrooms, only frustration.

This is a relatively straightforward section. Oh, SPOILERS!

The End

So I had me a nice document of mostly well-placed entry links in scene order(ish), but it needed sorting. Word's heading system saves the day again, though I'm going to lay this out in detail since it's in no way intuitive:

  1. Go to View

  2. Select Outline (Word switches to a new mode)

  3. At the top, Show Level to include only the heading level of your entries

  4. Select all the entries from start to end

  5. Go to Home

  6. Select Sort (Paragraphs, Number, Ascending)

  7. Ye be done, so ye be

Before and after: More sorcery


Re-reading this makes writing a gamebook sound like a hell of a lot of work. It was and still is, but I' enjoyed every part of it. Even the coding. Would I do it the same way? Mostly. The only major change I'd make is with entry randomization. I plan to write a script to randomly sort numbers with a condition to not pick a number within 10 of an entry from the same scene. It's annoying to shift entries when you've got to swap links, headings, adjust spacing, blah, blah, blah.

Anyway, those are the applications I used to create The Citadel of Bureaucracy. They certainly made my life easier, and therefore hopefully the book. I can't wait for you to play it!

J.D. Mitchell

April 26, 2023

Ottawa ON

Shelfie evidence of what I've done with my life

323 views0 comments

Recent Posts

See All


bottom of page