Publishing to Itch.io
If you want your world to be seen not as a ZZT game, but just a regular game that any other independent game developer might make, Itch is the way to go. I certainly can't promise that your creation will get the attention it deserves, but it will be on an accessible platform where anybody interested in games in general may come across it. An Itch upload will have its own page. Itch uploads have support for banners and screenshots to better market your game, plus the ability to require payment for your work if you want to go that route.
Itch game pages are fairly customizable as well, which means they're still compatible with Zeta's web player allowing you to let folks play your game in their browsers just like on the Museum.
Itch is a beast of its own, and while I'll provide the information to getting a ZZT game added to its library and playable in browser, you'll still have to register yourself an account as a developer (or update an existing account to a developer account) as well as setting up payout methods if you intend to accept payment for your releases. Itch doubtlessly has far better resources on how to do this than I can provide.
Once you have an account, click on the dropdown menu and select "Upload new project" to begin the process. Don't worry if you're not completely ready, your page won't be public until you mark it as such so you can safely mess around with the hosted files, page design, and Zeta player as much as you like.
Step 1: Prepare your zip files. Plural.
If you've already prepared a zip file for the Museum, well that's a start, but for something like Itch there's a little more work to be done. As Itch is a generic storefront for games, you'll be making a big mistake if you assume your audience is already familiar with ZZT, Zeta, and how to play ZZT worlds. Just a ZZT file and text document won't cut it. (Though you can upload alternative downloads if you want to let others download just the "essentials" for those who have ZZT on their system already.) This time, you'll want to download a copy of the HTML5 version of Zeta., and a copy of the Reconstruction of ZZT v3.2 or whatever version of the engine is to be used. You may use either an Epic published copy of ZZT, or a compiled version of Asie's Reconstruction. There's no difference other than the documentation and the inclusion of the original worlds with Epic's release. (Don't worry though, by default the Zeta web version specifically excludes ZZT files it finds in zzt.zip so you won't have to deal with people playing Town instead of your own world.)
You'll want to extract the files in the Zeta web release into a folder so you can work with the files. For Itch, the only modification to Zeta is to just tell it to include the zip of your game (which can just be the same zip you uploaded to the Museum).
A ready zip for an Itch embed should look something like this. It's all the Zeta files, plus zzt.zip, and in this case MROVER.zip which contains any ZZT files.
The one file you will need to modify is index.html.
Scroll down to "my_game.zip", and replace it with the name of your zip containing the game files! If you have everything in a folder on your computer, you can try opening index.html and seeing if Zeta loads properly. There's a good chance it won't due to browsers being very picky (for good reason) about running things hosted on different domains so don't fret if it doesn't seem to work. You can easily verify everything is working once it's uploaded to Itch and before you publish the files for everyone to see.
While you technically can get away with editing the list of files to include and still have a "working" web version of your game, you'll probably want to make some more small tweaks here. Take a look at the "database" and "arg" lines in particular. The database field is a sort of identifier for your browser to store saves and high scores. "test_database" should probably be named after your zip or something just to make it more clear that it is not in fact a test database being stored. The "arg" field is used to specify what world Zeta loads by default. This will look a bit nicer than just having ZZT throw a DOS error on load if it can't find the file it was told to launch.
Step 2: Create Your World's Page
You'll get to fill out the expected information such as the title, a URL for the page, and brief description. Expert tip: Be sure to mention ZZT in the description so it'll show up if somebody does search for ZZT games on Itch.
Most importantly, you'll want to make sure the project is listed as an HTML one so Itch will let you embed a version of the world playable in the browser.
On the right side there are some spots to upload screenshots and a cover image for the game. ZZT screenshots (with the sidebar chopped off) are natively 480x350 which is below the recommended size, but doesn't look too bad. You can of course go all out and create some original art for this instead. You can easily take a screenshot in Zeta with the F12 key which makes it simple to capture some promotional material for your page.
Next up is the pricing! Even if you're offering your world for free, you can opt to accept donations which I think is a good thing. (Those who download your game for free can go back and opt to give you some cash later on as well.) You probably shouldn't expect to retire off your ZZT Itch money, but it's an easy way to support the effort that goes into making something.
And finally, you'll want to upload the necessary zip files. One will be the browser version that was prepared earlier, and the other will be a plain old download. You can just use the Museum upload for the latter if you like. Make sure that you mention requiring ZZT and Zeta somewhere though! Or, prepare yet another version of the zip which includes them. I personally opted not to just to not have to worry about Windows/Mac/Linux versions of Zeta.
You can see several other settings in the screenshot here to rename how files are presented on your page, mark them for specific OSes, or adjust prices.
You can replace your zip file later on by hand. I've heard good things about the mentioned "butler" tool, though have yet to use it myself.
Then it's time to set the information on how to embed the browser version. Just set the dimensions to the resolution you want Zeta running at. 640x350 is 1x ZZT's resolution so 1280x700 would be 2x. Itch's pages default to a 960 pixel wide column so you may have to play around with settings a bit more to fit a 2x display properly.
The frame options will let you set your game to just start on page load. I don't see the harm in it with how small ZZT files are, and the configuration screen means that your game will still require input before reaching the title screen and playing music or animating.
Technically Zeta will load just fine in a mobile browser, but as of yet there's no control method for it, so don't go marking your game as mobile friendly just yet.
Next you'll be able to describe the game on your page. Make it sound good! You can include links and videos or whatever here as well. Pick a genre, do some tagging, and move along. Due to the nature of ZZT, it's probably worth making sure you include tags like "ascii", "zzt", and "open-source".
If your ZZT game is somehow on the Windows Store or whatever, link that as well.
Finally, there are a few odds and ends for things like what to call your "game" if "game" doesn't feel appropriate, allowing comments, and restricting who can see the page. You'll have to preview it at least once before you can actually make the page public and officially have your creation available!
Once you have your page made, you'll be able to add in some extra details if you click the "Edit Game" link on top of your page to provide some extra info like how long a typical session is, what inputs it supports, the language its in, and the ability to mark the game as having sensitive content.
ZZT does let you play with a mouse or joystick, but using a mouse is generally awful if a game isn't designed around it and using a joystick means an MS-DOS era 2 button joystick which is also frustrating. IMO just list keyboard.
And lastly, you can edit the theme and layout a bit!
Once your page is looking good and you've got Zeta up and running properly you're all set! Go back to the "Edit game" section and make that page public! Congratulations, you're now a professional independent developer specializing in a nearly 30 year old DOS engine. Good job!
You can see what this all looks like by checking out a few ZZT games currently hosted on Itch:
- The Mars Rover by Dr. Dos
- Variety by WiL
- Faux Amis by Rabbitboots
- Computer Dungeon Slash: ZZT by KKairos
- Daedalus' Obelisk by Emmzee
Or just browse the ZZT tag!
The Worlds of ZZT project is committed to the preservation of ZZT and its history.
This article was produced thanks to supporters on Patreon.Support Worlds of ZZT on Patreon!