Interactive Fiction

What is IF?

A Brief History

Before the first person shooter there was the second person thinker

The Setting

  • The mid-70s
  • Computers are big
  • No graphics (mostly)

1976: Adventure

  • Based on a real cave!
    • The Mammoth Cave system in Kentucky
    • Specifically, Colossal Cave
  • Magic, treasure, and whatnot...
  • Developed by Will Crowther
  • Expanded by Don Woods
  • DEC PDP-10
  • Fortran
  • Rudimentary parser

It was a hit

1979: Infocom

Then Adventure hit MIT and everything changed The Inform Designer's Manual, Graham Nelson
  • The largest and most widely-known company producing IF
  • Zork, A Mind Forever Voyaging, The Hitchhiker's Guide to the Galaxy
  • Sophisticated parser
  • Cross-platform adventures
  • Feelies


Murder scene feelie from Deadline

A Mind Forever Voyaging

AMFV map
  • Bought by Activision in 1986
  • Shut down in 1989
  • Trademark abandoned in 2002

1989: Legend Entertainment

  • Gateway
  • Eric the Unready
  • Spellcasting
Gateway UI screenshot

1986: Uncle Roger

Modern Times

Windows kernel

Zork in the debugger

And then... something magical happened

But we'll get to that



ZIL truck
  • Zork Implementation Language
  • A derivative of MDL
    • Which is a derivative of Lisp
  • Created by Infocom



  • Created by Graham Nelson in 1993
    • Inform 6 released 1996
    • Object-oriented, procedural
  • Inform 7 released 2006
    • Natural language programming
    • Declarative, procedural
  • Compiles for Z-Machine and Glulx

A demo is a kind of thing


  • Text Adventure Development System
    • Michael J. Roberts, 1988
  • Similar to C, C++ and the like

#include <adv3.h>


  • System for CYOA games
  • Created by Chris Klimas in 2009
    • Now maintained by the community
  • Author-friendly

(if:$examined != true)[Demo!]

Twine UI
Twine code


  • Developed by inkle
  • A narrative scripting language for games
  • Integration with Unity

=== demo ===

Welcome to the house of horrors!

-> intro

=== intro ===
In front of you, you can see a table.

+ {not table_first_time} [Examine the table] -> table_first_time
+ {table_first_time} [Examine the table] -> table_second_time

IFComp 2020

Z-Machine Glulx TADS Twine ink Submissions
5 23 3 44 4 103

IFComp 2022

Z-Machine Glulx TADS Parser-based Submissions
4 10 2 21 70

What is IF?

The truth is fluid. The truth is subjective.

Blue Lacuna

Fallen London

Fallen London sample screen

Visual novels?

Analogue: A Hate Story

Analogue: A Hate Story dialogue

Analogue: A Hate Story

Analogue: A Hate Story block search

Analogue: A Hate Story

Analogue: A Hate Story block


Kinda-sorta RPGs?

Sunless Sea

Sunless Sea sailing mode

Sunless Sea

Sunless Sea story mode

Sunless Skies

Sunless Skies flight

Sunless Skies

Sunless Skies cannibalism


Heaven's Vault

Heaven's Vault dialogue

Heaven's Vault

Heaven's Vault Elboreth

Heaven's Vault

Heaven's Vault flight


Disco Elysium, statue near Whirling-in-Rags
Disco Elysium dialogue

Commercial IF slowly died...

And was reborn!

Recommended Games

Something Old

Something New

I could go on...

Closing remarks

More Info

Infocom Source

50 Years of Text Games

It is pitch black. You are likely to be eaten by a grue.


Morning Coffee