← Back to changelog
June 20, 2026

Dice System Redesign — Direct Rolls to Chat

dicegameplayengine

Dice rolls are now server-authoritative and bypass the AI entirely. The new dice sidebar panel gives you 7 die types, advantage/disadvantage, and a live formula preview.

What shipped

The dice system has been redesigned from the ground up. Previously, rolling dice meant sending a message to the AI DM and waiting for it to parse your intent. Now rolls are fast, direct, and server-resolved.

Engine migration — The dice parser is now backed by @dice-roller/rpg-dice-roller, a battle-tested notation library. We support standard notation (2d6+3), advantage rolls (2d20kh1), FATE dice (4dF), exploding dice (4d6!), and success-counting pools (5d6>=4).

Dice sidebar panel — A new two-tab panel replaces the old roll history slide-out:

  • Roll tab — 7 die buttons (d4 through d%), count and modifier steppers, live formula preview, advantage/disadvantage toggle for d20
  • History tab — Up to 50 rolls, reverse-chronological, each with a one-click re-roll button

/roll slash command — Type /roll or /r in any chat input to roll 1d20. Type /roll 2d6+3 for specific notation. The text is intercepted before it reaches the AI — the result appears directly in chat as a mechanic card.

Server-authoritative rolls — Every roll goes through rollAudit.record on the server. The result is written to the database and broadcast to all session participants via the dice Ably channel. No client-side dice resolution — the server is the single source of truth.

What's next

3D dice canvas animation and per-session dice skin themes are next in the dice epic.