Your complete toolkit for solo tabletop RPG adventures
Roll Alone is a digital adaptation and extension of Karl Hendricks' One Page Solo Engine (OPSE), designed to provide everything you need to run solo tabletop RPG adventures. This web-based tool eliminates the need for a Game Master by providing oracles, generators, and decision-making tools that work with any TTRPG system.
- Complex expressions - Roll
2d6+1d4,1d20+3d6-2, or any combination - Keep highest/lowest - Use
4d6kh3or2d20kl1for advantage/disadvantage - Professional SVG icons - Beautiful dice representations for d4, d6, d8, d10, d12, d20
- Detailed breakdowns - See individual rolls and calculations
- Full 54-card deck - Standard deck plus jokers with suit meanings
- Persistent state - Deck remembers what's been drawn across sessions
- Automatic reshuffling - Deck reshuffles when empty or joker is drawn
- Suit domains - โ Physical, โฆ Technical, โฃ Mystical, โฅ Social interpretations
- Random events - Jokers trigger automatic reshuffle + random event generation
- Floating Table of Contents - Quick access to any card with organized sections
- Intelligent positioning - Three floating action buttons that never overlap
- Smart scrolling - Instantly jump to any oracle, generator, or reference card
- One-click access - Everything you need is just a click away
- Yes/No Oracle - Likelihood-based answers with modifiers
- How Oracle - Intensity and quality determination
- Focus Oracles - Action, Detail, and Topic focus tables
- Internal linking - Seamless navigation between related oracle content
- Plot hooks - Generate objectives, adversaries, and rewards
- NPC Generator - Create memorable characters with goals and secrets
- Dungeon Crawler - Room-by-room exploration with encounters
- Hex Crawler - Overland exploration with terrain generation
- Generic Generator - Universal tool for any game element
- Pacing Moves - Keep the action moving during lulls
- Failure Moves - Turn setbacks into story opportunities
- Random Events - Combine Action + Topic Focus for surprises
- Scene Setting - Complications and alterations for any situation
- ๐ Dark Theme - Optimized for extended gaming sessions
- ๐ฑ Responsive Design - Works seamlessly on desktop, tablet, and mobile
- โก No Installation - Browser-based, works offline after first load
- ๐จ Professional UI - Clean, intuitive interface with smooth animations
Visit rollal.one to start your solo RPG adventure immediately!
- 184 passing tests with comprehensive coverage including unit, integration, and accessibility tests
- Zero build warnings with strict TypeScript configuration
- Optimized bundle - Only 73KB gzipped for the entire application
- Accessibility compliant with proper ARIA attributes and keyboard navigation
- Custom dice engine that parses complex expressions like
2d6+1d4+3 - Persistent state management using localStorage for card deck and preferences
- Smart UI patterns with mutually exclusive floating action buttons
- Responsive masonry layout with CSS Grid fallback for broad browser support
- Error boundaries with graceful fallback handling
- Design tokens for consistent styling across components
- Professional SVG icons replacing emoji for crisp rendering
- Smooth animations with CSS transitions and transforms
- Dark theme optimization for extended gaming sessions
Roll Alone features three floating action buttons in the bottom-right corner for instant access to all tools:
- Simple rolls: Type
d20,3d6, or2d10+5 - Complex expressions: Use
2d6+1d4+3or1d20+2d6-1 - Advantage/Disadvantage: Try
2d20kh1(keep highest) or2d20kl1(keep lowest) - Results show: Individual rolls, modifiers, and final total
- Draw cards for inspiration using the SUIT DOMAIN system
- Persistent deck remembers your progress across sessions
- Jokers automatically reshuffle and trigger random events
- Card meanings combine rank with suit for rich interpretation
- Quick navigation to any card with organized sections:
- Core Gameplay - Rules, references, and tips
- Oracles & Decisions - Yes/No, How, and Focus oracles
- Scene & Story - Plot hooks, GM moves, and events
- Characters & Generators - NPCs and universal generators
- Exploration - Dungeon and hex crawling tools
- Start with "How to Play" - Get oriented with the basic mechanics
- Try the dice roller - Roll
2d6or1d20to get comfortable - Draw a card - See how the suit domain system works
- Use the Oracles - Ask yes/no questions or get directional guidance
- Generate Content - Create NPCs, plot hooks, or dungeon rooms on demand
- Explore & Crawl - Use the exploration tools for structured adventures
This tool is designed for:
- Experienced Solo RPG Players - Familiar with GM-less gaming concepts
- TTRPG Veterans - Comfortable with any tabletop RPG system
- Busy Gamers - Want to play without scheduling group sessions
- Story Explorers - Enjoy emergent narrative and surprise discoveries
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/gvorbeck/rollalone.git
cd rollalone
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Run tests (184 tests)
npm test
# Run tests with coverage
npm run test:coverage
# Run linting
npm run lint
# Type checking
npm run type-checksrc/
โโโ components/ # React components
โ โโโ content/ # Card content renderers (text, tables, dice)
โ โโโ Card.tsx # Unified card component with multiple table support
โ โโโ DiceRoller.tsx # Advanced dice rolling with complex expressions
โ โโโ CardDrawer.tsx # Playing card system with persistence
โ โโโ TableOfContents.tsx # Smart navigation and quick access
โ โโโ ...
โโโ contexts/ # React Context providers
โ โโโ FABContext.tsx # Floating Action Button state management
โโโ data/ # Game content and definitions
โ โโโ definitions.ts # TypeScript interfaces and types
โ โโโ cards/ # Individual card data (oracles, generators, etc.)
โโโ styles/ # Design tokens and styling system
โ โโโ tokens.ts # Centralized design system
โโโ utils/ # Helper functions and utilities
โ โโโ diceRoller.ts # Custom dice engine with complex expression support
โ โโโ cardDrawer.ts # Card deck management with persistence
โ โโโ ...
โโโ test/ # Testing utilities and setup
- React 19 - Modern UI framework with latest features
- TypeScript - Full type safety and excellent developer experience
- Vite - Lightning-fast build tool and development server
- Tailwind CSS - Utility-first styling with custom design tokens
- Vitest - Comprehensive testing with 184 passing tests
- ESLint - Code quality and consistency enforcement
- Custom Dice Engine - Lightweight, supports complex expressions
- localStorage - Persistent card deck and user preferences
This project uses a mixed licensing approach:
- Roll Alone additions (original content, code, design) - Personal use only
- One Page Solo Engine content - CC-BY-SA 4.0 (original work by Karl Hendricks)
- Karl Hendricks (Inflatable Studios) - Creator of the original One Page Solo Engine
- Garrett Vorbeck - Digital adaptation and Roll Alone enhancements
This is a personal project, but feedback and suggestions are welcome! Please open an issue to discuss any ideas or improvements.
- Live Site: rollal.one
- Original OPSE: Inflatable Studios on itch.io
- Repository: github.com/gvorbeck/rollalone
Roll your dice, trust the oracles, and embark on solo adventures! ๐ฒโจ