Sony..
Sony’s lawsuits have put Lik-sang out of business!. I guess I’ll have to do all my importing through Play Asia now 🙁
Sony’s lawsuits have put Lik-sang out of business!. I guess I’ll have to do all my importing through Play Asia now 🙁
This weekend I wrote a plugin for Blender to load the DCBlap map files. Here are some of the DCBlap maps rendered by Blender:
It’s still got a few bugs (the textures aren’t aligned properly) but not too bad for only a day of work and not having written a single line of python before. The next step is to write an exporter, then I’ll finally be able to work on DCBlap levels again without having to boot up Windows to use Hammer. I also wont have to deal with the bugs and quirks that the old map compiler had, so I’ll be able to make much more complex levels.
Here are some interesting statistics from the DCSquares score database:
General Stats
Players by platform
Hall of fame:
Hall of shame:
12 players only collected 1 square but managed to score more than 1000 points.
99% of players use the in-game score client, only 1% of scores were entered through the web.
I completly rewrote the popup text window API today to be much more C++ey, and with it come a few new widgets that can be placed inside: radio buttons and checkboxes.
The title area at the top now shows tooltips, too, like the original ZZT:
The code to construct the above window is:
TUIWindow w("Options"); w.addWidget(new TUILabel("General")); w.addWidget(new TUIWidget()); TUIRadioGroup *sfx = new TUIRadioGroup("Sound: "); sfx->add("On"); sfx->add("Off"); w.addWidget(sfx); TUIRadioGroup *web = new TUIRadioGroup("Online scores: "); web->add("On"); web->add("Off"); w.addWidget(web); w.addWidget(new TUIWidget()); w.addWidget(new TUILabel("Special Effects")); w.addWidget(new TUIWidget()); w.addWidget(new TUICheckBox("Pan between boards")); w.addWidget(new TUICheckBox("Torch gradient",true)); w.addWidget(new TUICheckBox("Animated water")); w.addWidget(new TUIWidget()); w.addWidget(new TUIHyperLink("save","Save settings")); w.addWidget(new TUIHyperLink("cancel","Cancel"));
Much nicer. Of course, you can still construct a popup window the ZZT way:
w.buildFromString("$woah\r this kind of thing gets hard to maintain\r when it's all stuffed in a giant string\r crazy ZZTers.\r \r !agree;I agree\r");
Though you can’t add radio buttons or checkboxes through that. After I finish up the text-editing widget, I’ll start working on adding a very basic level editor to DreamZZT.
I wasn’t happy with Kev‘s mock drum riffs, so I used DOSBox‘s wav recorder to digitize the original ZZT drum effects.
Here are two samples of how the new drums sound in DreamZZT:
Code Red’s title screen (507KB mp3)
Town of ZZT’s ending music (124KB mp3)
Much better 🙂
Gregory Janson is way too good with ZZT-OOP. I spent the day trying to get Mission: Enigma running on DreamZZT, and it’s uncovered a LOT of bugs and interesting ZZT quirks. The hardest part, though, has been trying to solve the puzzles. Mission: Enigma is pretty challenging, and very well done!
In the process of picking apart Mission: Enigma, I’ve added two more debug commands:
watch – Lets you select an object to watch the ZZT-OOP of. Now the debug console will only display the ZZT-OOP of objects that you’re currenctly watching, instead of every object on the board. Makes it much easier to follow what’s going on!
inspect – Lets you view an object’s entire ZZT-OOP program in a text window.
flags – displays a list of the currently set flags.
Also, since Mission: Enigma’s title screen is so amuzing, I finally got around to letting you actually watch the title screen and press enter to start the game when you’re ready. You can also actually return the main menu again by pressing ESC.
Finally, after putting them off for six years, I had an epiphany last week on how to implement Centipedes! Got them in this weekend and they seem to work pretty well. The only objects still not implemented in DreamZZT are slime, ricochets, and ninja stars.
DreamZZT’s source code is now available under the terms of the GNU General Public License version 2. The source can be browsed or checked out of my public Subversion repository, and is also available from the DreamZZT homepage. In order to build DreamZZT, you’ll first need to build tiki.
To celebrate, I’ve put together the first binary release of DreamZZT in close to 3 years: 3.0.4-beta1. Downloads are available for Windows, Mac OS X (10.4 universal), and Linux. Due to technical issues, builds for the Dreamcast are not available at this time. So head on over to the DreamZZT homepage and grab a copy!
Known issues with this beta:
Please report any other bugs either in the comments here or over at the forums.