DND.chat Docs
The Products

DNDWar.com — Tactical Battle-Map Combat

The grid battlemap where shared cards become tokens and assisted 5e combat — initiative, attacks, saves, conditions — runs itself.

DNDWar.com is the tactical half of the family: a square-grid battlemap — the board — where the cards and characters you built in DNDCards stand as tokens and assisted 5e combat plays out. It reads the same campaigns, cards, and characters as the rest of the family (see how it all connects), so the monster you curated and the character you built are already here, stat-blocks and all. Want to feel it before you sign up? There is a no-auth demo fight waiting.

The board

The board is a PixiJS square grid. Coordinates are integer (col, row); distance uses the 5e 5-5-5 Chebyshev rule (5 ft per cell), so a diagonal costs the same as a straight step. Tokens render as full-body Standees wherever the card has art, and fall back to circular medallion discs otherwise. Drag a token and it auto-routes (A*) around walls and other tokens, walking the shortest legal path; an ember facing arrow shows its heading.

One thing to be clear about: the grid is always on. DNDWar is grid-only — there is no separate "theater of war" or gridless combat mode. Movement budgets, AoE templates, line-of-sight, and distance all assume the square grid.

DNDWar also has no PDF shredder. Importing and shredding adventure PDFs is a DNDCards feature — see the PDF Shredder walkthrough. DNDWar only links out to DNDCards for it.

Bringing creatures onto the board

You populate the board by invoking cards as tokens through the Invoke a card picker, which has three tabs:

  • From DND Cards — your campaign's cards, built and curated in DNDCards.
  • From the SRD — the shared open5e compendium.
  • My Homebrew — your own forged cards (see the Homebrew Forge).

When you invoke an SRD or homebrew card, DNDWar first materializes a real card row on your board before placing the token (a token must point at an actual card). For a quick start you can also Add all monsters at once, or add a single combatant straight from a card.

"Invoke" here is the same action as on DNDCards: minting a card. It is not the DND.chat /summon chat command — there is no /summon on DNDWar.

Stats seed the fight

A token's HP and AC come from the card. For players and character-linked tokens, DNDWar reads the linked character sheet (HP max, current HP, AC). For monsters and NPCs it parses the card's HP and AC stat strings. Rollable actions are derived automatically:

  • Monster statblock actions are parsed from monster_data (e.g. +4 to hit … Hit: 5 (1d6 + 2) slashing).
  • Magic-item attack riders and save effects are read where present.
  • If nothing parses, a sensible weapon fallback is equipped (CR-scaled or named-creature). Player characters get a basic weapon from the better of their STR/DEX modifier plus proficiency.

Every token also gets these appended actions: Custom attack, Request save, Ability check, and the movement utilities Move, Dash, Dodge, and Disengage.

Assisted combat

The combat engine rolls the dice and explains the math, but you stay in control of every value.

  1. Add combatants, then click Start combat in the initiative rail. DNDWar rolls d20 + DEX initiative for every token, builds the turn order, and persists the encounter.
  2. On the active token's turn, the action bar lists its derived actions. Click one to arm it, then click the target on the map.
  3. In the ResolutionPanel, roll. Attacks compare d20 + to-hit vs AC — a natural 20 is a CRIT HIT (the damage dice double, not the flat modifier), a natural 1 is a miss. Saves are half-on-success vs a DC; ability checks resolve the same way.
  4. Every field has a Show math toggle that exposes editable to-hit / AC / damage / DC fields — anywhere the engine rolls, the DM can override before committing.
  5. Click End turn to advance. Conditions tick, the next token activates.
  6. Click End combat to archive the encounter and open the session recap.

The engine also tracks the fiddly 5e bookkeeping for you: conditions (with durations that drive advantage/disadvantage and auto-fail saves), concentration (a CON save at DC max(10, damage/2) when a concentrating creature takes damage), reactions including opportunity attacks along the routed path and a Shield reaction (+5 AC), death saves for a PC at 0 HP, and a per-turn movement budget (enforced only for the active combatant — off-turn tokens are repositioned freely by the DM).

The fights run themselves

On a monster or NPC turn, the planner is deterministic — no LLM. It picks a target (weighing low HP, bloodied, concentration, likely kills), steps toward it around walls, and chooses the best in-range action. You have three levels of hands-off:

  • Apply the suggested intent manually.
  • One-click Auto-resolve a single monster turn end to end (handles Multiattack and AoE saves, logs and narrates).
  • Enable Auto-pilot monster turns to chain monster turns automatically (capped at 30 consecutive; player turns always pause).

With Voices on, monsters can speak battle cries aloud.

AoE templates and maps

Arm a circle, cone, or line AoE, place it on a cell, and rotate it; the preview highlights every caught token. Resolve AoE then auto-rolls one shared save (or per-target attacks) against everyone in the footprint.

For maps, DNDWar gives you a full editor: draw Walls (and doors, secrets, windows, object-pillars), drop Lights (torch, brazier, campfire, lantern, lava, magic), toggle Fog of war with dynamic lighting and darkvision, and slide ambient light from Pitch black to Daylight.

You have three ways to get a map's geometry in place:

SourceWhat it does
Import mapUniversal VTT files (.dd2vtt / .df2vtt / .uvtt) bring in an exact image plus walls and lights. Drop a DungeonFog .svg to add its wall paths to the current scene.
AI rough-inAn image-analysis pass that drafts wall polylines, door/window portals, and lights for you to review, then Apply or Discard. Not a file import.
Sample maps…Bundled demo battlemaps to start from.

Roles and multiplayer

DNDWar separates the DM view from the player view. The DM has full controls; players see a Player view with DM controls hidden, fog-masked vision, and the ability to move only their own tokens and open adjacent doors (all server-validated). You can preview the player's perspective at any time, and play syncs live across the table — moves, walks, vision edits, and door toggles all broadcast.

Try it first (no sign-in)

A public demo lets newcomers run a real fight with no account: a Fighter and a Wizard against three goblins on a manor map. Arm an attack, click a goblin, roll the result, and let the goblins act with Auto-resolve. It runs entirely in the browser — nothing is saved — so it is the fastest way to feel how the engine plays before you bring your own campaign over.

Where to go next

Everything is free during beta — see one membership, every site.