DND.chat Docs
Guides & Walkthroughs

Running a Battle on the VTT

A DM's walkthrough for DNDWar.com — set up a scene and grid, draw walls, lights, and fog, invoke your shared cards as tokens, run initiative and turns, let the engine resolve monsters, and close out with a recap.

This is the DM-side walkthrough for DNDWar.com, the family's tactical battle-map. It assumes you've built the cards and characters you want to fight with over on DNDCards — DNDWar reads the same shared library, so they're already here. If you want to feel the engine before reading any of this, the no-sign-in demo drops you straight into a fight. Players have their own, shorter guide: Playing in the VTT.

A battle on the board is built in four moves: a scene, some geometry, some tokens, and a turn order. Here's each.

1. Open a scene

The unit of a battle is a scene — an image, a grid laid over it, and the walls and lights on top. Open a campaign on DNDWar and, if it has none yet, a blank battlemap is created for you automatically. You can keep several scenes per campaign and switch between them; the board remembers the last one you used.

The grid is always on. DNDWar is grid-only — there's no gridless "theater of war" mode — and everything (movement, AoE, line of sight, distance) assumes a square grid using the 5e 5-5-5 Chebyshev rule, so a diagonal step costs the same five feet as a straight one.

2. Get a map's geometry in place

You have three ways to give a scene its image and walls, from fastest to most precise:

SourceWhat it does
Sample maps…Bundled demo battlemaps with grid and walls already baked — the quickest start.
Import mapUniversal VTT files (.dd2vtt / .df2vtt / .uvtt) bring an exact image plus calibrated grid, 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 lines, doors and windows, and lights for you to review and Apply or Discard. It's a draft, not a file import.

You can also start from a blank scene, paste an image URL, and draw everything by hand. Whichever you pick, you're rarely starting from nothing.

3. Draw walls, doors, and light

Walls in DNDWar are thin line segments, not blocked-out cells, so they sit cleanly along the art. The tools cover draw, rect, erase, and move, and segments come in kinds — wall, door, and secret — plus windows and object-pillars. Edits undo and redo with the usual shortcuts.

Drop Lights — torch, brazier, campfire, lantern, lava, or magical — and slide the ambient level anywhere from Pitch black to Daylight. Toggle Fog of war and the board raycasts line-of-sight from each player token through your walls, attenuated by your lights and extended by each creature's darkvision. Doors open and close; secret walls are filtered out of what players receive entirely, so a hidden passage never leaks to the table even in the network traffic.

A Player Preview toggle lets you see exactly what your players see — fog, vision, and all — without logging in as one of them.

4. Invoke your cards as tokens

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

  • From DND Cards — your campaign's own cards: the player characters and the monsters you've curated.
  • From the SRD — the shared open5e compendium of monsters and NPCs.
  • My Homebrew — your own creations from the Homebrew Forge.

Click a card and it drops onto the board in a tidy formation. For a quick start, Add all monsters places every monster card in the campaign at once. (Invoking an SRD or homebrew card first materializes a real card row on your board — a token always points at an actual card.)

"Invoke" is the same minting action used on DNDCards. It is not the DND.chat /summon chat command — there's no /summon on the board. The two products use different words for related ideas on purpose.

The stats come with the card

A token's HP and AC seed straight from its card. Player and character-linked tokens read the live character sheet (HP max, current HP, AC); monsters and NPCs parse their card's stat strings. Rollable actions are derived automatically — parsed monster attacks, magic-item riders, a CR-scaled fallback weapon if nothing parses — and every token also gets the universal Custom attack, Request save, Ability check, and Move / Dash / Dodge / Disengage utilities. The full breakdown is in Dice & Rolls.

Tokens render as full-body Standees where the card has art and fall back to medallion discs otherwise, with a ring colored by type and an ember arrow showing facing.

5. Run the fight

  1. Start combat. Click Start combat in the initiative rail. DNDWar rolls d20 + DEX initiative for every token, builds the turn order, and persists the encounter. You can edit any initiative number before or as you go.
  2. Take the active turn. The active token is highlighted; its action bar lists the derived actions. Click one to arm it, then click the target on the map. Roll in the ResolutionPanel — attacks compare d20 + to-hit vs AC (a nat 20 doubles the damage dice, a nat 1 misses), saves are half-on-success vs a DC, checks resolve the same way.
  3. Override anything. Every roll sits behind a Show math toggle exposing editable to-hit / AC / damage / DC. Wherever the engine rolls, you can change the number before committing. (See the resolution flow.)
  4. End the turn. Click End turn; conditions tick, movement budgets reset, and the next token activates. When everyone's acted, the round counter ticks over.
  5. End combat. Click End combat to archive the encounter and open the recap.

The engine keeps the fiddly 5e bookkeeping for you: conditions with durations that drive advantage and auto-fail saves, concentration (a CON save at DC max(10, damage/2) on damage), opportunity attacks along a mover's actual routed path, the Shield reaction, death saves at 0 HP, and a per-turn movement budget enforced only for the active combatant — off-turn, you reposition tokens freely.

Let the monsters fight themselves

You don't have to drive every goblin. On a monster or NPC turn, the planner is deterministic — no AI — which is exactly why it never invents an ability the stat block doesn't have. It weighs targets (low HP, bloodied, concentration, likely kills), steps toward one around your walls, and picks the best in-range action. You get three levels of hands-off:

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

With Voices on, monsters can even call out battle cries aloud. More on the planner in the AI Features library — including why it's filed under "the help that isn't AI."

Area effects

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

Multiplayer and roles

DNDWar separates the DM view from the player view. You have the full toolset; players see a fog-masked board with DM controls hidden, able to move only their own token and open adjacent doors — all server-validated, so nothing is enforced only in the browser. Play syncs live: moves, walks, vision edits, and door toggles all broadcast to the table in real time.

Where to go next