DreamZZT 3.0.6 release date

  • Post category:Dreamcast

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

  • Post category:Dreamcast

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.

DreamZZT 3.0.6b2

  • Post category:Dreamcast

In celebration of the new trac sites, I’ve put together a new public beta for DreamZZT. You can grab DreamZZT 3.0.6b2 from the DreamZZT site.

I’ve also started a compatibility chart on the wiki to show how well games work with DreamZZT. I can’t test every game ever made for ZZT, so if you find a game that works or doesn’t work, feel free to update the wiki page. You need to register for an account to edit the wiki, to avoid spam.

Also, please create trac tickets for any issues encountered or features you would like to see in future versions of DreamZZT. You don’t need an account to create a ticket.

If no significant issues come up with beta2, 3.0.6 should be released next week.

SVN shakeup

  • Post category:Web

I finally got around to moving my Subversion repository onto DreamHost. After a LOT of fiddling around with svndumpfilter, I’ve split all the projects up into their own repositories. The URLs are still the same, but anyone that had any code checked out of the previous repository will need to check it out again, as the revision numbers have changed.

Wiinii

  • Post category:Life

We had our first Wii-related injury last night — Brian was standing too close behind me while I was playing Wii bowling, and I ended up hitting him in the nuts with the controller.

He learned the hard way not to stand behind people that are bowling 😛

Saved!

  • Post category:Dreamcast

DreamZZT can now save your games to the website:

And play them through the in-game browser:

Mr. Taskman

  • Post category:Dreamcast

I’ve decided I’m going to open source the server-side scripts for DreamZZT too. I’ve decided to write everything as a a Vanilla extension, so in theory all you would need to do to run a DreamZZT server would be to install Vanilla and activate the DreamZZT extension.

Here are some screenshots of the admin section:

I’m hoping to have the online tasks system finished this weekend, so I can tackle the online save storage and finally the online leaderboard.

Xbox Schmexbox

  • Post category:Dreamcast

To spice up the online aspects of DreamZZT, I’m playing around with an XBox Live-style achievements system:

Aside from a score bonus, completed tasks would also be viewable on the web. Of course, the tasks will be a bit more challenging when it’s out of testing 😛

The tasks runs independent of the ZZT game, so they can be added to any game without modifying the original game file.

Some of the more realistic tasks I have in mind for Town:

  • Talk to a tree (touch the ZZT-OOP object named “tree” or whatever that tree’s name is)
  • Crack the safe (Walk into the bank vault area where the gems are, probably by defining a box the player walks through. Or collecting the purple key inside the safe.)
  • Find the combination (No more invisible walls on the board with the bank vault combination)
  • Bear Hunt (Kill x bears, need to count how many are in the game and come up with a reasonable amount to kill)
  • Treasure Hunt (same as above, but with gems. Probably more than 3.)
  • And? (touch the “Congratulations! You found an ampersand!” object)

I’m sure I’ll come up with more once I get further into it.

DZZT.NET revived

  • Post category:Dreamcast

As a follow-up to my previous post, I think I’m going to offer an online save game storage service along with DreamZZT. Users that want to participate in the leaderboard will download the zzt game file through the client, and if they want to save their game, it will be saved to the server. That should hopefully deter casual cheating.

To make that happen, I’ve brought back the DZZT.NET in-game browser:

I ripped out my hacked-together HTTP code and replaced it with libcurl which should be more reliable, and also allows for HTTP POST and HTTP PUT methods.

Interestingly, the only other game besides Town that I had up on that site was the ZZT Tour, and it’s no longer 100% playable. It revealed a few bugs that have cropped up since the C++ rewrite that I’ll have to fix.