2019 is looking to be one of the most important years for ZZT, thanks to Asie's emulator for ZZT: Zeta. After years of having to rely on DOSBox, requiring users to configure mounting hard drives, adjust CPU cycles depending on games, and deal with random hitches and audio stuttering, there's finally a solution that's as simple as ZZT itself. (Not to throw shade on DOSBox, which is an absolutely incredible program, but using it for just ZZT is like rebuilding a car from 1991 to listen to a cassette tape.)
Zeta emulates the bare minimum of components necessary to run ZZT (and Super ZZT!), resulting in a lightweight method of playing games (both locally and in web browser), with support for some more esoteric ZZT modifications as well.
So let's take a look at how to play, create, and even publish ZZT worlds designed for Zeta
What You'll Need
- ZZT v3.2
- The latest version of Zeta
- KevEdit (to make worlds with a vastly more user-friendly interface)
Setting Up ZZT
Open up zzt.zip and extract the files to your new ZZT directory. You can either drag-and-drop them or click an extract button. You'll want to extract the files into a dedicated folder for ZZT and any worlds you download.
The ZZT zip file contains a lot of files. There's no harm in extracting them all, but in reality the only actually necessary file is ZZT.EXE. If you're just getting started, you're almost certainly going to want the included ZZT worlds (which have .ZZT extensions), the game's help file contained in ZZT.DAT, and ZZT.CFG to get a nice "Registered version!" message instead of an error message about a missing file.
You can install KevEdit now as well. KevEdit is a third-party editor that offers a lot of convenient features such as tools to make fades, copy/paste functionality, and a rough music tester. Even if you don't need any of KevEdit's more powerful features, it is strongly recommended over the default ZZT editor which can have issues with flood fills, code deletion, and board corruption. KevEdit is the defacto tool for creating ZZT worlds.
Windows will likely yell about the dangers of untrusted programs, as unsurprisingly a ZZT editor and its installer are not signed and verified.
KevEdit for Windows is a little too formal for my taste, wanting to install to "Program Files" and create a start menu entry. I'd suggest pointing the installer to the ZZT directory (tough it will then produce a KevEdit folder within it).
The last thing to extract is Zeta, which emulates the basic components necessary to get ZZT to work with it. Zeta is a relatively new program and is still being updated fairly regularly. Be sure to check now and then for updates especially if there are any known bugs to deal with in your current version.
If you downloaded ZZT to play a particular user-created world, now's a good time to extract its contents while we're unzipping files.
Once you start to amass a considerable collection of ZZT Worlds, you might want to make more ZZT folders to keep things organized. ZZT uses its limited memory to store the list of worlds it can play, and excessive numbers can cause larger ZZT worlds to crash on load. I personally like to split things up by year, and keep a "projects" folder for worlds I'm working on.
Keep in mind ZZT doesn't know about subdirectories, so you'll actually need to extract duplicate copies of the program and Zeta into each folder you create. (KevEdit has no problem with changing directories or file limits so it can be placed in its own directory, your main ZZT folder, or perhaps a projects folder instead.) This is when you probably will only want the files ZZT.EXE, ZZT.CFG, and ZZT.DAT rather than copies of ordering info and license agreements.
Time To Play!
Once everything's extracted and installed, all you need to start playing ZZT is to run the Zeta executable! As long as Zeta can find ZZT.EXE (or SUPERZ.EXE for super ZZT), it will seamlessly run ZZT as if it were a native program.
Press K for keyboard (or M if you want to play 4 or Plankton: Undersea Adventure), C for color, and close out the message about ZZT being a registered copy. The world set in ZZT.CFG will automatically load, and you can select from a list of worlds with W. Press P to Play!
Zeta In A Browser
Or you can ignore all that downloading stuff and play ZZT worlds directly in the browser as Zeta compiles to Web Assembly! Nearly every ZZT (and Super ZZT) world hosted on the Museum should be playable by selecting the Play Online link.
Advanced Features
Though just appearing as a wrapper around ZZT.EXE at a surface level, Zeta also includes some special functionalities to handle ZZT worlds that require a bit more work to run, mostly via some commandline switches. On Windows, its easiest to set up a few batch files rather than have to open a command prompt every time, and I've taken the liberty to throw a few that should be useful together here in this Zeta Batch Pack
Alternative Executibles
By using the -e parameter, you can specify an alternative executible to run instead of automatically defaulting to ZZT or Super ZZT. For example, Daedalus' Obelisk recommends the use of CleanZZT, a modified executable to remove several sounds and messages like those for touching water. zeta86 -e CLEANZZT.EXE will use CleanZZT (provided it's in the current directory) instead! If you're using the batch pack linked above, then it's as simple as dragging an executable onto the zeta-altexec.bat batch file from Windows and it will be launched instead.
Custom Fonts
Several ZZT worlds use modified graphics by changing the system's font. These are usually ran via a batch file provided that loads the font, launches ZZT, and unloads the font once ZZT has been quit. Rather than using the batch file, Zeta lets you chain multiple executables, running the font which is automatically ripped and then running ZZT. So if you're looking to try out Commodore's Angelis Finale, zeta86 -e COMMFONT.COM -e ZZT.EXE will load the font and then run ZZT. From the batch pack, once more, drag the font (the .COM file) onto the zeta-font.bat batch file from windows and it will launch Zeta with ZZT and the font running.
High Intensity Backgrounds
One limitation of ZZT is its lack of support for high intensity background colors, instead using blinking characers. This limits an already restrictive color system even further. While there is a tool known as BLINKX to get around this, it's not compatible with Zeta. Fortunately, that doesn't matter as Zeta has its own native ability to disable blink with -b. There also aren't any ZZT worlds I'm aware of that require BLINKX, but if you want your game to be the first, zeta86 -b is all it takes to disable blinking. For the batch pack, there's nothing to drag here, just directly run zeta-noblink.bat and watch the colors pop!
Standalone Games
Lastly, and one of the more clever features, is Zeta's ability to pretend that it's a standalone game. By renaming the Zeta executable, it will then search for a ZZT world with an identical filename and automatically load it. This does wonders to make modern ZZT a bit of a more boutique experience.
Additionally, the Zeta website offers HTML5 builds which allow you to deploy your ZZT worlds on any webpage such as Itch, making it an extremely easy to use and now more accessible than ever way to draw a non-ZZTing audience to your game!
That's about all you need to know to start using Zeta to play ZZT! It's a wonderful program that breathes a lot of life in ZZT. Hopefully you'll give it a try and check out the many worlds of ZZT available!