ZZT Ultra

Discuss how totally awesome Bang! is here.

Moderator: Terryn

User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

I don't know if it's the recent update or a previous one, but it does play a lot snappier for me than last i tried it. The new menu is nice.
*POW* *CLANK* *PING*
User avatar
Ellypses
Whaf yew vauhnt?
Posts: 145
Joined: Tue Aug 24, 2004 2:14 pm
Location: In hell called earth
Contact:

Re: ZZT Ultra

Post by Ellypses »

I advice refining what you have already before delving into more extra features. Saying that my IBM ps/1 with 25mhz processor literally runs zzt faster than this, and I got 2.7 dual core processor with build in radeon graphic card running this one.

You got zzt file corruption errors that most games comes with already. Link Adventure 2 & 3 crashed on loading maybe due to anti-editing cheat so developing a fail safe is advisable to make those games work. A catdog bug when a centipede is generated with two heads on ends and don't move. I notice something is quite 'wrong' with the explosion radius in SZZT mode unless I'm just not seeing it because those two are different. Also shift+arrow doesn't move the cursor 10 spaces in the SuperZZT type editor and looping on a big board can get quite annoying when you try to find the edge of the screen. Lastly, dead elements, statless elements should remain dead. Duplicates and transporters are often used as a way to bypass zzt object limit to do art.

Other than that, you're doing great.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Performance Matters

Post by Appetite4 »

Hi Jur,

Always good to get feedback. No small detail is insignificant. Especially for Super ZZT: fewer adventures made means fewer examples, less support, and less-robust game engine ports.

I have given a lot of thought to optimizing ZZT Ultra's performance. I believe that it could be that the poor performance on some machines comes as the result of simultaneously overthinking AND underthinking the problem.

Native text mode requires only a single pair of bytes to be transferred to update one character. Graphics modes require 8x16 pixels (or so) to be transferred to update one character. So why, with powerful machines today, does simple blitting take so long?

Flash can easily run 60 FPS on yesterday's machines...when the geometry is simple. ZZT Ultra's geometry, paradoxically, is not: 80x25 character cells = 2,000 total cells, each with its own independent drawing order and possible special effects such as scaling and clipping. But the original text mode never needed so many bells and whistles to draw one cell--it just...drew the cell.

So, I'm going to try to prove a theory about performance over the holidays, since I'll have more time to work on it. The theory is that Flash doesn't need to have multiple persistent containers. You could make do with only a few (one for the GUI and one for the viewport), which are updated as one massive bitmap blob. You lose the advantage of display list queuing, clipping, and special effects, but you don't need any of those--you just need to copy the damn thing to the screen. Once.

If the theory is correct...performance won't just jump by a little. It will jump to 60 FPS.
User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: ZZT Ultra

Post by bitbot »

Commodore wrote:it does play a lot snappier for me than last i tried it.
I agree.
Jur wrote:I advice refining what you have already before delving into more extra features..
Hey Jur yea backwards compatibility should be the #1 priority. Still can't get past the first board of my game in ultra cause Flimsy's edge/clone technique doesn't work.

Chris— Nice article on the perils of hacking the executable. I'm much more interested in unlocking ZZT's potential.
Image Image
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

Scaling, from what I understand, is one of the more intensive CPU operations. Alas this essential in the modern era of non-standard screen sizes. You could fake it with pre-scaled tiles, I'm not sure how many scaled copies would be required, but the program already loads and initializes quickly so I can't imagine it's that big. but if the tile dimensions were predetermined, and you don't have to worry about converting an 8 by 16 tile into a whatever by whatever tile....

I've not worked with flash, but maybe it is that the scaling is specific to the user-side flash player and not controllable by a programmer?
*POW* *CLANK* *PING*
User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 182
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Re: ZZT Ultra

Post by Smilymzx »

Getting most games to work with ZZT Ultra to work is still a good idea, even if ZZT's quirks are what make it work,

With that said, I think the engine world that's called ''Preposterous Machines'' needs to be also considered, I heard that it requires a speed setting requirement FASTER than ZZT Ultra can handle (assuming if not fixed already).

Anything else I think is fine with ZZT Ultra as far as I know.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Fast Times of ZZT Ultra High

Post by Appetite4 »

ZZT Ultra version 0.14 is now available. Make sure to clean the cache if you've tested it recently--browsers like to remember things you'd like to forget.

You should look at the site's changelog to view everything that is different in version 0.14. Basically, you all have been talking, and I've been listening.

One of the more welcome changes is a huge speed boost. Remember that theory I said I wanted to prove about performance? It's been proven. Now ZZT Ultra is quite fast, and does not lag even on my ancient laptop.

Another change is actually a myriad of world-support fixes. Statless stat types, cloned board edge nav, board corruption resistance, and many more fixes. Link II runs (not sure if completion possible yet), Ned the Knight loads, all of the Link's Adventure series runs to completion, and Cat, Cat, That Damn Cat runs to completion.

You know what? I'm feeling generous, with holiday tidings and all that. What more features would you like? I'm in a giving mood.
User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 182
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Re: ZZT Ultra

Post by Smilymzx »

How about adding Layers:

- Dark Boards and Regular Boards are considered seperate layers)
- Up to 5 optional extra layers (starts at Layer 2, See above for Layers 0-1)
- Underlay or Overlay, with Prioritizer
- Modes: Elemental/Transparent/Non-Transparent

