CASTLEMAKER
metroidvania engine
Sprites
Sounds
Code
Rooms
Play
New Project
Save
Load
Export .json
Import
Sprites
+ Add
Draw tile sets (16×16) or actor sprites (any size). Frames = animation.
No sprite selected
Width
Height
Resize
Zoom
is tileset (per-frame solidity)
✎
▧
▨
◎
Frames
+ Frame
Duplicate
Delete
Animation FPS
▶ Preview
Import
Choose audio file
Imported sounds get a lowercase key you call from scripts via
api.playSound('key')
.
Sound Library
No sounds imported yet — choose an audio file on the left.
Scripts
+ Add
Entity Types
Define actors (player, enemies, items, doors) in the table on the right.
Script Editor —
1
api: input · playSound(key) · attackNearby(entity,range,dmg) · touchingPlayer(entity) · damagePlayer(amt) · distanceToPlayer(entity) · player · room
Entity Types
Name
Sprite
Script
W
H
Category
Player?
Physics
Collides
HP
Dmg
+ New Entity Type
Rooms
+ Add
No room selected
Width (tiles)
Height (tiles)
Resize
Tileset sprite
Starting room
Tiles layer
Entities layer
Click & drag to paint tiles. In entity mode, click empty cell to place, click existing to select/delete.
Selected Entity
Delete Entity
Controls
← → move
↑ / Z jump
X attack
▶ Start
YOU DIED
Respawn