|
|
|
# Drawing a Doodad In-Game
|
|
|
|
|
|
|
|
Sketchy Maze has support for drawing your custom doodad sprites in-game,
|
|
|
|
although for now you may find it more comfortable to use an
|
|
|
|
[external image editor](edit-external.md) instead.
|
|
|
|
|
|
|
|
![Screenshot of the Doodad editor](../images/doodad-editor.png)
|
|
|
|
|
|
|
|
To start a new doodad, open the game and enter the level editor. Select the
|
|
|
|
"File -> New Doodad" menu at the top of the screen. You will be prompted for
|
|
|
|
the square dimensions of your doodad (i.e. `100` for a 100x100 sprite) and
|
|
|
|
you can begin editing.
|
|
|
|
|
|
|
|
## Doodad Properties
|
|
|
|
|
|
|
|
The "Doodad -> Doodad Properties" menu brings up the properties window for
|
|
|
|
the doodad you're editing:
|
|
|
|
|
|
|
|
![Doodad Properties](../images/doodad-properties.png)
|
|
|
|
|
|
|
|
This window has many useful features which (prior to v0.8.0) used to only be
|
|
|
|
available on the [`doodad` tool](../doodad-tool.md):
|
|
|
|
|
|
|
|
* Metadata: you can modify the Title, Author and Hitbox fields.
|
|
|
|
* Doodad Script: you can view, upload and delete a JavaScript source for
|
|
|
|
your doodad.
|
|
|
|
* Generic Scripts: some built-in scripts to easily make useful doodads
|
|
|
|
without needing to write _any_ code!
|
|
|
|
* Tags: manage the key/value tag store on the doodad. Tags hold configuration
|
|
|
|
data that the JavaScript sometimes wants, or some tags have special meaning
|
|
|
|
to the game such as "category" (see below).
|
|
|
|
|
|
|
|
## Generic Doodad Scripts
|
|
|
|
|
|
|
|
![Generic Scripts](../images/generic-script.png)
|
|
|
|
|
|
|
|
The game includes a few "generic" scripts that you can _easily_ attach to
|
|
|
|
your doodad. From the Doodad Properties window, click into the select box
|
|
|
|
and choose from the built-in scripts. A confirmation window will explain
|
|
|
|
the script and if you want to attach it to your doodad.
|
|
|
|
|
|
|
|
### Generic Solid
|
|
|
|
|
|
|
|
The Hitbox of your doodad will behave as a solid object in-game. Mobile
|
|
|
|
doodads can walk on top of it.
|
|
|
|
|
|
|
|
### Generic Fire
|
|
|
|
|
|
|
|
The Hitbox of your doodad acts just like fire pixels: it will "burn" mobile
|
|
|
|
doodads and it will harm the player character, failing the level.
|
|
|
|
"Watch out for (doodad title)!"
|
|
|
|
|
|
|
|
### Generic Anvil
|
|
|
|
|
|
|
|
Draw your own version of the Anvil! Your doodad does not have a solid hitbox,
|
|
|
|
and is perfectly harmless, except it falls with gravity and becomes deadly
|
|
|
|
while falling. It destroys any mobile doodad that it falls on and, if it's
|
|
|
|
the player character, fails the level.
|
|
|
|
|
|
|
|
### Generic Collectible Item
|
|
|
|
|
|
|
|
Your doodad will behave similarly to the Keys and can be "picked up" by the
|
|
|
|
player or other doodad with an inventory. Its sprite will appear in the
|
|
|
|
Inventory HUD in-game. Be careful on your sprite size, the inventory HUD
|
|
|
|
grows to accommodate the largest item sprite size!
|
|
|
|
|
|
|
|
## Setting the Category Tag
|
|
|
|
|
|
|
|
In the Level Editor, the Doodad Dropper window shows a categorical tab frame
|
|
|
|
with options like "Objects, Gizmos, Doors, Creatures, All"
|
|
|
|
|
|
|
|
Your custom doodads will only appear in the "All" tab by default. To put your
|
|
|
|
doodad into one of the official category tabs, add a tag named "category"
|
|
|
|
holding one of these values: objects, gizmos, doors, or creatures (all
|
|
|
|
lowercase).
|
|
|
|
|
|
|
|
![Doodad Tags](../images/doodad-tags.png)
|
|
|
|
|
|
|
|
You may comma separate multiple categories. Unrecognized categories are
|
|
|
|
ignored - your doodad always appears on the All tab regardless.
|
|
|
|
|
|
|
|
## Layers
|
|
|
|
|
|
|
|
A key difference between Levels and Doodads are that Doodad drawings can have
|
|
|
|
multiple **layers**. For doodads these are used to store multiple frames of
|
|
|
|
animation or different states, such as an opened vs. closed door.
|
|
|
|
|
|
|
|
Clicking the **Lyr.** button on the left toolbar or the "Doodad -> Layers"
|
|
|
|
menu will open the Layers window where you can switch your editor between
|
|
|
|
layers, add and rename them. Layers can be toggled by the doodad's
|
|
|
|
[JavaScript code](scripts.md) by index number or by name, so giving each layer
|
|
|
|
a descriptive name is useful.
|
|
|
|
|
|
|
|
Doodads saved in-game go in your [user config directory](../profile-directory.md)
|
|
|
|
on your system.
|
|
|
|
|