guidebook/docs/doodads.md

294 lines
11 KiB
Markdown
Raw Normal View History

# Built-in Doodads
2020-11-21 06:54:02 +00:00
Sketchy Maze comes with several built-in doodads that you can use in your
2020-11-21 06:54:02 +00:00
levels. You may also [create your own](custom-doodads/index.md) custom doodads
and program them to do whatever you want!
Doodads are available in the Level Editor by clicking on the
<img src="images/sprites/actor-tool.png" width="16" height="16"> **Doodad Tool**
and then dragging a doodad onto your level. See the [Doodad Tool](custom-levels/index.md#doodad-tool)
for more information.
* [Flags](#flags)
* [Start Flag](#start-flag)
* [Exit Flag](#exit-flag)
* [Doors & Trapdoors](#doors-trapdoors)
* [Locked Doors & Keys](#locked-doors-keys)
* [Small Key Doors](#small-key-doors)
* [Warp Doors](#warp-doors)
* [Trapdoors](#trapdoors)
* [Crumbly Floor](#crumbly-floor)
* [Gizmos](#gizmos)
* [Buttons](#buttons)
* [Sticky Button](#sticky-button)
* [Switches](#switches)
* [Electric Door](#electric-door)
* [Boolean State Doodads](#boolean-state-doodads)
* [State Button](#state-button)
* [State Blocks](#state-blocks)
* [Blue & Orange Warp Doors](#blue-orange-warp-doors)
* [Creatures](#creatures)
* [Red Bird](#red-bird)
* [Red Azulian (test mob)](#red-azulian-test-mob)
2020-11-21 06:54:02 +00:00
---
# Flags
2020-11-21 06:54:02 +00:00
## Start Flag
2020-11-21 06:54:02 +00:00
![Start Flag](images/doodads/start-flag.png)
2020-11-21 06:54:02 +00:00
The **Start Flag** sets the player spawn point in your level. There should be
only one start flag per level.
2020-11-21 06:54:02 +00:00
Multiple Start Flags in one level is considered to be an error; a warning is
flashed on-screen and the player will spawn at one of the flags at random.
2020-11-21 06:54:02 +00:00
A level without a Start Flag will spawn the player at the 0,0 coordinate at
the top-left corner of the level, and flash an error about the missing Start
Flag.
2020-11-21 06:54:02 +00:00
## Exit Flag
2020-11-21 06:54:02 +00:00
![Exit Flag](images/doodads/exit-flag.png)
The **Exit Flag** sets a goal point for the level. The player must touch this
flag to win the level.
2020-11-21 06:54:02 +00:00
---
# Doors & Trapdoors
2020-11-21 06:54:02 +00:00
## Locked Doors & Keys
![Blue Locked Door](images/doodads/blue-door.gif) ![Blue Key](images/doodads/blue-key.png)
2020-11-21 06:54:02 +00:00
There are four pairs of **Colored Locked Doors and Keys** you can use on your level.
Colored doors are locked and behave as a solid wall until the player or another
mobile doodad "picks up" the Key of the same color. The doors may then be
permanently unlocked if the player walks into them while holding the key.
The **Colored Keys** are not consumed when used; with one key the player can
unlock many doors of the same color unless they lose the key. Currently there is
no method to lose keys except for the "drop all items" [cheat code](hacking.md#cheat-codes).
A locked door has a golden padlock over its sprite; after being unlocked, the
padlock is missing even while the door is closed. Should the player lose the keys
later, previously opened doors will remain unlocked but the player will need to
find another key to open more doors.
![Red Key](images/doodads/red-key.png) ![Green Key](images/doodads/green-key.png) ![Yellow Key](images/doodads/yellow-key.png) ![Blue Key](images/doodads/blue-key.png)
2020-11-21 06:54:02 +00:00
Each key/door pair also has a distinct shape for color-impaired players:
2020-11-21 06:54:02 +00:00
* **Red Key** (triangle)
* **Green Key** (cross)
* **Yellow Key** (star)
* **Blue Key** (diamond)
## Small Key Doors
2020-11-21 06:54:02 +00:00
![Small Key Door](images/doodads/small-key-door.gif) ![Small Key](images/doodads/small-key.png)
2020-11-21 06:54:02 +00:00
**Small Key Doors** are doors which consume the **Small Key** when unlocked. The
player or other mobile doodad may carry several Small Keys and they can only
unlock as many Small Key Doors as the number of keys they hold.
2020-11-21 06:54:02 +00:00
The Small Key Door is permanently unlocked after unlocking it once. A golden
padlock appears on the door when it's locked, which disappears after unlocking.
## Warp Doors
![Warp Door](images/doodads/warp-door.gif)
The **Warp Door** allows the player character to fast travel between two remote
locations within the same level. The door is brown in color with a yellow "W"
symbol.
To connect the doors together, drag two doors into your level and then use the
**Link Tool** to connect them. During gameplay, walk the player character to one
of the doors and press the Space Key to open it. The door will swing open and
shut and the player character exits from the other door.
If a Warp Door is not linked to another door, a message will display indicating
that the door is "locked" and it can not be entered by the player.
**See also:** the [Blue & Orange Warp Doors](#blue-orange-warp-doors) tied to the
[State Blocks](#state-blocks).
## Trapdoors
![Trapdoor](images/doodads/trapdoor-down.gif)
A **Trapdoor** is a one-way passage. If the player or other mobile doodad touches
the door from the "correct" side, the door will swing open. After the mobile
doodad has passed, the door will swing shut again.
When the door is shut, you can not open it from the "wrong" side and it behaves
as a solid wall. If the door is open you may run in from the wrong side.
Trapdoors come in four variants: downward-facing (default), rightward, leftward
and upwards.
## Crumbly Floor
![Crumbly Floor](images/doodads/crumbly-floor.gif)
The **Crumbly Floor** behaves as a solid ceiling when hit from below, and a
solid floor when walked on from above, but watch out! The floor will shake
and collapse after a moment beneath your feet.
The floor will respawn after a while and forbids passage from the underside
of the doodad.
2020-11-21 06:54:02 +00:00
---
# Gizmos
The gizmo doodads work best when **Linked** to other doodads in your level. For
example, a Button linked to an Electric Door will cause the door to open whenever
the button is pressed.
**See also:** [Link Tool](custom-levels/index.md#link-tool)
2020-11-21 06:54:02 +00:00
## Buttons
![Button Type A](images/doodads/button-a.gif) ![Button Type B](images/doodads/button-b.gif)
**Buttons** will emit a `power: on` signal to all doodads that they are
[linked to](custom-levels/index.md#link-tool) when the button is pressed by the
player or another mobile doodad.
2020-11-21 06:54:02 +00:00
When the button stops being pressed, it will emit a `power: off` signal to
2020-11-21 06:54:02 +00:00
all connected doodads, which will generally close electric doors.
Buttons come in two varieties which are cosmetic only:
2020-11-21 06:54:02 +00:00
* **Button:** a button with a grey arrow that pops back up when pressed.
* **Button Type B:** a variation without the grey arrow but behaves the same.
## Sticky Button
2020-11-21 06:54:02 +00:00
![Sticky Button](images/doodads/sticky-button.gif)
The **Sticky Button** is a variant of the Button but with a red arrow on its side.
When the Sticky Button is pressed, it will emit a `power: on` signal and it will
**remain pressed** forever -- unless the button itself receives a `power: on`
signal from another linked doodad, then it will pop back up and can be pressed
again.
2020-11-21 06:54:02 +00:00
## Switches
![Switch](images/doodads/switch.gif) ![Switch Right](images/doodads/switch-right.gif)
**Switches** will emit a `power: on` signal to any [linked](custom-levels/index.md#link-tool)
doodads when touched by the player or other mobile doodad, and then a `power: off`
2020-11-21 06:54:02 +00:00
signal when touched again.
Switches come in a few different styles (all cosmetic in nature and behave the
same way):
2020-11-21 06:54:02 +00:00
* On/Off "background" wall switch that faces the screen.
* Side-profile switches to attach to the side of a wall (left and right).
* Side-profile floor switch.
2020-11-21 06:54:02 +00:00
## Electric Door
2020-11-21 06:54:02 +00:00
![Electric Door](images/doodads/electric-door.gif)
2020-11-21 06:54:02 +00:00
The sci-fi **Electric Door** can only be opened when it receives a "power" signal
from a linked button or switch. See [Linked Doodads](custom-levels/index.md#link-tool).
2020-11-21 06:54:02 +00:00
When the door receives a "power: on" signal it will open and allow passage to
the player or other mobile doodads. When it receives a "power: off" signal it
will close.
2020-11-21 06:54:02 +00:00
---
# Boolean State Doodads
The **Boolean State Doodads** are a series of doodads which have a mutually
exclusive state from one another, with their state toggled by the "ON/OFF"
State Button.
## State Button
![Blue "On"](images/doodads/blue-button.png) ![Orange "Off"](images/doodads/orange-button.png)
The **State Button** globally toggles the boolean state for all doodads in the
level which are sensitive to the state.
The player character must jump into the ON/OFF block from below and hit it with
their head. From above, the ON/OFF block acts like a solid floor that the player
or other mobile doodads can stand on top of.
In the future it will be possible to bonk the ON/OFF block from the sides or
top with enough force, but currently only hitting it from the bottom will flip
its state.
* When the button is **OFF**, all **blue** state doodads are active. This is the default state.
* When the button is **ON**, all **orange** state doodads are active.
2020-11-21 06:54:02 +00:00
## State Blocks
![Blue "On"](images/doodads/blue-on.png) ![Blue "Off"](images/doodads/blue-off.png)
![Orange "Off"](images/doodads/orange-off.png) ![Orange "On"](images/doodads/orange-on.png)
2020-11-21 06:54:02 +00:00
**State Blocks** are blue and orange squares that keep opposite state from one
another. In one state the block is solid, in another it is passable.
The ON/OFF block will toggle all state blocks on the level to their opposite
setting whenever it's touched by the player or other mobile doodad.
## Blue & Orange Warp Doors
![Blue Warp Door](images/doodads/warp-door-blue.gif) ![Blue "Off" Door](images/doodads/warp-blue-off.png)
![Orange "Off" Door](images/doodads/warp-orange-off.png) ![Orange Warp Door](images/doodads/warp-door-orange.gif)
The **Blue & Orange Warp Doors** are variants of the [Warp Door](#warp-doors) that
are sensitive to the ON/OFF State Blocks. These doors can only be opened while the
door is in the "ON" (active) state -- when "OFF" (drawn as a hollow dotted outline)
the door can not be opened by the player. However, a player may still **exit** from
a de-activated door.
The **Blue Warp Door** is active at the same time as the **Blue State Blocks**,
and vice versa for the **Orange Warp Door.**
2020-11-21 06:54:02 +00:00
---
# Creatures
## Red Bird
![Bird](images/doodads/bird.gif)
The **Bird** is a simple creature which flies left and right across your level,
changing direction when it encounters an obstacle.
In the future, the bird will dive-bomb the player character in a diagonal
trajectory when it sees a shot it can take. This will harm the player if the
bird hits. If the bird hits the player, or misses and touches the ground, it
will fly back up to its original altitude and continue its A.I. program of
flying back and forth and searching for the player.
Currently, however, the bird is harmless and does not dive bomb the player.
2020-11-21 06:54:02 +00:00
## Red Azulian (Test Mob)
![Red Azulian](images/doodads/red-azulian.gif)
2020-11-21 06:54:02 +00:00
The red Azulian is a test mobile character. Not really an enemy, as he doesn't
care about the player.
The Azulian's A.I. just has it run left and right until it meets resistance.
It can pick up keys, activate buttons and switches that it passes by, and can
unlock doors.
This mob will probably go away in future releases of the game and will remain
in the code as a hidden easter egg.