Creating Custom Doodads#

Sketchy Maze is designed to be modder friendly and provides tools to help you create your own custom doodads to use in your levels.

You can draw the sprites for the doodad either in-game or using an external image editor. Then, you can program their behavior using JavaScript to make them "do" stuff in-game and interact with the player and other doodads.

Naming Convention#

It is strongly encouraged that you name your custom doodad files with a prefix or something to namespace them apart from the built-in doodads.

For example: if you made a custom doodad named "door-red.doodad" it would actually conflict with the built-in doodad of the same name, and your custom doodad would take priority over the built-in one.

By prefixing your custom doodad filenames with your initials or name, you will minimize the likelihood that your doodad conflicts with a built-in from a future game release or with custom doodads made by other players than yourself.

Future versions of the game will likely prevent saving a new doodad with the same filename of a built-in one.

Profile Directory#

Custom doodads and levels will go in your Profile Directory, into folders named "doodads" and "levels" respectively.

To share your custom doodads with others, you can copy the .doodad files out of your doodads folder. To install doodads made by others, place their .doodad files into your doodads folder, and they will appear in-game to drag and drop them into your level.

doodad (Command Line Tool)#

Your copy of the game should have shipped with a doodad command-line tool bundled with it. On Windows it's called doodad.exe and should be in the same folder as the game executable. On Mac OS, it is located inside the .app bundle.

The doodad tool provides a command-line interface to create and inspect doodad and level files from the game. You'll need to use this tool, at the very least, to attach a JavaScript to your doodad to make it "do" stuff in-game.

You can create a doodad from PNG images on disk, attach or view the JavaScript source on them, and view/edit metadata.

# (the $ represents the shell prompt in a command-line terminal)

# See metadata about a doodad file.
$ doodad show /path/to/custom.doodad

# Create a new doodad based on PNG images on disk.
$ doodad convert frame0.png frame1.png frame2.png output.doodad

# Add and view a custom script attached to the doodad.
$ doodad install-script index.js custom.doodad
$ doodad show --script custom.doodad

More info on the doodad program here.