Tactforge · tactics arena
⚙️
A server-authoritative engine built on the 5e SRD runs attacks, cover, concentration, and conditions — every roll logged and auditable.
🎲
Every battle generates its own battlefield, enemy pack, and encounter. No two fights are the same.
🧙
An LLM can narrate and command the enemy — or a human Game Master runs the monsters in multiplayer. Elite squads with a commander focus-fire your casters.
🗺️
Fight the sandbox, run the castle-defense roguelite, or share a seeded battle by link — same fight, reproduced exactly.
What's coming — the plan grows fight by fight.
About
Tactforge is an automated tactics arena. A server-authoritative, 5e-compatible rules engine runs the fight — you build a party, drop into a procedurally generated battlefield, and play out full tactical combat. The engine handles every rule, roll, and reaction; you make the decisions.
Pick or randomize a party, choose a difficulty and map, and start. The generator rolls a fresh battlefield, an enemy pack scaled to your party, and the encounter. Combat runs in initiative order — move, attack, cast, use items — with the engine resolving hits, cover, saves, and conditions. It ends when one side falls (or, in a dungeon, when you slay the boss).
A pure, deterministic engine — the same code on the server and in tests. It implements the 5e SRD mechanics (attack rolls, advantage, cover, concentration, opportunity attacks, death saves, resistances, and 20+ conditions). Every roll is logged and auditable, and a battle is fully reproducible from its seed.
Yes. The battlefield, terrain, trap placement, and enemy pack are rolled fresh each fight from a seed. Share that seed by link and someone else replays the exact same battle. No two random fights are alike.
A tactical AI drives the monsters — it targets your casters, uses cover and high ground, forms elite squads under a commander, and retreats when losing. Optionally, an LLM can act as an AI Narrator: it commands the enemy and narrates the fight for extra flavor. In multiplayer, a human can take the Game Master role and play the monsters directly, like running a real table. The deterministic engine always referees, so nothing — AI or human — can break the rules.
Solo today — you run the whole party, hand heroes to the AI, or control each hero separately. Multiplayer is on the roadmap: server-authoritative, over realtime listeners, with each player owning their own heroes and an optional human Game Master running the monsters. The engine is already the single referee, so the multiplayer path builds on the same core.
5e is the fifth edition of the world's most popular tabletop role-playing rules — the way attacks, spells, saving throws, and conditions work. The SRD (System Reference Document) is the open, freely-licensed core of those rules, published under Creative Commons and the Open Gaming License. Tactforge implements that open ruleset, so if you know 5e it plays exactly how you'd expect. It's an independent project — not affiliated with or endorsed by the rules' publisher, and it uses only the openly-licensed content, not any trademarked names or branding.
Tactforge is built in the open. The alpha and beta are free (LLM narration off) — if it brings you joy, a coffee or a pledge helps it grow. A monthly subscription may come later for the AI-narrated experience, but the core arena stays playable for free.
Enemies
Elites are better-equipped versions of a base monster — more HP and AC, magic gear, and an extra trait. Tougher fights field more of them. The toughest elite becomes a commander that leads a squad: on its turn it barks an order (focus-fire a hero, or regroup) and its squad obeys.
Gameplay
Difficulty scales both the encounter size and how sharply the AI plays. Easy monsters are predictable and flee early; Hard ones coordinate, focus-fire, and use terrain; Deadly plays ruthlessly and to kill. It also sets how many elites a pack fields.
The objective is to slay the boss (marked with a crown), not clear every room — when the boss falls, its leaderless garrison scatters. Secret rooms hide a mini-boss guarding a chest; a hint appears when you're within 20 ft of one.
Rules
Some spells require concentration to keep going. You can hold only ONE at a time — casting a second ends the first. When you take damage while concentrating, you make a Constitution save (DC 10 or half the damage, whichever is higher) or the spell ends. Being incapacitated breaks it too.
Advantage rolls two d20s and takes the higher; disadvantage takes the lower. They don't stack — one instance is enough — and if you have both from any sources, they cancel to a single d20.
Half cover (a low wall, a barrel, another creature) gives +2 AC and +2 Dexterity saves; three-quarters cover gives +5; full cover can't be targeted. Cover is height-aware — an attacker on higher ground can often see over it.
A downed hero makes death saving throws each turn: three successes stabilize, three failures mean death. A natural 20 revives at 1 HP; a natural 1 counts as two failures. Any healing brings them back up. Some monsters (Relentless Endurance) drop to 1 HP instead of falling the first time.