ZZT Ultra
Page 5 of 18

Author:  Dr. Dos [ Sun May 03, 2015 2:22 am ]
Post subject:  Re: ZZT Ultra

You can if your apache is set up all chill.


Author:  Appetite4 [ Sun May 03, 2015 2:23 am ]
Post subject:  ZZT Ultra deployment ZIP file, GPL

Hello All,

I'm working on getting the ZZT Ultra deployment package ready. This will be a ZIP file that can be placed on any website and heavily configured to the liking of the webmaster.

There are still some unanswered questions about terms of use. I have absolutely no intention whatsoever of charging money for ZZT Ultra. But I believe that it should be kept as Freeware so that control can be maintained.

On the subject of GPL, what are your experiences with GPL or LGPL licenses? I need to decide on what sort of terms should accompany the package.

Author:  Appetite4 [ Wed May 06, 2015 3:02 am ]
Post subject:  Designing Deployment Options

Dr. Dos wrote:
You can if your apache is set up all chill.


Duly noted. I have decided to allow for three different types of deployment configurations, one of which would be able to load the aforementioned "folder" link.

"DEP_INDEXPATH" : "zgames/a",

The above configuration is the "content path" approach, which loads directories over HTTP. But even if the web server sends back folder lists, the presence of index.html in the target will torpedo the listing, loading that file instead. The deployment instructions will warn about this.


The above configuration is the "static index" approach, which hard-codes the index in the INI file, also located on the server. It is the most secure, but the least flexible.

"DEP_INDEXRESOURCE" : "eval_dir.php?path=zgames/a/*.zip&level=0"

The above configuration is the "dynamic index resource" approach, which loads a resource over HTTP that returns the file list. Here, you would NOT need to worry about index.html presence, etc. since you can define exactly what the script retrieves.

I specified recursive evaluation levels of zero in these examples. In practice, I imagine you'd want it to be something larger than this, like 1 or 2.

Hope this isn't making anyone's head spin too much. It certainly made my own head spin trying to sort all this out.

Author:  Appetite4 [ Sat May 09, 2015 3:00 am ]
Post subject:  Thoughts about licensing

Hi Y'all,

The issue of modders and Steam has gotten some attention as of late. I couldn't help but think of what ZZT Ultra means to one of the oldest modding communities. I know I had discussed GPL licenses before. Increasingly, I think we need a better way to share in ways that encourage artistic freedom.

Therefore, I have decided that my upcoming deployment package will not use GPL. Instead, it will have what is known as a CC license, or Creative Commons license.

For those who don't know, here's how the CC BY-NC license works: you can share the work with anyone, modify the work as much as you want, and redistribute the modified work without problems. ZZTers have pretty much done this all along, so it fits.

The two things you aren't allowed to do under this license: profit commercially or strip credit away from the originator. I don't imagine these will cause problems, since modders would still be able to do just about anything they want to the package without consequence.

Author:  Commodore [ Sat May 09, 2015 4:31 pm ]
Post subject:  Re: ZZT Ultra

profit commercially

I haven't looked in detail, but it seems this is what steam is trying to do with mods. ZZT on steam would be a way to increase visibility, unfortunately that would have to involve Epic I imagine. IF IT WAS THE ZZT BINARY, but really this is more like ZDOOM in that it's a built from scratch engine that is legal to own and distribute, but the WADs which contain the copyrighted graphics, levels and sounds, "must be" from legally bought copies of the game. I don't think you can claim copyright on the old DOS font, maybe the only thing that is similar is the music/sfx. (energizer music copyright?) The built-in worlds are freeware, so even if you couldn't include them, they would not be hard to obtain. So maybe it could be on steam. On the other hand (just looked at Doom on steam) it seems that they just use the original binary and launch it through DOSbox, which allows them to charge for the game.

Author:  Appetite4 [ Sun May 17, 2015 10:31 pm ]
Post subject:  File browsing, file links

Hi Y'all,

The next version (0.9) will have support for file links and text file browsing. This is a nebulous area for me, because it's rare that I've seen this feature of ZZT exploited. The vast majority of games don't try to load content from HLP files.

More important is the sandboxing issue. Understandably, Adobe Flash is very specific about when local file storage can be accessed from a user's computer. This means file links and text file browsing will be limited as follows:

  1. Deployed (or "site") configuration can specify HLP and text files in the listing, which allows them to be invoked from !- link commands. These files qualify as remote, and are within the security sandbox.
  2. ZIP files have contents inherently loaded and stored internally by ZZT Ultra, which makes all HLP and text files contained within fall within the security sandbox. The !- link commands will work.
  3. Externally loaded ZZT and SZT files are in their "own" sandbox. HLP and text files located in the same directory on the user's own disk drive are not accessible, as they are not within a valid security sandbox. The !- link commands will not work.

I would imagine that the ideal "site" deployment for zzt.org would simply refer to ZIP files. This keeps everything very simple, because a ZIP archive can self-contain all the relevant files, and it yields the added advantage of requiring exactly one file load operation.

Author:  Appetite4 [ Fri May 22, 2015 2:31 am ]
Post subject:  ZZT Ultra Deployment Copy Available

All right! Here it is! Version 0.9.


This time, I've posted the deployment package for download, which can be placed on any web server:


My site now has a configuration of all the "official" ZZT and SZT worlds deployed, plus a few ZIP files as examples.

New features of interest:

  • Deployed (or "site") content is now supported. You can now host content on your website.
  • Ability to start up with a specific world.
  • ZIP file support.
  • File links now work under specific circumstances (see the README).
  • HLP, TXT, and DOC file support. There is now an integrated browser for text files.
  • Page size can be customized to something other than 640x400 (note that expansion is pixellated).
  • Support for HTTP GET variables on the HTTP query line, which alter the configuration. See details below.

