Random posts

ZX-82 - Pacnic!!!

Game File: 

Eat all pills and find the cherrypie to move onto next stage. Avoid ghosts.

A tribute to Sinclair ZX Spectrum games.

JF Roco
Made For: 
An event

Precautions for the upcoming ZZT Blitzkrieg

(which I will not be able to participate in on the day, unfortunately. I am still keen, though, so I might just make something anyway.)

ZZT is... uhmm... crap. But that's not necessarily a bad thing. You see, if it wasn't crap, it would be quite inflexible, and therefore it would be the bad sort of crap.

Because ZZT is somewhat crap, you need to pay close attention to what I'm about to say as you may break things if you don't.

The ZZT-OOP parser is just bloody weird. There's a lot you can do if you know what you're doing. But if you don't know what you're doing, bad things can happen.

Here are at least some of the snags you'll need to be wary of.

  • Names of labels, objects, and flags should not have numbers in them - the parser is weird. Sadly, I have forgotten exactly how the parser deals to these, so, um, just don't use numbers.
  • A label cannot go on the very first line of your code.
  • #restore will restore the first zapped label from the top, not the bottom. Be wary of this!
  • Comments (') are actually zapped labels (:).
  • ZZT runs its program code in text form. You're right; it's not efficient.
  • #cycle 1. Seriously. Just do it. Anything else will behave unpredictably when you pause / unpause. Also, if Saxxon is to be believed, the tick counter wraps around at 420.
  • Speaking of pause... weird stuff happens when the game is paused! For starters, if the player is trapped, and then decides to pause, ZZT effectively freezes.
  • Much like how GReg JAnson doesn't know how to spell "gaurd", Tim Sweeney spells "alligned" with two Ls.
  • You have 20KB available per board. Use it wisely. (I don't know if this includes the compressed or uncompressed 60x25 board layout.)
  • You also have a somewhat arbitrary world size limit which is something like 380KB. ZZT behaves horribly if you run out of memory. Even then, KevEdit can segfault while saving. Back your games up!
  • You cannot #put things on the bottom row. Sorry guys.
  • You have enough space for 10 flags. If you exceed this... I forget what happens. You can check if this limit has been reached by doing "#if #dosomething" (if it hasn't, do something) or "#if not #dosomething" (if it has, do something).
  • To place the player in the ZZT editor or KevEdit, use F1 Z. Copying and pasting the player will result in what is known as a player clone (these can also be made using #put player and stuff like that). Player clones are necessary for a lot of ZZT tricks, but you most likely don't want to be placing these by accident.
  • There are several amusing ways to crash ZZT. Avoid them when you're not trying to crash ZZT. Here are some ways to crash ZZT.
    • Spamming a scroll with lots and lots of text using a loop.
    • Duplicating a player clone onto something pushable.
    • Putting #become or #die or movement commands in a scroll, the latter of which is quite amusing.
    • Accessing (or maybe simply having) a really, really large board. Keep your code size down!
    • Having illegal tile IDs on a board (not explored).
    • Touching blinking text, a won't-crash-immediately series of illegal tile IDs. There's a reason why KevEdit doesn't let you make blinking text easily, and this is it. (I think.)
  • Be wary of the stat order; that is, the order that things are processed. Some things will screw up. Pressing Ctrl-T in KevEdit will tell you what the "Stat index" of a thing is, and also allow you to add and remove stats.
    • The Koopo trick (duplicating a player clone onto a passage) has a well-known bug which will set a thing's parameters and cycle to 255. It's either based on the player clone, the duplicator, or the passage - you can look that one up yourself if you want.
    • If an object does #die or something like that, the object after it in the stat order will move according to its "direction". This even affects things which use the direction but aren't supposed to move, like transporters and laserwalls. This does not care about the following object's cycle counter. So, if something "dies" and something else randomly moves, you might need to look at the stat order.

Oh yeah, also, use KevEdit.

qrleon's picture

Screenshot of ZZT (link to an image thread)

This thread (NSFW, very image-heavy) might be of interest. I planned to skim through the entire archive of ZZT games (about 3000), taking screenshots as I plowed through. I didn't have the stamina though, since for every good ZZT game there are 100 so-bad-they're-practically-unplayable ones.

Anyways, ZZT interests me because it had a level editor comparable to what you'd find in something like Sokoban or Lode Runner, with the addition of up to 150 scriptable objects per screen (20,000 bytes per screen, 250~k per game file.) This is more than enough to make a simple adventure, but not enough to go utterly crazy with the scripting system.

The beginning of the thread is mostly my screenshots of crappy games interspersed with pictures from 'art collections' when I couldn't take the horror any longer and needed a break. Later on, others contribute more interesting pictures from a set of better crafted games. I wish I had kept track of authorship, but I guess it doesn't matter that much.

The images were mostly taken in the Summer of 2007, I think, but I gave up on the project in February. In retrospect, the snapshots of message boxes were a bad idea ... much less interesting than actual pictures.

Beyond ZZT, I had similar plans to make screenshot galleries for other games with a lot of user content. But HUMBUG

Here are some samples:

NiallM's picture

Step Sequencer Invaders


Space invaders in a step sequencer. Kill the invaders to fight off the big UFO.

Made For: 
An event

garoos bide it

Game File: 

After much thought I concluded that the world doesn’t have enough hand-painted, Zappa-tribute gamelike things with algorithmic music. First experiment with MMF2 (or any Clickteam tool). Probably shouldn’t release this thing really but I’ve been so wanting to put another game on Glorious Trainwrecks and it is certainly a trainwreck. Erm … sorry.
Find keys. Controls are WASD, AD plus space for last part.

Made For: 
Danni's picture

Normal Guy's Bad Hair Day

Game File: 

Content warning: Body horror

You wake up one day with some very weird and long alien hair! Try to get by in one piece while keeping your hair nice and neat.

Event Created For: 
Made For: 
An event
captaincabinets's picture

heeeeerrrrreeeee's Johnny (Charisma)!

I'm back. This may be difficult to swallow in this age of superconnectivity, but I only got the internet piped into my not-enough-room-to-swing-a-dead-cat-let-alone-have-the-facilities-to-cook-it abode a couple of days ago. Sure, I had my whopping 6mb per day on the university computers, but I felt could not do this site justice by showing up and not being able to download and upload the gruesome trainwrecks. Various other things invaded my life to prevent me from getting the internet - for one, I embarked on yet another "maiden" voyage (boom-tish) which is still so involving that to game-o-bliggity-blog every nuance would require a development team the size of the chariot crowd in Ben-Hur.
A triumphant rhinoceros trainwreck to herald my return will be stampeding its way to your eyeballs and fingers, shortly!


P.S I was on the train platform the other day, and someone actually had a shopping bag which read "Hat World." Don't worry, Six, I served him the cease-and-desist while politely breaking his legs.

EDIT: And here it is, quicker than even I expected! I had the idea for this while outside, pressing 'c'. My gosh, it's lovely to be klikking again.
Oh My Guacemole I Forgot How Big The Internet Was

omgifhbtiw.zip257.05 KB
sergiocornaga's picture

therein lies

Game File: 

My attempt at an abstract flickgame.

Made For: 
An event
pouls's picture

kunst gesprichten / genichten / gesprache


collaboration with my eight year old cousin
arrow keys
to move

on the tiny tim music room thing with the rainbow, press the v key.

Made For: 
thesycophant's picture

Hammer Bro.!

Game File: 

You are a Hammer Bro.! Get to the end of the level! Brother against brother! Don't get killed by your own hammers (hammers hurt you on their way down).

X jumps, yo!

Event Created For: 
Made For: 
An event
Syndicate content