RPG Dice Roller

A full-featured dice rolling application for tabletop RPG sessions, built with Next.js and styled to match the stepweaver terminal aesthetic. Features terminal integration - roll dice directly from the command line!

RPG Dice Roller
Web DevelopmentGamingInteractiveTerminal

🚀 Features

  • Multiple Dice Types: Support for d4, d6, d8, d10, d12, d20, and d100
  • Flexible Pool Building: Add any combination of dice with custom quantities
  • Modifiers: Add positive or negative modifiers to your rolls
  • Roll Breakdown: See individual die results and subtotals by dice type
  • Roll History: Last 10 rolls saved with timestamps (persisted in localStorage)
  • Copy to Clipboard: Copy dice notation for sharing or documentation
  • Keyboard Shortcuts: ENTER to roll, C to copy, R to reset, ESC to clear
  • Randomized Colors: Each die type gets a random color from the terminal palette
  • Smooth Animations: Dice roll animation with shake/tumble effect
  • Responsive Design: Works on desktop, tablet, and mobile
  • Terminal Integration: Roll dice directly from the terminal with `roll` command
  • Roll Comments: Tag your rolls with notes like "Attack roll" or "Initiative"
  • Dice Tray: Hold specific dice and re-roll others (Yahtzee-style) - click dice to hold them, then re-roll the rest

🛠️ Tech Stack

Frontend

  • Next.js - React framework
  • React - Component-based UI
  • Tailwind CSS - Styling

💻 Terminal Integration

The dice roller is fully integrated into the site's terminal emulator! You can roll dice directly from the command line.

Usage

  • Type `roll 3d6+2` to roll three 6-sided dice and add 2
  • Type `roll 1d20` for a single d20 roll
  • Type `roll 2d10 + 1d6 + 5` for complex rolls
  • Type `roll advantage` for advantage rolls (2d20 keep highest)
  • Type `roll disadvantage` for disadvantage rolls (2d20 keep lowest)
λ roll 3d6+2
Rolling 3d6+2:
  3d6: [4, 2, 6] = 12
  Modifier: +2
Total: 14

⌨️ Keyboard Shortcuts

  • ENTER - Roll the dice
  • C - Copy the current roll notation
  • R - Reset the entire dice pool
  • ESC - Clear current results

🎲 Dice Notation

The dice roller uses standard RPG dice notation:

  • 3d6 - Roll three 6-sided dice
  • 1d20+5 - Roll one 20-sided die and add 5
  • 2d8+1d6-2 - Roll two 8-sided dice, one 6-sided die, and subtract 2

🚀 Planned Features

  • Advantage/Disadvantage: Enhanced support for D&D advantage/disadvantage mechanics (keep highest/lowest)
  • Dialog Component: Embeddable dice roller for blog posts or project pages

Interested in a similar project?

Let's discuss how we can build something similar for your business.