ZZT - A short retrospective

ZZT was the first game created by Tim Sweeney back in 1991. It had thus been around for quite some time before I got my hands on it circa 2001, back when I found it on a freeware game website called Gamehippo. It doesn’t look like much to the world - it’s a DOS game with simple ASCII graphics, and calling anything “animations” is being very generous. Game worlds are made up of simple, one-screens that don’t scroll, and you typically navigate between them by walking out of the screen bounds to warp to another one.

The game ZZT itself as released is very simple. It’s divided into a couple of episodes, each having very simple gameplay. This isn’t what made ZZT interesting, in fact games like that were a dime a dozen. The killer feature of ZZT was that it was bundled with its own level editor. It was full featured too, so it isn’t like there were things going on in the base game that you couldn’t do in the level editor, you could even open up the official levels and study them. I was a huge game design/creator buff since a very early age and this aspect greatly appealed to me. We also didn’t have a lot of creative games back then - the closest you would ever get to Minecraft would be The Sims. In ZZT, you could create all kinds of things with the level editor if you were creative enough. The level editor was even called the World editor, and your levels were also called worlds, fittingly enough.

The world editor

The world editor is confusing at first glance, it does not exactly hold your hand or reveal just how creative you can get with it. It has a tool to place down blocks which can be walls, floors, blocks that looks like walls but you can walk through them, destroyable walls, doors that unlock if touched when you have the correct key and water. You can place out keys, different types of enemies, keys, but the most notable one is that there is a block you can place which you can also pick its appearance out of any glyph. Selecting this type of block brings up a box on the screen, which perplexed me at the time. I later found out that this is actually a text box, and anything you type into it will be read out on the screen when the player interacts with this block/object.

I went online to study what kind of worlds other people had created already. If you have only made a few worlds by yourself after studying the official ones you will be blown away by what other people have managed to piece together. Whereas the official levels are mostly about shooting monsters, collecting keys, solving mazes and dodging simple traps, third party worlds can be about just about anything. To illustrate this, one of my favorite worlds is called Burger Joint, and it is just that - you play as a part time worker in a burger restaurant, and it’s quite whimsical. Another one is Burglar!, where you are just that. You pick your tools, case the place, find your way in and steal the MacGuffin.

Another thing you would notice from playing these worlds is that they are apparantly using colors not available to you using the official editor. They weren’t using a different editor, but they had imported a special “room” into their world, that they could navigate to and copy-paste certain combinations of colors that wouldn’t be possible to pick in the standard editor. Using these, creators could create some very interesting things using what could be considered the most basic of basic.

The ZZT programming language

I also found out something else besides new colors from studying other peoples worlds. I encountered types of enemies that didn’t act like any monster I had found in the editor, so I tried to inspect them closer. It made that box pop up from earlier, but the contents were not just dialogue, it was some strange text with some symbols strewn about. This strange text was ZZT-OOP, one of the earliest programming languages I ever was exposed to. Don’t expect any multi-threaded socket programming to be going on here, ZZT-OOP was more basic than BASIC. You were able to store variables though, use timers, detect when the player was interacting with the object in some way and send signals to other objects, perhaps prompting them to act differently based on what was going on with the other one.

This one type block in the level editor for this game is what unlocked all of the potential of this game. Previously you could set up your own little open world, but with this block you could make it alive, by essentially creating NPCs that gave you choices and made the rest of the world interact with you differently. Everything was still just a screenful of ASCII, but now it was fully up to you what to do with it, and limitation is a huge inspiration for creativity. Sure, you couldn’t implement a raycaster with it, there’s a limited amount of variables for you to use, but if you’re the kind of person who enjoys stuff like Wasm-4 then this is right up your alley.

Legacy

There were other games afterwards that imitated ZZT but added some new features, One of these that I remember from back then is MegaZeux, which among other things added scrolling so that your world level could be bigger than just a screenful. These “enhanced ZZT clones” never really appealed to me though. You sort of lost a little bit of the magic when the limitations were gradually taken away, and eventually you found yourself in a full-blown game engine, and not ZZT anymore. It was no longer about what you could squeeze out of what was essentially just a text-only maze game, so neat things just wouldn’t impress as much. I don’t think we will ever see another ZZT, even in spirit, due to this. It was pretty novel for a game to bundle its level editor back in ZZT’s time. Even Doom wasn’t bundled with DoomEd, but it is a game that has been notorious for letting people tinker with it, and that came out 2 years after ZZT.

For me personally, the game that came the closest to matching the spirit of ZZT was Warcraft 3, with its scenario editor. That even let you play your custom levels online or on Lan together with your friends, and people came up with lots of interesting things with it, even spawning new game genres.

In regards to the direct legacy of ZZT itself… It was originally a shareware game sold by mail order, and Tim Sweeney earned enough from selling ZZT that he decided to work on game development full time and founded Epic MegaGames, now known as Epic Games. That has interestingly enough spawned Unreal Tournament, with its engine and editor, Unreal Engine, being widely used to create games nowadays. So, deep inside every Unreal game you play, under all advanced graphics and physics effects, beats the ASCII heart of ZZT.


Comments