ZZT Ultra

Discuss how totally awesome Bang! is here.

Moderator: Terryn

Post Reply
User avatar
Dr. Dos
OH YES! USE VINE WHIP! <3
Posts: 1772
Joined: Tue Mar 11, 2003 12:00 am
Location: Washington

Re: ZZT Ultra

Post by Dr. Dos »

You can if your apache is set up all chill.

http://zzt.org/zgames/a/
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

ZZT Ultra deployment ZIP file, GPL

Post by Appetite4 »

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.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Designing Deployment Options

Post by Appetite4 »

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

http://zzt.org/zgames/a/
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",
"DEP_RECURSIVELEVEL" : 0


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.

"DEP_INDEX" : [
"zgames/a/Atomic.zip",
"zgames/a/Aura.zip",
"zgames/a/Aurora02.zip",
"zgames/a/Aztec.zip",
...
]


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.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Thoughts about licensing

Post by Appetite4 »

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.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

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.
*POW* *CLANK* *PING*
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

File browsing, file links

Post by Appetite4 »

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.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

ZZT Ultra Deployment Copy Available

Post by Appetite4 »

All right! Here it is! Version 0.9.

http://www.chriskallen.com/zzt/ZZTUltra.php

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

http://www.chriskallen.com/zzt/download.html#download

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:

http://www.chriskallen.com/zzt/ZZTUltra ... t/Town.zzt

To load Monster Zoo automatically, you would do this:

http://www.chriskallen.com/zzt/ZZTUltra ... ONSTER.SZT

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

http://www.chriskallen.com/zzt/ZZTUltra ... odered.zip

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",
"DEP_RECURSIVELEVEL" : 1,

Sorry that I tend to make people drink from a fire hose with all this info. I'll help in any way possible.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

ZZT Imager progress

Post by Appetite4 »

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.
Attachments
ZZT Imager conversion, using FG/BG block gradient algorithm
ZZT Imager conversion, using FG/BG block gradient algorithm
chris_sillier_pixel.gif (61.38 KiB) Viewed 10114 times
Original Image
Original Image
chris_sillier_small.jpg (14.39 KiB) Viewed 10114 times
wcgcs
newcomer
Posts: 27
Joined: Tue Apr 07, 2015 1:06 am

Re: ZZT Imager progress

Post by wcgcs »

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.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

ZZT Imager now available!

Post by Appetite4 »

Hello All,

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

http://www.chriskallen.com/zzt/download.html#download

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.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

ZZT Ultra editor

Post by Appetite4 »

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

BUT...

http://xkcd.com/927/

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?
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

I believe the gist of that comic is "fuck standards."
*POW* *CLANK* *PING*
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Re: ZZT Ultra

Post by Appetite4 »

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...

http://xkcd.com/1537/

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?
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

ZZT Ultra Editor

Post by Appetite4 »

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.
Attachments
ZZT Editor GUI comparison
ZZT Editor GUI comparison
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Editor progress: status elements

Post by Appetite4 »

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.
Attachments
Status Element Editing
Status Element Editing
Post Reply