DreamZZT 3.0.8 beta1

Whew! I wanted to get this out this weekend, and I made it with 15 minutes to spare!

Introducing DreamZZT 3.0.8 beta1.


  • Built-in bug reporting
  • Improved game timing and faster rendering
  • Many bugs fixed, Mission:Enigma is now completable

For the full release notes, check out http://dev.c99.org/DreamZZT/milestone/3.0.8

Mac OS X (10.4)
Linux (Ubuntu Feisty Fawn)

A Dreamcast build will be available soon.

Feel free to test Town and Mission:Enigma, but the focus of this beta test should be 3rd party games. Also, since this is a beta release, it connects to the beta DreamZZT Online server. You’re welcome to create accounts on it from inside the game, but there aren’t any tasks on there yet.

Speaking of DreamZZT Online, the source is finally ready to be released. It’s in the DreamZZT svn repo, and can be viewed from http://dev.c99.org/DreamZZT/browser/DreamZZTOnline/trunk/

You must defeat me in a game of GEMini

After a few hours of hardcore bug fixing, Mission:Enigma is now 100% playable and completable. I hope to start releasing public betas of 3.0.8 in the next few days.

Anyone have suggestions for the next ZZT game to focus on?

DreamZZT update

I made a bit of progress on DreamZZT. You can now adjust the game speed and the sound volume from the title screen:

I’ve also integrated the Trac ticket system into the game. When loading a game, it will check to see if any tickets are open that affect that game, and show you a warning with a list:

You can view the details of a specific bug by selecting it:

Also, you can submit new bug reports from inside the game:

Creating bugs from the game will automatically record the version, platform, game, and board, as well as attaching a save of your game.

Starting audio stream…

I’ve got DreamZZT’s sound code working on the Dreamcast. There are still a few little bugs to work out, but a sound-enabled Dreamcast build should be available in the next few days.


DreamZZT is released. This release addresses several issues in 3.0.6, including:

  • Pressing the enter key in certain situations could cause the game to crash
  • Users with capital letters or punctuation in their passwords were unable to login to DreamZZT Online
  • Enemies were triggering ZZT-OOP touch events

For more information visit the DreamZZT website.

Ravishingly obscure

A while back I found out DreamZZT had been mentioned in a book: Gaming Hacks.

Well, O’Reilly started offering a free trial of their online book service, so I’ve finally been able to read that section. Both DreamZZT and FrotzDC (which the author mistakenly calls DCFrotz) are mentioned in the Dreamcast emulators section.

Here’s the blurb about FrotzDC: (Pretty sure quoting is covered by fair use, don’t sue me O’Reilly!)

You can find out more about making your own text adventure ( [Hack #85] ), but if you have a keyboard or keyboard adapter for your Dreamcast, you can play text adventures here. There are plenty of freeware Z-Machine interactive fiction pieces available. DCFrotz even supports sound effects if you want to use or program a game that plays spooky WAV files.

And the blurb about DreamZZT:

Finishing with another ravishing obscurity, DreamZZT is a Dreamcast conversion of Tim Sweeney’s famous ZZT PC game-creation tool. (Back in the early ’90s, he wasn’t yet famous for Epic’s Unreal series.) ZZT graphics are entirely made up of ASCII characters. There’s a multitude of public-domain games available, both turn-based and real-time. Many are RPG-like. The Chocobo.org site has a decent ZZT game selection (http://www.chocobo.org/~butz/zzt.htm) if you’d like to try some third-party titles, all of which seem to run reasonably well.

The other Dreamcast projects mentioned in that chapter are DreamSNES, Dream-O-Rama, MDCNG, Frodo, and Stella. Considering how much homebrew software is available for the Dreamcast, it’s exciting to have not one but two mentions in the book!

Anyone want to buy me a copy?

DreamZZT 3.0.6 release date

I’ve decided to push the release date for DreamZZT 3.0.6 to 1/27 to allow enough time to finish the Dreamcast version. I hadn’t intended on supporting the Dreamcast again until 3.2.0, but I’ve made significant progress over the last few days to warrant holding up the release for two weeks to finish it.

Bringing back the Dream in DreamZZT

It may not be as exciting as the iPhone, but I have some DreamZZT news:

I got on-the-fly board compression/decompression working. Instead of requiring over 6MB of RAM to run Town of ZZT, it now uses less than 600KB. Only the board you’re currently on is decompressed, the rest of the game remains compressed until needed.

This enables several important things:

* The Dreamcast build works again! It still has a few quirks that need to be worked out, but Town is fully playable on the Dreamcast again. There’s a slight pause as boards are compressed/decompressed, but otherwise the game runs fine. I currently have no plans to enable the online leaderboard for the Dreamcast, as the number of people with Dreamcasts that also have BBAs and are interested in ZZT is probably around 3, including me.

* The saved games and world files written by DreamZZT are now compatible with the original ZZT. If for some crazy reason you prefer DreamZZT’s editor over kevedit, you can use DreamZZT to create worlds compatible with the original ZZT. You can also exchange saved games between the two.

Why weren’t they compatible before?

ZZT has an extra field that stored the size of each compressed board in the world file. This value was ignored by DreamZZT, since it decompressed all the boards as it loaded the file. It also didn’t know how large each compressed board would be, as it compressed each board as it was writing the file. Now that the boards are always compressed, DreamZZT knows ahead of time how large each board will be, and can fill in this value.

As a side note, KevEdit also ignores this value, so you can load old DreamZZT games in KevEdit and then save them again to make them compatible with original ZZT.

DreamZZT 3.0.6 is still on track for a stable release on Saturday.

Close Menu