Skip to main content

Raspberry Pi Plays Zork on a Thermal Printer

Irrer Polterer's YouTube controlled Zork game
(Image credit: Irrer Polterer)

The humble thermal printer has been with us for decades and we typically see it in action when grocery shopping. With the help our favorite SBC, the Raspberry Pi, we can turn this simple printer into something much more wondrous. For a creative maker the possibilities are seemingly endless, as demonstrated by Reddit user Irrer Polterer who is using a thermal printer to power this YouTube chat-driven version of Zork.

If you haven’t heard of Zork before, it’s a text-based adventure game that takes place in a fictional world. The game was first released in the late 1970s and quickly became known for it’s support of complex commands and library of recognized vocabulary. Originally developed the DEC PDP-10 mainframe computer (when computers were the size of a room). Zork has been ported to many machines but we can guarantee the original developers never had YouTube and thermal printers in mind.

Users interact with the game by typing commands into the YouTube chat of the live stream. A camera is fixed on the thermal printer so users can see the action in real-time. Irrer Polterer has created a custom script for the Raspberry Pi that listens to input from the YouTube chat and parses it to an emulator running Zork. Check out the original livestream recording to see what the setup looks like in action.

To recreate this project, you will need a Raspberry Pi. It doesn’t take much processing power to drive a thermal printer but if you’re running Zork and scanning YouTube’s chat at the same time, it wouldn’t hurt to use a model with more RAM like the Pi 4. However, a Pi Zero is capable of driving a thermal printer and should work as well but ultimately depends on the complexity of your project.

According to Irrer Polterer, the code running on the Pi was written in Python. It constantly listens to the YouTube chat for commands and then sends them over to Frotz, a Z-Machine emulator used to run Zork. Once the game has processed the command, the result is processed by the Pi and transmitted to the thermal printer for printing.

If you are interested in making this Raspberry Pi project or developing something similar, you’re in luck. Irrer Polterer has shared plenty of juicy details about the interworkings of the project as well as the source code over at GitHub. There are also plans in the works to stream another live session of Zork for users to play. Be sure to follow Irrer Polterer for more updates and future playable livestreams.

Ash Hill
Ash Hill

Ash Hill is a Freelance News and Features Writer at Tom's Hardware US. She manages the Pi projects of the month and much of our daily Raspberry Pi reporting.