Contents Cntd.
- ZZT's Elements: Items, Creatures, and Terrains
- Items
- Player
- Ammo
- Torch
- Gem
- Key
- Door
- Scroll
- Passage
- Duplicator
- Bomb
- Energizer
- Conveyors - Clockwise and Counter-clockwise
- Creatures
- Bear
- Ruffian
- Object
- Slime
- Shark
- Spinning Gun
- Pusher
- Lion
- Tiger
- Bullet
- Star
- Centipedes - Heads and Segments
- Terrain
- Empty
- Water
- Forest
- Walls - Solid and Normal
- Linewalls
- Walls- Breakable
- Boulder
- Sliders - Sliderns and Sliderew
- Walls - Fake
- Walls - Invisible
- Walls - Blinkwall
- Transporter
- Ricochet
- Text
- Special Elements
ZZT's Elements: Items, Creatures, and Terrains
"Element" is the term typically used to refer to what occupies a tile on a ZZT board at any given moment. Below is a brief overview of the elements included with ZZT. Most of them are designed with the idea that ZZT games will be overhead action games. More complex ZZT worlds tend to rely on objects rather than the built-in elements for advanced gameplay, creating custom items, enemies, NPCs, puzzle components, and more. While this list documents all the standard elements, it does not come close to covering everything you'll encounter across all ZZT worlds.
ZZT's default editor imposes restrictions on the colors of most elements. Some are hard-coded to only use one color like ammo () being dark cyan. Others may be any of the seven colors ZZT's editor allows authors to choose from like boulders (). Over the years various tricks were discovered to create elements of non-standard colors. 1994 saw the release of Super Tool Kit, which provided a world with most elements in every color combination ZZT supports. These special colors, whether produced within ZZT or via hex editing are commonly referred to as "STK" colors/elements.
Today, third-party editors remove these restrictions, so you may come across any element in any color with the only exceptions being elements ZZT is coded to render in a specific color no matter what. Despite the freedom of color choice available today, most worlds still stick to the original colors for non-terrain elements unless they have specific reason to change them.
Items
Player
This white on blue smiley face is what is always used to interact with a ZZT world. The player element can be moved with arrow keys, shoot by holding shift and pressing an arrow key provided they have ammo and the board allows shooting. They can also interact with other elements by touching them.
Under ZZT v3.2 and non-enhanced source ports, any active player will be white on dark blue, only ever changing appearance and color when energized.
The player element controls all input during gameplay. It cannot be destroyed under normal circumstances, but if it is managed, ZZT will soft-lock as no input can be read afterwards. ClassicZoo will attempt to prevent this from occurring by default.
Ammo
Ammo is the source of the player's traditional form of offense in ZZT worlds. Picking up ammo supplies the player with five ammo the player can then shoot.
Torch
Torches provide a light source for dark rooms. The player can light a torch by pressing "T". A small circle will light up around the player provided limited sight into the darkness. Torches burn out over time with as estimate of how much time remains being displayed on the sidebar.
Once a torch is activated, it will burn until it extinguishes. You cannot put away a burning torch.
Torches provide approximately twenty seconds of light.
Gem
Gems provide the player several things. Collecting a gem increments the player's gem count by one as well as providing a single health point and adds ten points to the player's score.
Players can destroy gems by shooting them, so watch your aim!
Traditionally, gems are used as currency in games which allow the player to make purchases, though any counter may be used. Gems also do not mean that purchases will be available in a given game.
Because gems only restore one health point, many games use objects to create items that provide the player greater quantities of health.
Key
Keys are used to open locked doors that match their color. ZZT restricts them to just seven colors. Using third-party editors it is possible to create keys using dark colors which act identical to their bright counterpart. Only one key of each color can be held at any time.
ZZT treats all standard key colors in the same manner. The objective of the first ZZT world "Town of ZZT" is to obtain five purple keys, and as such purple keys are typically considered the "important" ones, though this is not always the case.
Using third-party editors it's also possible to create black (or dark gray) keys. This causes ZZT to write to the gems counter in memory resulting in black keys giving the player 255 gems as well as displaying an invalid message. For this reason, they are rarely used.
Door
Doors are the locked counterpart to keys. If the player has the corresponding key, they will open the door, losing the key in the process. If the player lacks the correct key, they act as a wall and produce a message indicating their locked status.
ZZT enforces doors to be white with a dark colored background to indicate the key needed. Due to the low visibility of the background colors, it can be difficult for players to distinguish what color a door is from a distance. It is considered a good design practice in modern games to produce doors with foreground colors that match the key color to make it more clear. Alternatively, worlds old and new may aid readability of a door's color by having surrounding walls or other elements match the door's key color.
Scroll
Scrolls are used to provide messages to the player. They constantly change colors to make their presence stand out.
Upon being touched a scroll will do one of two things based on the length of its message. Messages that fit on a single line are displayed in flashing text along the bottom row of the board. Messages that require multiple lines will instead open up a window that can be navigated with the arrow keys, pausing gameplay until the window is closed.
After reading a scroll, it will be destroyed. Well-designed worlds should use objects to allow players to reread important information. If you come across something important in a scroll, don't forget it!
Scrolls can also execute ZZT-OOP just like objects can. However, some ZZT-OOP statements when ran by a scroll will cause ZZT to crash. Scrolls cannot use movement commands or #become
without crashing. This is rarely an issue as any world that has received even the most basic testing should discover this.
Passage
Passages are used to change boards. Every passage has a destination board assigned to it resulting in the board being changed when the player touches one. When the player changes boards via a passage, the game is paused requiring the player to move first before unpausing.
When a passage is taken, the destination board is scanned to find a passage that shares the same colors as the one that was entered. If a match is found, the player will be placed on top of it. If multiple matches are found, the lower-rightmost passage will be used as the destination. If no match is found, the location of the player element on the destination board is used as-is.
Duplicator
Duplicators are used to create copies of other elements. Each duplicator has a source direction that points to the element to be duplicated, and a duplication rate which controls the speed of duplication. If the destination tile is blocked, the duplicator will try to push that element out of the way. If it can't, duplication fails.
Duplicators play sounds both on a successful duplication as well when the duplication fails due to the destination for the duplicated tile being occupied. This can get quite noisy!
When a duplicator is blocked by the player, the duplicated element acts as if it were directly touched. It may be wise to purposely stand in front of a duplicator and be harmed rather than let it spawn in more enemies.
Bomb
Bombs are used for both action and puzzles. When a bomb is touched it will begin a countdown, changing its character to show the time remaining until it explodes! Explosions consist of a circle of randomly colored breakable walls that are then erased (the exact shape of the circle drawn when lighting a torch). Any destructible elements will be destroyed in the blast. If the player is inside the explosion radius they'll be hurt for ten health.
Objects in the blast radius will be sent to the label :bombed
if they have one.
Once lit, bombs may be pushed by the player. Alternatively, if a bomb is pushed by a boulder, slider, or object the fuse will not light. This means that a player can push a boulder into a bomb without lighting it, something that may be used as a puzzle element.
Energizer
Energizers are ZZT's invincibility power-up. Touching one will render the player immune to (most) forms of damage such as bullets and contact with creatures. Players can still be harmed by blinkwalls and bombs, as well as direct manipulations of the health value via the #take
command.
Touching an energizer provides approximately seven and a half seconds worth of invulnerability. Music plays, and the player will flash colors/characters to indicate the status.
When an energizer is collected, objects will be sent to the label :energized
if they have one. Objects can also check if the player is currently energized with #if energized [command]
.
When the player is energized, all calculations done by ZZT to determine how to move an element towards the player are inverted. This results in creatures attempting to escape an energized player as well as objects using directions like #go seek
to also move in the opposite direction.
Conveyors - Clockwise and Counter-clockwise
Conveyors can be used to rotate pushable elements around them in a clockwise or counterclockwise direction. ZZT uses two elements for conveyors, one for each direction of rotation. The eight tiles bordering a conveyor will rotate whenever the conveyor gets to act.
Conveyors are the most unstable of ZZT's elements that are intended to be accessed. When rotating elements that have stats, a coding error can result in the stats being swapped between two elements. This can result in the player no longer being the first stat and losing protection from being destroyed which will lead to a soft-lock. Additionally, a visual glitch can occur with conveyors as well resulting in blank spaces being rendered rather than the element that actually occupies the tile.
Creatures
Unless otherwise specified the following applies to all creatures:
- A player-fired bullet, contact with an energized player, or explosion will destroy a creature.
- Touching/Being touched by a creature when not energized will hurt the player for ten health and destroy the creature.
- Creatures have an "intelligence" value set when placed in an editor. This is normally capped from 0-8. When deciding how to move, creatures randomly pick a number from 0-9. If the intelligence value is less than the random number the creature will move in a random direction, otherwise the creature will move towards the player.
- When shot, creatures award points to the player's score. Different creatures provide a different number of points.
- Information on the intelligence or any other properties of creatures is not communicated to the player. You'll have to observe their behavior to get a feel for what their parameters are set to.
Bear
Bears only move when the player is sufficiently close to them based on a sensitivity value set when placing the element in an editor. At a sensitivity of nine, bears will only move if they are aligned with the player. As the sensitivity decreases, the range widens by an additional tile in each direction.
Bears have the unique property of being able to destroy breakable walls by walking into them. A bear which does so is destroyed along with the wall.
Bears do not have an intelligence parameter, only moving based on player proximity and their sensitivity value instead.
Ruffian
Ruffians move quickly and erratically, making them one of the more challenging built-in enemies to deal with. They pick a direction and begin moving in that direction until they randomly decide to stop and rest based on a second "resting time" parameter.
Object
Objects are the most versatile element as they can be fully programmed using ZZT-OOP. They may take on any character for their appearance(, and also change it via code).
ZZT worlds use objects for countless things. They're used to display messages, give and take supplies, make transformations to elements on the current board, send messages to one-another, attack the player, and so much more.
Unlike most creatures, unless they have been specifically coded to do so, touching an object will not harm the player, nor will shooting/bombing an object harm the player. They do not have an intelligence parameter, nor will they provide score when shot unless programmed to. Object that lack any code are functionally just walls with customizeable graphics.
Slime
Slimes are unique creatures that cannot be harmed via conventional methods, but they can be destroyed by touching them without the player losing any health.
During gameplay, slimes spread based on their speed parameter. As slime spreads, it leaves a breakable wall of the same color in its previous position, and the four tiles adjacent to it are replaced with an identical slime if possible.
Touching a slime turns it into a breakable wall, allowing slower spreading slime to be contained by a player working to stop the flow. At high speeds the rate of spread is too great for a player to deal with. Be careful not to get trapped!
Shark
Sharks are ZZT's only aquatic creatures. If placed on land they will remain motionless, though a beached shark can still hurt a player that gets too close to them.
Sharks are intended to be placed on top of water tiles where they can swim freely, moving based on their intelligence parameter.
Sharks, whether on land or in water are immune to to all forms of damage. The only way for a player to destroy a shark is to be attacked by one.
Spinning Gun
Spinning guns are immobile sentries that endlessly fire projectiles at the player. Like most creatures, they have an intelligence parameter, but here it is used to determine if the projectile is fired towards the player or in a random direction.
Spinning guns also have a "firing rate" parameter that determines how often a projectile will be fired.
Spinning guns can not be destroyed by the player.
Lastly, spinning guns have the option of firing two possible projectiles. They may shoot bullets or throw stars.
Pusher
ZZT files this under "Creatures", but terrain is a more apt label.
Pushers are set to a cardinal direction and will constantly try to move in that direction, pushing anything in their path, or coming to a halt if they reach something that can't be pushed. They are mostly used as a component of puzzle design with boulders and sliders, though they also can appear in more action-oriented boards as moving obstacles that can block a player's shots or outright trap a player if they're too slow and get blocked by a pusher.
Pushers cannot be destroyed by the player.
Lion
Lions are ZZT's most basic enemy. They have no special properties, and simply move randomly or towards the player based on their intelligence parameter.
Tiger
Tigers move exactly as lions do, but these cats are armed! Tigers have a second "firing rate" parameter that determines how often a projectile will be fired.
Lastly, tigers have the option of firing two possible projectiles. They may shoot bullets or throw stars.
Bullet
Bullets are ZZT's primary projectile. They may be fired by the player for one ammo, fired by objects, fired by spinning guns, or fired by tigers.
For the player, all bullets are equally dangerous, resulting in losing ten health if hit.
Bullets keep track of whether they were fired by the player or not. This determines how some elements react to being shot. A player-fired bullet can harm creatures and send objects to their :shot
label if they have one. A non-player-fired bullet cannot harm other creatures, but can send objects to :shot
. This prevents tigers and other bullet-firing creatures from shooting each other.
Target | |||||
---|---|---|---|---|---|
Shooter | Player* | Tiger | Object | ||
Player | Player is hurt for 10 health | Tiger is destroyed | Object is sent to :shot label | ||
Tiger | Player is hurt for 10 health | No effect | Object is sent to :shot label | ||
Object | Player is hurt for 10 health | No effect | Object is sent to :shot label |
With the use of ricochets it becomes possible to run into a situation where a player is shot by their own bullet.
Bullets can be shot over water. They can destroy breakable walls. They can destroy other bullets as well.
* It is possible to place more than one player on board. These extra players are typically referred to as "player clones". When they are shot, no health is taken, and the clone is destroyed as if it were an enemy instead.
Star
Stars are ZZT's other projectile, and have a notorious reputation for being very difficult to use effectively due to their properties.
Like bullets, stars can hurt the player for ten damage and can destroy breakable walls. Stars are far more dangerous than bullets as they don't move in a fixed direction, but always move towards the player when possible making them far more likely to hit their target. Stars can't be destroyed with bullets so the player's only option is to run. Eventually, stars will disappear on their own, though this takes approximately ten seconds.
Stars are also able to push other elements, even crushing them against walls which in some circumstances can result in a glitch where ZZT's stats are mixed up. This most frequently happens with stars crushing tigers and can lead to a situation where a tiger begins moving at maximum speed and firing bullets (even if they fired stars before) constantly. Another glitch may lead to a star being pushed through a wall as if it weren't there.
Many ZZTers will use objects to erase all stars on the screen at a rate faster than the stars would normally dissipate on their own or some other solution to make stars less of a threat than they are by default.
Centipedes - Heads and Segments
The last creature offered by ZZT is centipedes. Centipedes are composed of a head, with zero or more segments following. When a centipede moves, all the segments move as well resulting in smooth movement of a creature that (often) takes up multiple tiles.
If a centipede head is shot, the segment immediately following it will turn into a head. If a segment in the middle is shot, the next segment turns into a head, splitting the centipede into two.
In addition to an intelligence parameter, centipedes also have a parameter for "deviance" that determines how often they will change directions. With the lowest deviance, centipedes will only turn when they are forced to.
When placed, there are no associations between heads and segments defined. The centipede becomes a single entity only during gameplay which can lead to unintended connections depending on how the author placed them. If the intended head of a centipede is obstructed, segments will not connect to it resulting in all the segments turning into heads instead.
When a centipede hits a wall and cannot turn, the head is turned into a segment, while the last segment in the centipede is turned into a head, allowing it to reverse direction.
Centipedes are an effective way of corralling the player, both to their benefit and detriment. A centipede can be used to block bullets from other creatures, or may just as likely prevent the player from shooting their own target.
A common trend among still-learning ZZTers is to create centipedes of excessive length. This can get very tedious to deal with as the player has to wait for a gap if they aren't able to shoot their way through.
Terrain
The building blocks of ZZT boards. These elements mostly consist of various walls to obstruct the player, but also contain components used for puzzle design among other gameplay mechanics.
Empty
Empties are the default tile in ZZT. They are simply empty spaces for other elements to move onto.
Regardless of what color an empty actually is, ZZT will force it to be drawn as black on black.
Water
Water is a wall for almost every element. The only exceptions are bullets and stars which can cross over the water, and sharks which can swim within it.
Water is a peculiar element in ZZT for a few reasons. ZZT's own editor uses blinking blue on white. An oversight in how ZZT decides what color something can be allows authors to place water in the seven default colors as well. Further confusing things, the default color of water was changed during ZZT's development. DEMO.ZZT uses water that's blinking white on blue instead. The theory is that thing was changed to better hide sharks in water, though this is just conjecture. Many early ZZTers opted to copy the alternate water from DEMO and use it in their own games, as it's generally regarded as looking nicer. It has been unofficially been dubbed "The Cooler Water" for this reason.
Forest
Forest is a temporary wall that can only be destroyed when the player steps on it.
Walls - Solid and Normal
These walls are just that. Solid and normal. They are functionally identical, differing only in appearance and block anything from passing them.
Linewalls
Linewalls are another type of basic wall like solids and normals. They are unique in that they connect to one other forming a connection with any of their neighbors. They also connect with board edges.
Walls - Breakable
Breakable walls differ from their solid and normal counterparts by being destructible. Bullets, bomb explosions, bears, and stars can destroy them (and themselves) in the process.
Solids, normals, breakables, and water form a rather convenient fade from foreground to background colors and are often used for shading ZZT boards, even if that means some of the walls are destructible, and others produce a message about water when touched.
Boulder
Boulders are puzzle elements that are freely moveable by the player and other elements capable of pushing things.
Boulders (and sliders) may be used to crush certain tiles against walls. This includes most creatures, as well as gems.
It is worth noting that due to how ZZT handles the concept of elements being "under" other elements, that boulders being pushed over fake walls will cause the fake wall to be destroyed under normal circumstances.
Sliders - Sliderns and Sliderew
Sliders are puzzle elements that are like boulders, but can only be pushed vertically or horizontally based on the direction the arrows point.
They are typically combined with boulders and pushers to create sliding puzzles.
Walls - Fake
Fake walls appear identical to normal walls, but aren't solid at all. Originally these were intended to hide secrets, though it didn't take long before ZZTers began filling boards with fakes to create floors for indoor environments. Because of this, fake walls are sometimes referred to as floors.
Walls - Invisible
Invisible walls the opposite of fake walls. Where fake walls appear solid but are actually walkable space, invisible walls appear to be walkable space, but upon being touched transform into a normal wall, blocking the player.
Editors traditionally render them with character 176 so that the author working with them is able to see them. During gameplay, an invisible will render with the character 32, a space instead.
It can be very tedious navigating dense invisible wall based mazes. A common technique to making such mazes bearable (subjective) is to have an object detect the presence of a normal wall on the board when one is revealed, and then to use #change
commands to make the entire maze temporarily visible.
Walls - Blinkwall
Blinkwalls are a dynamic type of wall that appears and disappears at intervals defined in the blinkwall tile. Parameters are set to choose a cardinal direction, period of blinking, and initial delay via start time.
When a blinkwall activates, it casts ray elements in the direction it's set to. The rays extend until they are obstructed by something. The player and any creatures caught in the ray also obstruct it, and are hurt for doing so.
By creating multiple blinkwalls in a line and incrementing the start time by one for each it's possible to create a smooth pattern of the rays appearing and disappearing. It's also possible to decrease the period to such a degree that the wall cannot be crossed safely unless it is blocked with something such as a boulder or slider.
When the player is hit with a blinkwall ray, an attempt is made to move the player to safety. If the player is blocked in both directions perpendicular to the ray, the player will instantly get a game over!
Player Moved | ||
---|---|---|
Ray direction | North | East |
South | East | |
East | North if possible, otherwise South | |
West | North if possible, otherwise South |
Due to a bug, the direction moved is not entirely consistent. Vertical blinkwalls try to move the player to the east first. If they can't, they'll check the tile to the west, and if that tile is a safe tile to place the player, they will mistakenly continue to place them to the east, on top of whatever element was already there. Of course, if the tile to the west is blocked as well, that's still a game over.
This glitch can be used to place the player on top of a tile they normally wouldn't be able to walk on, but is rarely seen in practice.
Transporter
Transporters are a remarkably complex element to work with. In their simplest form, a transporter is placed, a direction is set, and the player can then move through the transporter in that direction, appearing on the tile immediately adjacent to it.
Transporters can be used like this to create one-way passages, keeping the player or inside or outside of something depending on which way they point. Objects are unable to use transporters. Creatures are unable to use them of their own volition. Anything that can be pushed can be pushed through a transporter if the destination tile is walkable, allowing creatures to be shoved through by other elements.
Additionally, transporters can also be used to transport elements across far larger distances. If the tile immediately adjacent to the transporter's direction is blocked, an alternate set of transporter rules are used instead.
Under these rules, a matching transporter that points in the opposite direction aligned with the initial transporter is looked for. If one exists, the first transporter will then be lead to the seconds
It is possible to create some intricate puzzles with these mechanics, especially as it's possible to "re-route" a transporter by purposely blocking it or unblocking it. It's possible to have a transporter that when traveled in one direction leads far across the board, but attempting to take it in reverse only leads to the tile adjacent to the second transporter as it's not blocked.
Transporter mechanics can be quite unintuitive at first, so step through them carefully!
Ricochet
Ricochets are used to change the direction of bullets. Any bullet that strikes them be it from a player, object, or other creature will cause the bullet to reverse its direction. At first glance, they're identical to green slimes, but they cannot move. (They also can't be pushed before you get any puzzle ideas.)
It's also possible for a ricochet to deflect bullets at a ninety degree angle rather than one hundred eighty degrees. This is done by placing a ricochet diagonal to a wall or other obstruction that the bullet would impact with.
Note that this kind of deflection requires the bullet to NOT directly hit a ricochet, but to impact a wall with a ricochet perpendicular to the wall.
Whether or not deflection happens with ricochets depends on what the bullet would otherwise impact with. A bullet will hit a ruffian or other creature rather than deflect. A bullet will destroy a gem rather than deflect. A bullet will ricochet rather than hit an object. Bullets will first try to hit any element that's flagged as destructible before ricocheting.
Text
Text
Text is its own category of elements, all of which behave identically. There are seven text elements for the seven default colors.
Text elements have the same functionality as a wall, though they can be represented with any character. Text always has a white foreground color and a dark background color based on the selected color when it was placed. The lone except is white text which has a black background rather than gray.
Text is used to write messages on boards without having to use objects that require stats. ZZT does this by storing the character where it would normally store an element's color, and hardcoding the color to one of seven combinations based on which element the text is made from. This means that even with third-party editors, text can only be colored white-on-something.
Due to how ZZT defines text elements, it is technically possible with third-party editors to access blinking text (and white on gray text) as well. Notably zedit2 will list these elements like any other other. However, their usage must be done carefully as touching this technically undefined text results in ZZT crashing. For this reason such text is almost never seen, even when it's kept out of reach of the player.
Special Elements
A few elements in ZZT are unique in that they aren't meant to be used when creating boards at all. The use of third-party editors and other tricks allow them to produced more easily. Some may be useful, while others are mostly just curiosities instead. They are are included here for completion's sake, but for playing ZZT worlds, several do not matter whatsoever.
Board Edge
ZZT allows you to change boards by walking off the screen, but this is only an illusion. In reality, every ZZT board has a border of board edge elements that surround it. Touching one of these is what causes board changes to connecting boards. By placing them at arbitrary points within a board, it's possible to activate one of these board transitions from elsewhere.
Editors tend to give them special characters to differentiate them from regular walls. During gameplay they will render as space characters meaning only a background color can be displayed for them.
They are sometimes used in combination with a trick involving player clones on the border of a board as a way to create a board that is smaller in size that can still be walked off of, or with duplicators to force a board change. However, yet another glitch allows them to be produced during gameplay via ZZT-OOP, though doing so is rare and often necessitates explicitly telling the player that a board edge was created for them to touch.
(The color chosen for the screenshot here is an arbitrary one, though the eastern border of a board reaching the dark blue sidebar makes the coloration somewhat more applicable.)
Messenger/Message Timer
With every board having an off-screen border of board edges, that means there are four corner tiles that will never hold anything in normal play.
When ZZT needs to produce a single line flashing message, it does so by placing this element in the top left corner where it counts down on every cycle until the message is no longer needed.
Placing them on the board is fairly pointless.
Editors tend to give them special characters to differentiate them from other elements. During gameplay they will render as space characters meaning only a background color can be displayed for them.
Monitor
When ZZT erases the player on the title screen, they're not replaced with an empty, but with a monitor. Monitors are the only element other than players to handle input, managing the keys for any button that can be pressed on the title screen.
Monitors are actually named as such within ZZT's code so you can place one on the board with #put seek monitor
. Pressing title screen keys on a board with a monitor on it will cause the game to return to the title screen making these elements fairly pointless to include on a board.
Editors tend to give them special characters to differentiate them from regular walls. During gameplay they will render as space characters meaning only a background color can be displayed for them.
Blinkwall Rays - Horizontal and Vertical
These two elements are the rays produced by blinkwalls. The actual rays do nothing, with their creation, destruction, and damage being handled by a blinkwall.
These can be used to "invert" a blinkwall if an author places them manually as all blinkwalls check if they're meant to create a ray or destroy a ray based on whether there is one in the direction the ray is to be created already.
Far more commonly though, blinkwall rays are instead used for graphical elements. With third-party editors they may be placed in any color combination which allows for borders to be drawn without having to use stats for anything other than intersections, and unlike linewalls they don't connect with board edges providing a cleaner look when used on a board's outer border.
Element 46
Finally, we have "Element 46". ZZT's element definition table doesn't define this element, which sits between text elements and non-text elements. It acts like a wall and has no real reason to use it, merely being included for completion's sake as KevEdit does allow the element to be placed.
Editors tend to give them special characters to differentiate them from regular walls. During gameplay they will render as space characters meaning only a background color can be displayed for them.