Case Tilemap Editor64×64 layered ASCII maps · Passion Week case files
NPCs in scene: 0
Enemies in scene: 0
Not yet autosaved
1Γ1
IMPORT ASCII → BACKGROUND LAYER
Paste an ASCII grid (one row per line, same character set as your Background palette). Unknown characters are auto-added to the palette with a placeholder color so nothing is lost. Rows/cols will be resized to match if they differ from the current grid size.
IMPORT CASE JSON / ZIP
Load one or more .json case files (the ones from "Save Case" or "This case only"), or a .zip of them (the "Download ALL cases as .zip" export) β any mix of both at once. Each case is matched by its case field (falling back to the filename), added if it's new or overwritten if it already exists, and resized to fit the current grid dimensions if it was exported at a different size. Also writes straight to this browser's autosave.
EXPORT
RANDOM GENERATOR
Background comes from the πΊοΈ Old City Map tool (crop the section you want, per case) β this generator handles the rest, in order:
1. Decoration β scattered only onto background tiles flagged "Allow decorations" (Ground, Boundary by default).
2. Collider β synced from background: any tile flagged "Blocks movement" (Water, Wall, Roof, Wall Fill, Boundary by default) gets a collider.
3. NPC spawns β placed only within the single largest connected walkable area, so every placed NPC is guaranteed reachable from every other. Places at least the minimum below (or as many as fit, with a warning, if that area is too small).
4. Enemy spawns β Roman Soldiers, Sadducees and Pharisees, placed the same way (largest connected walkable area) and never on a collider tile or a cell an NPC already occupies.
Seed
Same seed + same background + same palettes always regenerates the identical decoration/collider/NPC/enemy layout β useful for re-rolling variations.
Background
1. Decoration Density
15%
3. Minimum NPCs
defaults to this case's roster count
4. Enemy Spawns
Roman Soldiers, Sadducees and Pharisees, mixed at random
OLD CITY MAP β 640Γ640
A single persistent 640Γ640 street map (walls, buildings/roofs, paths, and a little water). SELECT CROP stages a section for a case's Background layer β the white box marks an area 3Γ the size of the case grid (e.g. a 64Γ64 case samples a 192Γ192 area), which is then scaled down 1 tile per 3Γ3 block so the result still fits the grid exactly, but pulls in more of the map's variety per tile. PAINT MAP edits the master map itself β affects every future crop and stays for the session (export it to keep edits permanently).
2
100%
Click the map to position the crop.
3D CITY β WRAPPED ON SPHERE
The same crop, extruded into 3D and curved onto a sphere: walls (dark, tall), buildings/roofs (pink, varied height), paths (thin, pale), ground (thin, tan), water (thin, blue). Drag to orbit, scroll to zoom.
20Β°
Downloads a cityPatches-shaped JSON snippet β import it via the Earth Grid Editor's Import JSON (merge it under a cityPatches key alongside its objects data), or hand it to that tool's "Old City Patch" feature.
3D SPHERE VIEW β ""
The whole case grid wrapped around one small sphere β same background/decoration/collider/npc/enemy data you're painting in the 2D view, not a separate model. Drag to orbit, scroll to zoom. Rebuild after editing to refresh.
Exports this exact sphere β background terrain, decoration props, NPC markers (cones) and enemy markers (spikes) β as a single .glb scene for Blender / Unity / Unreal.