Page 3 of 18

Re: too many clones

Posted: Wed Mar 04, 2015 12:08 am
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.

Re: ZZT Ultra

Posted: Wed Mar 04, 2015 12:09 am
by Commodore
Imitation most sincere form of flattery and what not....

Re: ZZT Ultra

Posted: Wed Mar 04, 2015 12:43 am
by bitbot
so far so good.
:dance:

Re: ZZT Ultra

Posted: Fri Mar 06, 2015 4:02 am
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.

Calling all cheaters!

Posted: Wed Mar 11, 2015 2:34 am
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.

Re: ZZT Ultra

Posted: Wed Mar 11, 2015 6:41 pm
by bitbot
Image

Imagining things? # plus direction?

Posted: Fri Mar 13, 2015 10:09 pm
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.

Re: ZZT Ultra

Posted: Fri Mar 13, 2015 10:28 pm
by Dr. Dos
you can do #go west but not just #west

Re: ZZT Ultra

Posted: Sun Mar 15, 2015 5:12 pm
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.

Yet another update

Posted: Mon Mar 16, 2015 11:48 pm
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!

Re: Yet another update

Posted: Tue Mar 17, 2015 2:33 pm
by bitbot
Appetite4 wrote: Thank you all for your support in this project!
Who says we all support it?

Image

Re: ZZT Ultra

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

Re: ZZT Altera

Posted: Wed Mar 18, 2015 3:02 am
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.

Re: ZZT Ultra

Posted: Wed Mar 18, 2015 3:44 am
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!

Re: ZZT Ultra

Posted: Thu Mar 19, 2015 6:28 am
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.