ZZT Ultra

Discuss how totally awesome Bang! is here.

Moderator: Terryn

User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Re: too many clones

Post by Appetite4 »

bitbot wrote:The Original ZZT
...
tyger
lyon
superwad
zztultra
?????????
Bitbot, that kind of sounds like a challenge.

What a pity. I guess that means I'll have to make the best clone of all.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

Imitation most sincere form of flattery and what not....
*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 »

so far so good.
:dance:
Image Image
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: ZZT Ultra

Post by Saxxon »

Dr. Dos wrote:
Saxxon wrote: Not that it prevents you from actually doing it, and I can show you how to kill the player permanently, making the game engine not recognize any keyboard input. Not that it's useful :)
I remember somebody finding out a way to do this years ago and now I'm curious if it's the same method that I know of.

https://www.youtube.com/watch?v=_NRwNx3 ... e=youtu.be
That's *precisely* how I know how to do it. Conveyors do weird things with stat objects.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Calling all cheaters!

Post by Appetite4 »

Here's version 0.5, with substantial engine improvements.

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

The "Options" on the debug menu now work. This gives you a configuration suite with JSON-organized properties. You now have a great amount of control over how the engine plays. And it lets you cheat like no other ZZT clone lets you cheat.

There are also "Console" controls on both the ZZT and Super ZZT gameplay screens. These let you modify various properties and variables at run-time. Once again, a cheater's delight.

Some examples of world properties you can modify:
  • BLACKDOORGEMS and BLACKKEYGEMS: The "256-gem" mode is activated by setting these to 1. Otherwise, black keys just act as yet another key color.
  • BLINKWALLBUMP: ZZT Ultra doesn't make blink walls kill you if trapped. You can turn on this behavior by setting this to 1.
  • GAMESPEED: Now speed can be changed at any time.
  • KEYLIMIT: Lets you carry more than just a single key of a color at once.
  • KEYSBLOCKPLAYER: Set to 0 to allow for "step over" of uncollectable keys.
  • PLAYERDAMAGE: Was 10 always just a little too high?
  • PLAYERFIREDELAY and PLAYERRUNDELAY: I found a way to de-couple the operating system's keyboard repeat rate and delay settings from the run and fire delays observed in ZZT Ultra. Unless the rate and delay is already set in the OS to something very fast, you can set them to anything. Note that 8 is a reasonable speed IMO, which works out to 8/30ths per second. If you set it to something lower, like 4, the ZZT Guy moves and shoots a little "too" responsively.
  • PLAYRETENTION: You might have noticed that the sound effects and #PLAY statements are on different channels. Set this to 0 to go back to one-channel sound, without reverb. Of course, it sounds worse.
  • POINTBLANKFIRING: VERY IMPORTANT--this definitely needs to be set to 0 for some worlds.
  • NOPUTBOTTOMROW: Controls the bottom-row #PUT bug restriction.
  • ENERGIZERCYCLES: Set to something like 10000 and you're basically a god.
  • TORCHCYCLES: Set to 10000 and you have an ever-burning torch.
Board properties should look very familiar. Can be fun to tweak some things, like the board destinations, time remaining, dark factor, etc.

Global variables are a superset of the original world flags. I tried to prevent conflicts with the original world flag namespace by starting most engine variables with dollar signs, since you can't use that character in a variable name in ZZT or Super ZZT.

Knock yourselves out.
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 »

Image
Image Image
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Imagining things? # plus direction?

Post by Appetite4 »

Discovered some ZZT worlds were breaking that had commands like #west expected to navigate to the label :west.

This is going to sound weird...but I could have sworn that #direction counts the same as /direction?

Or was I just imagining things? If I was wrong all along, it was pretty damn strange of me to think I needed to put that parsing rule into ZZT Ultra to begin with.
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 do #go west but not just #west
Visit the Museum of ZZT
Follow Worlds of ZZT on Twitter

Apologies for the old post you may have just read.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: ZZT Ultra

Post by Saxxon »

The only directional command that exists is #IDLE.

Otherwise, you need to use the directional commands as such:
/w
/west
#go w
#go west

One interesting thing to note is that / and #go are not 100% identical.
- "#go idle" will actually freeze a program. It does not check if the desired vector is nonzero, and will constantly be blocked.
- "/i" or "/idle" will not.
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Yet another update

Post by Appetite4 »

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

Version 0.6! Not as big an update, but you'll notice the difference.
  • Bit-7 Blink! Don't crucify me for ignoring it up to this point--believe me, I noticed it wasn't there. I had to decide whether to use Flash animation frames or programmatic control, and I decided to use programmatic control since it's more synchronized that way. Some blink behavior was harder to implement than I would have imagined--apparently, when a status element moves over a blinking square, it is supposed to cancel the blink bit? Sometimes, or always?
  • Most GUI labels now capture mouse clicks. ZZT purists likely wouldn't care, since it's mostly a keyboarder's world. But I'm thinking of more than just keyboarders--I'm thinking of a more general audience that "discovers" ZZT later, plus a decent way to adapt existing UIs to more modern user expectations.
  • Super ZZT has its scroll interface in 40-column now. It was a bit weird before that it was 80-column when the rest of the game was 40-column. Anyway, it's there, and it's sized correctly.
  • More strange same-line parsing cases addressed, like multiple #IFs per line.
  • Checking for PLAYER on title screen fails if not playing for real. Elis_h_1 would insta-fail otherwise.
  • Passage display and navigation is better. The main color was being checked before, but apparently navigation depends on ALL the color bits. Sabotage threw the player to strange locations before.
  • Same-board passage nav now selects the rightmost. Before it trended towards the bottom of the screen.
  • Improved zap and restore target:label.
  • Got rid of #direction (except for #idle).
The "worlds" list is also updated: http://www.chriskallen.com/zzt/worlds.php#worlds

About the list--there aren't as many red "BROKEN" worlds as before, since I'm trying to play through the worlds to make sure I hadn't missed any special cases (nearly always, I do).

I'm extremely reserved about switching a world's color over to green "OK". My requirement for that is a full playthrough for the world with no major bugs. Minor engine-related stuff is okay, but if it breaks, I won't raise the color beyond yellow "PARTIAL".

Thank you all for your support in this project!
User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: Yet another update

Post by bitbot »

Appetite4 wrote: Thank you all for your support in this project!
Who says we all support it?

Image
Image Image
User avatar
Appetite4
Official Clamp School Defender
Posts: 204
Joined: Tue Nov 18, 2014 4:57 am
Contact:

Re: ZZT Ultra

Post by Appetite4 »

Who says we all support it?
Appetite4: So, Bitbot, what is your goal for 2016?

Bitbot: I want to be the greatest prick on the Internet.

Appetite4: A noble cause. Sir, you are a gentleman and a scholar.
User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: ZZT Altera

Post by bitbot »

Chris Allen wrote:I want to be the greatest prick on the Internet.
This has nothing to do with the size of your prick.

It has everything to do with you butchering a masterpiece.

I guess we live in an age where purists and deviants can coexist.
Image Image
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: ZZT Ultra

Post by Saxxon »

They can, and I'm glad they do.

Any opportunity I can spout off needless technical trivia about ZZT, I can't refuse!
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: ZZT Ultra

Post by Commodore »

Not like ZZT's a home for deviants or anything....

Minor note for Ultra, please make spacebar shoot as well as shift. Some games trap a player clone to detect bullets and use space as a general action button.

Spacebar works different than shift, it shoots in the last direction moved or pressed I think.
*POW* *CLANK* *PING*
Post Reply