Space: Place a tile, object, warp in their respective tools
Backspace: Delete a tile (in the tile tool)
Arrow keys: Move camera around while not selecting something
C/Space: Copy/Place an area in the copy tool
You can also press the “New Empty Level” button to create a new blank level or check out the GitHub repository with all the worlds.
This EK is intended for those somewhat knowledgeable of programming/modding.
All values listed as “byte” or “bit” are in unsigned decimal format.
Which means a byte is a value from 0 to 255 and so on.
All zones should have a height of 16. This is a general style rule for the game.
If you plan to try and make a map, please study the existing maps carefully!
If you manage to make a level that looks solid, you can share it in our Discord server!
We will only be adding the W. Remember to save often and good luck!
Image URLURL of the image to use as the background
string URL
X OffsetHorizontal offset for this image
int px
Y OffsetVertical offset for this image
int px
Loop CountHow many times to loop. Leave at 0 to use default
int
Parallax Scroll SpeedThe speed the background scrolls along with the camera
float
Apply
Add Layer
Delete Layer
Click "Add layer" to make a new layer, press "delete layer" on a selected layer to delete it.
If you want your background to be animated it needs to have the GIF extension and also be a valid GIF.
Please note that the gif library might not correctly parse the gif, and also beware of CORS issues
Initial Level
byte
Short Name
string
Long Name
string
Level Group
string
Music Path
string path
SFX Path
string path
Assets Path
string path/URL
Tileset URL
string path/URL
Objectsheet URL
string path/URL
Failed to load tileset!
New Level
Apply
Initial Level is the level the player first starts on, this should always be 0.
Short Name is used for the worlds that appear in the level selector.
Music Path is the music directory used, use the GitHub for reference. For example, to use the Pastel music, use pastel/music, for sound effects do pastel/sfx.
Like Music Path, Sound Path is the sound effect directory. Same rules apply.
Assets Path is used for tile animations. You can paste a link to a JSON that follows the schema, or use the GitHub and use the filename of the assets file.
ID
byte
Name
string
Initial Zone
byte
New Zone
Delete Zone
Apply
ID is the level's ID. Make sure that no more than 1 level has the same ID.
Name is the name of the level. You can see this when entering the level.
Initial Zone is the zone the player starts in, this should always be 0.
ID
byte
Initial Position X
short
Initial Position Y
short
Level End Move Distance
int
Camera Mode
int
Color
HTML color
Music
string path/url
Flagpole Music
string path (opt)
Victory Music
string path (opt)
Out of Bounds Warp
int
Width
byte
Height
byte
Resize
Shift X Left
Shift X Right
Shift Y Up
Shift Y Down
Add Layer
Delete Layer
Apply
Tile Data
td32
Brush Size
int
Sprite Index
11-bit int
Bump State
4-bit int
Depth
1 bit
Tile Definition
byte
Extra Data
byte
Modified tile not placed!
Press P to activate preview mode.
Middle-click (or left+right-click) copies a tile’s data, left-click/space paints. Press backspace to delete a tile.
Sprite index defines the visual of the tile.
Bump state should always be 0 unless you have some insane reason.
Depth 0 is background, Depth 1 is foreground. Warp pipes and item blocks should generally be foreground.
Tile definition defines the physical/interactive properties of a tile. Solid ground is 1, item block is 17, etc.
Some blocks need extra data to function. For example, an item block needs the extra data 81 to put a mushroom in it.
Type
byte
Position
shor2
Press P to activate preview mode.
Left-click selects, middle-click/space creates new, WASD keys to move, delete to delete.
ID
byte
Position
shor2
Extra Data
byte
Press P to activate preview mode.
Left-click selects, middle-click/[space] creates a new warp, WASD keys to move, delete to delete.
For tiles that have a warp, the extra data of that tile should match the ID of the warp point.
For example, a warp pipe with extra data 32 will warp to the warp point in that level with the ID 32.
The extra data of the warp point defines the animation state.
0 is default. 1, 2, 3, and 4 are warp pipe up, down, left and right respectively.
You can also use 5 and 6 to use up and down respectively without the player being offset by half a tile.
Copy Data
td32
Width
int
Height
int
Overwrite
td32
Middle-click/[C] to copy an area, left-click/[space] to paste.
Pasting will overwrite all tiles in the copy box if the "Overwrite" box is empty.
Use overwrite to overwrite only a specific tile. Find the td32 of the tile you want in the Tile Data section of the Tile tool.
Target
td32
Replacement
td32
Apply
Replaces all tiles that match the td32 of “target” with “replacement”.
Image
string URL
Load
Offset X
int px
Offset Y
int px
Image Opacity
float int
Apply
Press G to show or hide the reference image.
Enable Layer Isolation
Disable Layer Isolation
Toggle Layer Transparency
Toggle Editor Grid
Isolation layer means only the current layer is rendered.
Unselected layers normally are at half opacity. You can toggle that. Thank Casini for that shit.