Page 8 of 18

Re: ZZT Ultra

Posted: Tue Nov 10, 2015 10:17 pm
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.

Re: ZZT Ultra

Posted: Tue Nov 17, 2015 6:03 am
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.

Performance Matters

Posted: Fri Nov 20, 2015 11:26 pm
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.

Re: ZZT Ultra

Posted: Sat Nov 21, 2015 3:40 pm
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.

Re: ZZT Ultra

Posted: Sun Nov 22, 2015 5:07 am
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?

Re: ZZT Ultra

Posted: Thu Nov 26, 2015 12:34 pm
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.

Fast Times of ZZT Ultra High

Posted: Fri Dec 04, 2015 3:17 am
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.

Re: ZZT Ultra

Posted: Fri Dec 04, 2015 2:11 pm
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]

Re: ZZT Ultra

Posted: Fri Dec 04, 2015 10:07 pm
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.

Re: ZZT Ultra

Posted: Sat Dec 05, 2015 11:04 pm
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...

Re: ZZT Ultra

Posted: Sun Dec 06, 2015 6:08 am
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?

Harbinger of things to come

Posted: Thu Dec 10, 2015 3:29 am
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.

Re: ZZT Ultra

Posted: Sat Dec 19, 2015 5:56 pm
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.

Lookit All Da Pretty Colors

Posted: Sun Dec 20, 2015 11:45 pm
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.

Re: ZZT Ultra

Posted: Mon Dec 21, 2015 1:48 pm
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?)