The nifty thing about HTTP GET variables is that you can auto-load and auto-configure any deployed world. For example, to load TOWN automatically, you would do this:


To load Monster Zoo automatically, you would do this:


ZIP files are an interesting beast. See the README for how they are supposed to work. One example:


In theory, you should be able to deploy ZZT Ultra to zzt.org. I'd leave it up to the webmaster to decide on the INI settings, etc. But from what I can tell, this would probably work:

"DEP_INDEXPATH" : "zgames",

Sorry that I tend to make people drink from a fire hose with all this info. I'll help in any way possible.

Author:  Appetite4 [ Sat Jun 06, 2015 1:24 am ]
Post subject:  ZZT Imager progress

One of the tools I wanted to develop as part of the ZZT Ultra editing suite is ZZT Imager. Below is a sample produced from the prototype, with a JPEG image converted to a 50x25 gradient-block text mode equivalent.

The main reason for this tool is that I want ZZT Ultra to support cut scene imagery in a more seamless fashion, replacing the "scroll text only" dialogue that we are currently caged into using, for the most part.

The game I have in mind, "Fall of ZZT: The Curse of Production Quality" will make heavy use of such cut scenes.

File comment: ZZT Imager conversion, using FG/BG block gradient algorithm
chris_sillier_pixel.gif [ 61.38 KiB | Viewed 4024 times ]
File comment: Original Image
chris_sillier_small.jpg [ 14.39 KiB | Viewed 4024 times ]

Author:  wcgcs [ Sun Jun 07, 2015 12:48 am ]
Post subject:  Re: ZZT Imager progress

Appetite4 wrote:
One of the tools I wanted to develop as part of the ZZT Ultra editing suite is ZZT Imager. Below is a sample produced from the prototype, with a JPEG image converted to a 50x25 gradient-block text mode equivalent.

The main reason for this tool is that I want ZZT Ultra to support cut scene imagery in a more seamless fashion, replacing the "scroll text only" dialogue that we are currently caged into using, for the most part.

The game I have in mind, "Fall of ZZT: The Curse of Production Quality" will make heavy use of such cut scenes.

Looks pretty cool. I'm planning on adding a third party plugin API/manager to the editor similar to photoshop to allow customizable effects. A plugin can be an image to text renderer like this.

Author:  Appetite4 [ Thu Jun 11, 2015 2:07 am ]
Post subject:  ZZT Imager now available!

Hello All,

I have posted the ZZT Imager tool to the download page:


You should view README.txt in the ZIP file for more details. The ZZT Imager tool is very versatile in how it can generate content, including BRD files, world files, and clipboard data.

And because I know he'll ask, the answer is YES, the tool does support Super ZZT formats, Bitbot.

The only restriction for using the tool is that you need to have a desktop environment capable of running .NET 3.5.

Author:  Appetite4 [ Sat Jun 13, 2015 12:39 am ]
Post subject:  ZZT Ultra editor

ZZT Ultra has matured enough such that I now feel comfortable starting work on its integrated world editor feature.



The issue of standards is an important one. The first person to dare make a next-generation format also has to take responsibility for adding a new format into the mix.

While I've been careful to try to use open standards, and publish all details of my own format specs on my website, I invariably have some misgivings about making "yet ANOTHER format." It just adds to what others have to learn, and (if it becomes popular) adds one more standard everyone has no choice but to support.

What do you think about this topic?

Author:  Commodore [ Sat Jun 13, 2015 8:03 am ]
Post subject:  Re: ZZT Ultra

I believe the gist of that comic is "fuck standards."

Author:  Appetite4 [ Tue Jun 16, 2015 9:56 pm ]
Post subject:  Re: ZZT Ultra

Commodore wrote:
I believe the gist of that comic is "fuck standards."

Okay...so I'll make the language of ZZT Ultra use BrainF*** instead. Oh, and how about context-sensitive whitespace rules? And even better...


In all seriousness, though, I have decided to keep supporting ZZT-OOP, keep supporting ZZT and Super ZZT world formats, and maintain similar designs that are found in other editors. But I will not shy away from making new standards in the process. Deal?

Author:  Appetite4 [ Sun Jun 21, 2015 1:06 pm ]
Post subject:  ZZT Ultra Editor

Here are some screenshots from the ZZT Ultra world editor I am working on.

I have always believed the wars over "which editor is the best" are rather silly. So I have appropriated multiple interfaces using ZZT Ultra's modular GUI system. Pressing "E" lets you switch between the default interface, a KevEdit-like interface, a classic ZZT interface, and a classic Super ZZT interface.

This way, you won't have to re-learn what you are already comfortable with, while you can still take advantage of new features.

File comment: ZZT Editor GUI comparison
zzt_editor_guis.gif [ 33.84 KiB | Viewed 3920 times ]

Author:  Appetite4 [ Thu Jun 25, 2015 10:59 pm ]
Post subject:  Editor progress: status elements

Editor is steadily coming along. This screenshot represents the standard status element editing scroll. From here, you can pick apart every detail of an object.

Also, ZZT Ultra's editor exposes a feature that might not have been all that clear from my earlier posts: status elements in this engine are allowed to have an unlimited number of extra members per object. Unlike previous ZZT versions, you can assign members based on dictionary-style access.

So, basically, whenever you want to have a new member for a status element, the code can assign itself a new one. No more hard "P1, P2, P3" limits.

File comment: Status Element Editing
zzt_editor_stat.gif [ 43.76 KiB | Viewed 3890 times ]

Page 5 of 18 All times are UTC
Powered by phpBB® Forum Software © phpBB Group