Reviving ZZT

ZZT was (is) an ancient shareware DOS game that runs in character mode, created and published by Tim Sweeney. Originally published by Potomac Computer Systems, a company ran out of the basement of Sweeney’s house, when it expanded its software selection it was renamed to Epic MegaGames, and later Epic Games, under which title it remains today, still headed by Tim Sweeney after all these years. He would go on to create the Unreal Engine, upon which the modern fortunes of the company were founded.

Images from the Worlds of ZZT bot

But back to ZZT, which is still a nifty piece of software, and a lot of fun to mess around with. It included an editor that allowed users to create their own scenarios, which spawned a modding community that survives to this day. Noted game designer and educator anna anthropy wrote a book about ZZT for Boss Fight and she continues to carry its banner today. ZZT scenarios both old and new can be found on the site Museum of ZZT, and every three hours Mastodon bot Worlds of ZZT publishes screenshots from random ZZT adventures.

Because it’s a character-mode game, ZZT modules are often confused with classic roguelike computer games. ZZT is not necessarily a roguelike, but it may be possible for someone to write a classic-style roguelike game in ZZT.

But running a DOS game nowadays is not as easy as it used to be. It requires the use of either a vintage computer system running a compatible DOS, a virtual machine like VirtualBox or Docker, or some DOS emulator, such as DOSbox, a tool for emulating a working DOS system that can run on current OSes, or Zeta, a DOS emulator with just enough features to get ZZT working.

ZZT was written in Turbo Pascal, but its source code had been misplaced by Tim Sweeney and was considered lost, until very recently (the past few days), when a nearly-complete version of ZZT 3.0 was found. Most of it can be downloaded from The Almost of ZZT, on Github, which is that version minus some parts of the source that are considered to be under third-party copyright.

Since it is incomplete it is not useful for compiling a working game, and is presented for historical reasons more than anything. Fortunately, there already exists The Reconstruction of ZZT, a reverse-engineered (with Sweeney’s blessing) version from 2020 that compiles to identical binaries.

ZZT is a subject that deserves much more detail than I can give it in an introductory post like this. Maybe later….