This purple key is your assurance that Nintendo has had nothing to do with this product. TinyZoo is a collection of ZZT source ports, with the first publicly released being designed for Game Boy Color (plus the original Game Boy to a lesser extent) as well as the Analogue Pocket. This ZZT port is referred to as TinyZoo/GB.
Instructions for how to convert a ZZT world into a TinyZoo/GB ROM can be found at: TinyZoo on Wiki of Weavers.
Always look for this purple key
when buying worlds and accessories.
Table of Contents
Before you start play, please read this instruction booklet carefully and follow the correct operating procedures. Keep this instruction booklet safe for future reference.
Control Reference
- Title Screen:
- - Play world
- Gameplay:
- - Move player
- - Shoot in specified direction
- - Light a torch
- - Pause menu
- - Toggle between player movement and camera movement
- Message Window:
- - Scroll text
- - Follow selected hyperlink / Close window
- - Close window
Game Boy vs. Game Boy Color
TinyZoo/GB is designed to be compatible with Game Boy Color (CGB-001) hardware and derivatives. Clone consoles and emulators may vary in compatibility depending on accuracy. The original monochrome Game Boy hardware (DMG-01) is supported, but not recommended.
As with ZZT itself, the expectation is that color is available, and the use of color to differentiate elements is to be expected whether the world is being played using ZZT or TinyZoo.
Game Boy vs. Game Boy Color (cntd.)
TinyZoo takes advantage of the doubled clock speed of the Game Boy Color's upgraded CPU which should result in better performance over running worlds on monochrome Game Boy hardware.
The graphical requirements for ZZT worlds are unusual compared to engines which were designed with the Game Boy Color in mind. Due to the extra overhead required in order to display colors to the best of the hardware's capabilities, the actual performance boost is closer to 50%*.
Overall, you will have a better experience playing ZZT worlds on Game Boy Color hardware whenever possible.
* Actual performance will vary based on factors including complexity of active elements, executed ZZT-OOP, and what needs to be drawn.
Gameplay
The "Heads Up" Display | |||||
❶ | ❷ | ❸ | ❹ | ❺ | ❻ |
- Health: How much damage the player can take. If this drops to 0 it's game over for you!
- Ammo: How many bullets the player can shoot. Some boards may prevent shooting!
- Torches: How many torches the player has.
- Gems: How many gems the player has. Each gem collected restores one health as well. On boards with a time limit, the time remaining will display here instead.
- Score: How many points the player has. If you get a high score, write it down!
- Keys: Which of the seven colored keys the player holds. Only one of each color may be held at a time!
Gameplay (cntd.)
Boards are too large to fit in their entirety on screen. Your viewport is limited to 20x17 tiles rather than the usual 60x25. Everything on the board is still active, so watch out for attacks from foes or other dangers outside your vision!
The camera will try its best to keep them centered when possible. Getting too close to the camera's boundary will cause it to shift and continue following the player.
In short: What you see...
Gameplay (cntd.)
...Is only part of a larger picture!
Remember: by pressing
, you can pause the game and take a look around. Press a second time to resume the action!Saving And Restarting
Not all worlds can be completed in a single sitting, or in a single attempt! Rather than starting from scratch every time TinyZoo/GB will automatically save your progress whenever you change boards.
For worlds with lengthy puzzles or challenging action sequences, the lack of an ability to save on demand or have multiple saves will make difficult segments even more so!
If a save is found, this save file will automatically be restored when you start playing the world. If you want to start over, press START to open the pause menu, and then choose RESTART. The world will automatically begin from the beginning.
Characters
You will encounter many wondrous creatures in ZZT, so be prepared!
Player: You control this seasoned adventurer. They're counting on you to help them succeed and survive!
Centipedes: Ecch! A giant bug! Aim carefully because these insects will split into two if not shot in the head or tail.
Bears: Burly brutes that are definitely bad news! They wait for players to get close before charging. They can even destroy a breakable wall in a desperation attack!
Ruffians: These punks like to ambush. They alternate between resting and lunging in a random direction. Try not to get pounced!
Lions: A common foe. Some may wander aimlessly, but the smarter ones will hunt down unsuspecting players!
Characters (cntd.)
Tigers: Lions with guns! As if that wasn't bad enough, some of them have even mastered the art of the throwing star!
Objects: Friend or foe? Objects can look like anything and do anything. Approach with caution, but don't be shy either.
Slime: This goopy fiend is capable of self-replicating. It leaves a trail of breakable walls as it spreads. Touch them to defeat them without harm.
Spinning Guns: Unstoppable sentries that spend their days firing as they please. Some of them may shoot deadly stars instead!
Sharks: An invincible aquatic foe. They hide in the water and take a chomp out of careless players who get too near.
Character Set
In order to display a wider viewport for the player, as well as to use standard Game Boy sprite/background tile sizes the character set has been downsized from 8x14 to 8x8.
This may result in ZZT-designed artwork appearing distorted when adapted to a square aspect ratio.
Take care to consider the difference when creating worlds designed for TinyZoo in editors that display boards with the standard 8x14 character set!
Palette Comparison
ZZT Default | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Game Boy Color | |||||||||||||||
Colors do not currently map 1:1 between ZZT's expected palette and that of the Game Boy Color. This is most apparent with the purples. Overall the colors will look more desaturated compared to the originals. This may have implications for various depictions of shading and lighting for the time being.
On a monochrome Game Boy, foreground colors are black and background colors are white. Special care needs to be taken if your world is intended to be played on a monochrome device!
Palette Restrictions
ZZT allows tiles to be composed of any of sixteen foreground colors, and any of sixteen background colors. These pairs are independent of any other tiles on the board. In TinyZoo/GB this is not the case.
Due to a number of factors that a tiny faux-Game Boy manual can't cram onto a page, it unfortunately isn't possible to use colors as freely as one does with ZZT. Instead, the engine is limited* to a selection of:
For existing ZZT worlds that do not use Super Tool Kit's colors, this is likely adequate for an accurate representation as very few elements use background colors or dark colors. Note that the number of pairs needed per row may increase during gameplay once things begin moving!
* There is potential for a revised renderer in the future which will increase the limit by a small amount.
Palette Restrictions (cntd.)
- A row of elements using all ten color pairs is assembled
- An 11th palette (red on dark red) is added. The color pair is drawn using white on black instead.
- The tile is pushed into its own row and regains its intended color as pushing necessitates redrawing the tiles.
- Reducing the color pairs by moving other elements to a different row doesn't restore the lost pair! This will only occur if something causes the tile to need to be redrawn for reasons other than panning the camera.
Palette Restrictions (cntd.)
The left image shows an odd assortment of colors while the right image shows the actual colors of the boulders.
The colors used when more than ten pairs are needed is more complex than "white on black" seen previously (which happens to be the color of the empties used in these screenshots). Pushing long chains of boulders with different colors while scrolling the camera can produce unexpected results. Be cautious in your designs! Especially with the amount of colors used for moving components!
Palette Restrictions (cntd.)
TinyZoo supports neither blinking colors nor high-intensity (bright) background colors. Use of these colors will result in the tile being drawn with the requested foreground color, and a dark background color, effectively making the first 128 foreground and background combinations identical to the last 128 foreground and backgrounds.
There is the possiblity that high-intensity backgrounds may be supported in the future. Blinking may theoretically be possible as well, though it has been descriped as "very unlikely" to be supported.
Messages
Due to the significantly smaller screen, flashing "one-liners" often require additional lines.
Automatic word wrapping as well as naive hyphenation is used to help keep text readable.
When designing TinyZoo/GB worlds, consider just how much of the visible board may be obscured by these messages!
Messages (cntd.)
Scrolls and object created message windows will utilize the entire screen in order to maximize the amount of text displayed.
Navigation is performed with UP and DOWN directions on the D-PAD. To follow a hyperlink, select the line and press A. If a message window consists entirely of hyperlinks that you do not want to select, pressing B will always close the message window.
Considerations For Creators
Due to the unique constraints imposed by TinyZoo/GB there are quite a lot of considerations to be made in order to ensure that your own creations are enjoyable to play when converting an existing world or creating a new one designed to be played on the Game Boy Color. These are a collection of thoughts from somebody who has yet to create a TinyZoo world. These suggestions are obviously not universal to all ZZT worlds.
- Make manual camera movement as unnecessary as possible - Having to scroll around a board to understand how to get through it is a slow process. Guide the player through your boards by making the path forward clear. Provide landmarks so they can get their bearings without having to stop and look around.
Considerations For Creators (cntd.)
- Difficulty is difficult - Not only are action boards more challenging due to the limit viewport, but players now have to get through a board successfully in order to save. You can ease the difficulty in some instances by adding passages that point to the board the player is currently on. These are effectively checkpoints.
- Value the player's time - For games where the player is more likely to have to retry certain areas, make sure they can get back to the action quickly. Provide options to skip cinematics or dialog rather than forcing the player to repeat sequences over and over.
- Limited cheating - TinyZoo's cheat support is limited only to the non-flag related cheats in ZZT. Games that make use of ?+I based inventory systems or use the cheat prompt to manipulate flags in other ways are currently unplayable.
Considerations For Creators (cntd.)
- The Game Boy Color is slow - On the Game Boy Color, even simply using #CHANGE can slow things down. The well-known "1 Object Fire" world chugs. Be careful with commands that will make significant alterations to the board, and try to prevent busy loops. Use /i#loop to force the cycle to end rather than to let code run dozens of times per cycle.
- Remember Your Audience - A ZZT world developed as a piece of Game Boy Color homebrew will likely be played by folks completely unfamiliar with ZZT. They have no idea what the engine can and can't do, and they have no understanding of its symbols. They may not even be aware that they're playing "ZZT"! Be sure to explain controls, what elements are, and realize that the limitations of ZZT will likely be viewed as shortcomings of your work and not the engine it's built on.