Cool Emacs

Play Interactive Fiction with Malyon

The IFTF defines interactive fiction—IF, for short—as a kind of video game where the player’s interactions primarily involve text. Under this broad definition, we can find decades of IF work taking many interesting and innovative forms.

Parser-based IF, also known as the “text adventure” genre, represents one of the oldest and best-known forms of interactive fiction. Some early examples are digital games from the 70s and 80s like Zork and Enchanter. In a parser game, players type natural-language commands into a simulated world, and the game interprets them as actions for the story’s main character to carry out. Parser games often involve puzzles that the player must solve to move forward in the story.

Interactive Fiction Technology Foundation

Games? With text? And thinking? Sounds like a great match for Emacs! Text and your favorite color scheme and keybindings.

Z-machine

Interactive Fiction (aka IF) is overengineered since it’s inception. Infocom, the company behind Zork, created a virtual machine (Z), just to make it easier to port their games to different architectures. The machine is stil alive today, with vibrant community pushing new titles all the time. It was also ported to Emacs, with the malyon package.

An Emacs screenshot showing first few moves in Zork games
Zork in Emacs

Intallation is very straight forward, just

(use-package malyon
  :ensure t)

And we’re ready to play!

Call malyon to open a games, malyon-restore-file to restore a previously saved game, and malyon-quit if the package breaks. malyon-restore will activate buffer with game in progress. You can save the gamy any time issuing the save command to the interpreter - that is in the game, not in M-x.

Formats

Malon supports Z-machine based games only, and only three versions (z3, z5, z8). You can determine version of Z-machine of a game, as the extension will match the version.

The extremey popular gblorb, which supports things like embedded graphics, unfortunatelly is not supported.

Getting games

You can a lot (over 8,5k) Interactive Fiction titles on Interactive Fiction Database. Be sure to check compatibility!

Other resources

  • Beginner Resources on Brass Lantern. Great place to start.
  • Get Lamp on Internet Archive. An amazing documetary on the early days of IF.

Previous: Watch YouTube with Yeetube and mpv, Up: Cool Emacs