Procedural buildings for tactical shooters: believable floor plans with breach points, door states, cover, sightlines and a mission briefing for every seed. The free tacmap generator writes printable briefing maps and JSON layouts that work with any engine.
The solver works the way an architect does. It lays out circulation first, then divides the space that circulation serves into rooms. Every building follows the chain an entry team actually experiences:
Suburban, two-story and large houses; office and mid-rise office; apartment block with sealed units; warehouse with racking and loading docks; convenience store.
Alpha–Delta sides (clockwise from the front), floors, and every door and window numbered left to right: “Charlie 1-2 breach window”.
Wood, metal or glass; locked, barricaded or trapped; swing direction and hinge side; valid breach options (pick, kick, ram, shotgun, C2, shatter).
Each room type gets its own furniture (beds, counters, desks, pallet racks, store aisles) at real sizes. Anything 1.5 m or taller blocks sight, and pieces are only placed where they don't cut the room in two.
Rays from every door and window give each cell an exposure count and each entry a fatal-funnel size. Allocation-free line-of-sight queries at runtime.
Stack-up positions at every doorway, hard corners, prop cover; suspect ambush spots watching doors, civilians, hostages and an objective.
A difficulty score for every room, the most defensible objective room, and recommended primary and alternate entries weighted by route length, exposure and breach cost.
A printable SVG briefing map (blueprint or print theme) and a full JSON layout you can import into Unreal, Godot or your own tools.
A single native Windows program with nothing to install. Download the zip, unzip it, and run:
tacmap presets tacmap generate --preset apartment --seed 42 ^ --svg plan.svg --json plan.json tacmap generate --preset warehouse --ascii tacmap batch --preset all --count 4 --out gallery
The JSON holds rooms, wall runs, doors (state, swing, breach options, callouts), props, cover nodes, spawns and fences, in grid cells with a metre scale. See the JSON format. Free for personal and commercial use, and everything you generate is yours.