An LLM-driven Dungeon Master assistant for D&D 5th Edition.
- AI Dungeon Master - LLM-powered DM that tracks game state, manages combat, and narrates the story
- Session Management - Create and manage multiple campaign sessions
- Real-time Updates - SignalR-powered live game state synchronization
- D&D 5e Rules - Built-in rules reference and automated game mechanics
- ASP.NET Core 10.0 (Blazor Server)
- Entity Framework Core with SQLite/PostgreSQL
- OpenRouter LLM integration via LLM Tornado SDK
- Flowbite Blazor + Tailwind CSS
- Google OAuth authentication
Deploy your own Riddle instance with Docker. See the Docker Deployment Guide for complete setup instructions.
Why port 1983? That's the year the Dungeons & Dragons animated series debuted!
- Sign In - Log in with your Google account
- Create Campaign - Click "New Campaign" from the dashboard
- Add Characters - Import pre-made characters or create new ones
- Share Invite Code - Your campaign displays a unique 8-character invite code
- Share this code with your players via Discord, text, email, etc.
- Players use this code to join and claim characters
- Open Campaign - Click on your campaign from the dashboard
- Chat with the AI DM - The AI Dungeon Master helps you run the game
- Describe scenarios and the AI will narrate
- Ask for rules clarifications
- Request NPC dialogue or descriptions
- Combat Encounters - The AI helps track initiative, HP, and combat actions
- Get Invite Code - Your DM will share an 8-character code
- Sign In - Log in with your Google account
- Join Campaign - Enter the invite code on the join page
- Claim Character - Select your character from the available roster
- View Dashboard - See your character stats, inventory, and party info
- Follow the Story - The DM's narration appears in real-time
- Combat - Your character's initiative and HP are tracked automatically
For contributors and developers:
# Clone and navigate
git clone https://github.com/peakflames/riddle.git
cd riddle
# Build
python build.py
# Import sample character templates
python build.py db import-templates
# Run (development mode)
python build.py runOpen http://localhost:5000 in your browser.
See CONTRIBUTING.md for development guidelines and build commands.
- Docker Deployment - Run your own game server
- Project Description - Overview and goals
- Software Design - Architecture details
- Developer Rules - Coding standards
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).
✅ You CAN:
- View, study, and learn from the source code
- Fork and modify the code for personal or educational use
- Share your modifications with others (under the same license)
- Use this project to run games with friends
❌ You CANNOT:
- Use this project for commercial purposes
- Sell or monetize any derivative works
- Offer this as a paid service
If you're interested in commercial licensing, please reach out to discuss options.