Under the hood

AI-generated battle maps: what works, what does not, and why

Ask an image model for a dungeon map and you get a beautiful picture with walls that do not close, a grid that drifts, and a staircase leading into rock. It looks like a map. It is not a map, because a map is a set of facts about where things are.

· 7 min read · TerrainTale

Castle Gate at Dusk: curtain walls, a gatehouse and a courtyard
Real screenshot from the app.

Why picture generation fails at maps

An image model draws what maps look like, not what maps mean. Nothing in the process holds a wall to a grid line, keeps a door in an opening, or knows that a 5-foot square has to stay 5 feet across the whole image. The result is unusable the moment a mini has to stand somewhere specific.

The failures are structural, not a matter of prompting harder: no closed rooms, drifting grids, doors in walls that are not there, and shadows that imply light sources the map does not have.

What a language model is actually good at

Composition. Given a library of assets and a grammar for placing them, an assistant is very good at deciding that a castle gate wants a gatehouse, two flanking towers, a courtyard and a well, and at writing that down precisely. It is the taste and the layout that transfers, not the pixels.

That is the idea behind scene recipes: a small JSON format with rooms, floors, walls, openings, props and lights. The assistant writes the recipe; a tested, pure builder expands it into grid-correct geometry. Floors tile, walls meet, openings land on edges — because code guarantees it, not because a model got lucky.

Castle Gate at Dusk: curtain walls, a gatehouse and a courtyard

The division of labour that works

Let the model choose and arrange. Let the builder guarantee correctness. Let the DM edit. Each part does the thing it is reliable at, and the failure mode of the whole is "the composition is a bit odd", which you fix with two drags, instead of "the geometry is broken", which you cannot fix at all.

  • Assistant: what goes where, and why.
  • Builder: the grid, the tiling, the wall joins, the openings.
  • You: the two things you would have changed anyway.

Writing a good prompt for a scene

Say the place, the mood, the light, and the fight. "A ruined watchtower on a cliff at dusk, half collapsed, for an ambush by four bandits with archers on the parapet" produces a usable recipe. "Make a cool map" produces a room.

Questions

Can I use AI art as a map texture?

As a backdrop or a floor detail, sometimes. As the playable surface, no — the grid will not hold.

Do I need an API key?

No. A recipe is JSON; any assistant that can read the format can write one, and you import it with File ▸ Import Scene JSON.

What if the model invents an asset that does not exist?

The importer reports unknown ids rather than silently dropping them, so you see exactly what to swap.

Ready to put a map on the table?

Sign up in a minute, no card needed. Five starter scenes are waiting on the welcome screen.