In Elemental Mode, Additional Board Info applies to the layers
In Transparent/Non-Transparent Mode, Characters and Colors (ANSI Graphics) Only applies to the Layers

EDIT I still feel that more colors are better with the Intense/No-Blink mode (Bright Colors, No Blinking, like in MZX), It would feel like a better option than just the plain ol' default Blinking Colors mode.

EDIT2: And maybe a new Color mode would be worth adding: 256 color fake text mode, BG colors are not availible, the BG is instead replaced by the element UNDER the current object/layer, making all objects transparent. There are major advantages. But should only work on Ultra mode.

Works especially if Multiple Layers are enabled...

Assumed Format:
[RLE][Element][Color: 255 max, no bg]
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

yes! runs great!

minor nitpick, but I'd like to see the scroll dialogue open more authentically.

also I like playing zzt on a game pad, I'm not sure if it is possible for this to occur in flash, whatever browser would have to probably pass along the inputs.
*POW* *CLANK* *PING*
User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: ZZT Ultra

Post by bitbot »

the player still won't budge for me on the first board.

i have objects alongside the player that keep him from moving. ultra seems to execute before the player is free from pausing...
Image Image
User avatar
Ellypses
Whaf yew vauhnt?
Posts: 145
Joined: Tue Aug 24, 2004 2:14 pm
Location: In hell called earth
Contact:

Re: ZZT Ultra

Post by Ellypses »

Feature suggestion eh? Well...you know how the title screens for SZZT is built in into the execution. I don't see why not make it a part of the games' file finally. And yes, non-blink mode is something I like included as wel-wait....ultra don't use terminal font but is individually drawn, right?
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Harbinger of things to come

Post by Appetite4 »

The player still won't budge for me on the first board.
Don't forget to clean your browser cache. ADVLINK2.ZZT works for me, but browsers can be "sticky" and not read updated files directly from the site.
Well...you know how the title screens for SZZT is built in into the execution. I don't see why not make it a part of the games' file finally.
Already taken care of--you can use the GUI editor to create GUI files, and then use the world editor to import those files into the WAD file proper. DEMO.WAD makes use of a whole bunch of these embedded GUIs.

Some great news, in general: the VGA emulation for text mode is nearly complete. Features will include...
  • Bit 7 Blink or High Intensity Color toggle
  • Scanline count toggle (CGA=200, EGA=350, or VGA=400)
  • Custom character set selection (heights of 8, 14, or 16)
  • Default font sets for all three of above scanline counts; only VGA supported previously
  • Palette DAC settings for all 16 text-mode color registers (individual RGBs configurable)
  • Fade transition commands for above
IMPORTANT: Some combinations of scanline counts and custom character sets produce displays with more than 25 rows. For example:
  • (EGA=350 + height=8): 43 rows
  • (VGA=400 + height=8): 50 rows
  • (VGA=400 + height=14): 28 rows, which is used by Banana Quest
I suppose that "full VGA emulation" is a misnomer, because a great deal of BIOS functionality applies only to state retention, state query, and bank-switching operations, which don't really require de-facto emulation. And then there's unchained mode, which I think we can safely ignore.
User avatar
Scribbit
is keeping the new avatar, thanks.
Posts: 543
Joined: Tue Sep 18, 2007 8:06 pm

Re: ZZT Ultra

Post by Scribbit »

I just discovered this two days ago and I'm in love. Best extension of ZZT I've ever seen, if only because it runs snappy in a browser and supports my old worlds (Even PortalZZT, which was based around the player-teleport glitch. Was pleasantly surprised you supported that!)

The one feature that feels "missing" to me is fullscreening. When I played ZZT on an old windows machine, I ran it in a fullscreen dos terminal. And when I played it in DOSBox, I screwed with the configs to make some sort of functional fullscreen there. I miss those giant-ass pixels.

I like the reverb effect, by the way. Somehow that makes ZZT sound more like ZZT than it really did to begin with.

EDIT: Also, I did like PLASTIC's feature to export a world as a standalone executable, but I realize that you're sort of going the opposite direction with browser support here.
I'm nupanick.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Lookit All Da Pretty Colors

Post by Appetite4 »

Ho ho ho, all you ZZT Hos! Santa Claus has come to town early this year! He has delivered the gift of version 0.15 of ZZT Ultra.

Video palette DAC support, character editing support, fastest speed Hz customization, scroll-opening customization, bit 7 blink/high intensity BG toggle. This page covers it in more detail: http://www.chriskallen.com/zzt/changelog.txt

I've prepared a new demo that covers these features. Not as impressive as the original tech demo back in September, but it mentions all the new commands: CHARDEMO.WAD.

The character editor and character-mod support are things I needed to do anyway to support Banana Quest. Note the "before" and "after" shots of the game when loaded in the ZZT Ultra editor.
Banana Quest:  Before char set mods
Banana Quest: Before char set mods
Banana Quest:  After char set mods
Banana Quest: After char set mods
Have a Happy New Year, everyone.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

Great work sir!

In that chardemo, it seems that the spinner can not move you over the clear forest areas.

Some editor nitpicks:

1) The save file dialogue does not remember the filename you last entered to save, so it must be retyped every time, or you scan your entire zzt directory for the file you want to overwrite.

2) It's weird and sort of slow how when editing an object's stats the scroll box has to close and reopen after every change. It would also be useful in this dialogue to have the char displayed rather than just a number.

Can you help me through the process in UZZT of having an object create another object (one that isn't necessarily already on the board?)
*POW* *CLANK* *PING*
Post Reply