Table of Contents
Grimoire 0.1
©2025 by Mark Damon Hughes
cyberhole.online/grimoire/
Text licensed as CC BY-NC-SA Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license
Code licensed as BSD, see LICENSE.txt
Grimoire is a graphical tile map editor, useful for tabletop RPGs, or computer games. In particular I use it to make levels for Mystic Dungeon, and it outputs files in that format.
Blank lines and lines starting `#` after removing whitespace are skipped.
first line: FLOOR WIDTH HEIGHT LEVEL
FLOOR must match the 2-digit filename number: floor-01 is floor 1.
WIDTH and HEIGHT may be up to 999.
LEVEL may be 1-20.
typically a comment is used to identify columns:
#---000000000011111111112222222222333333333344444444445555555555666666666677
#---012345678901234567890123456789012345678901234567890123456789012345678901
HEIGHT lines: YCOORD MAPCHARS
YCOORD must be 3 digits, followed by a space, and must equal the y-coord, starting at 0.
MAPCHARS must be WIDTH chars across, terrain chars.
following lines: XCOORD YCOORD COMMAND [KEY VALUE]...
XCOORD YCOORD identify location
Words /\w[\w\d]*/ are stored as strings.
Integers /-?\d+/ are parsed and stored as ints.
""-quoted strings may contain spaces.
chest {level LVL} {lock L} {trap T} {gold G} {item NAME AMOUNT}...
One chest per grid.
L: none, simple, complex, magic.
gravestone
Gravestone.
item {name NAME} {amount N}
One item per grid, including gold or gems.
mon {name NAME} {species SPEC} {sprite FILENAME X Y W H}
One mob per grid.
npc {name NAME} {job JOBNAME} {sprite FILENAME X Y W H}
One NPC per grid.
script {COMMAND ARGS}
script events are added to an array in that grid.
skull
Skull marker.
trap T {hidden H}
One trap per grid.
T: none, pit, blade, fire, teleport