Skip to content

Your complete toolkit for solo tabletop RPG adventures - A digital adaptation of One Page Solo Engine

License

Notifications You must be signed in to change notification settings

gvorbeck/rollalone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

96 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Roll Alone

Your complete toolkit for solo tabletop RPG adventures

Live Site License Built with

๐ŸŽฏ What is Roll Alone?

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.

โœจ Key Features

๐ŸŽฒ Advanced Dice Roller

  • Complex expressions - Roll 2d6+1d4, 1d20+3d6-2, or any combination
  • Keep highest/lowest - Use 4d6kh3 or 2d20kl1 for advantage/disadvantage
  • Professional SVG icons - Beautiful dice representations for d4, d6, d8, d10, d12, d20
  • Detailed breakdowns - See individual rolls and calculations

๐Ÿƒ Playing Card System

  • 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

๐Ÿ“‹ Smart Navigation

  • 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

๐Ÿงญ Complete Oracle System

  • 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

๐Ÿฐ Adventure Generators

  • 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

๐ŸŽญ GM Moves & Story Tools

  • 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

๐Ÿ’ป Modern Web Experience

  • ๐ŸŒ™ 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

๐Ÿš€ Live Site

Visit rollal.one to start your solo RPG adventure immediately!

โšก Technical Highlights

๐ŸŽฏ Production-Ready Quality

  • 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

๐Ÿ”ง Advanced Features

  • 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 System

  • 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

๐ŸŽฎ How to Use

Roll Alone features three floating action buttons in the bottom-right corner for instant access to all tools:

๐ŸŽฒ Dice Roller (Red Button)

  • Simple rolls: Type d20, 3d6, or 2d10+5
  • Complex expressions: Use 2d6+1d4+3 or 1d20+2d6-1
  • Advantage/Disadvantage: Try 2d20kh1 (keep highest) or 2d20kl1 (keep lowest)
  • Results show: Individual rolls, modifiers, and final total

๐Ÿƒ Card Drawer (Red Button, Middle)

  • 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

๐Ÿ“‹ Table of Contents (Blue Button, Left)

  • 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

๐ŸŽฏ Getting Started

  1. Start with "How to Play" - Get oriented with the basic mechanics
  2. Try the dice roller - Roll 2d6 or 1d20 to get comfortable
  3. Draw a card - See how the suit domain system works
  4. Use the Oracles - Ask yes/no questions or get directional guidance
  5. Generate Content - Create NPCs, plot hooks, or dungeon rooms on demand
  6. Explore & Crawl - Use the exploration tools for structured adventures

๐ŸŽฏ Target Audience

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

๐Ÿ› ๏ธ Development

Prerequisites

  • Node.js 18+
  • npm or yarn

Local Development

# 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-check

Project Structure

src/
โ”œโ”€โ”€ 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

Tech Stack

  • 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

๐Ÿ“œ License & Attribution

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)

๐Ÿ™ Acknowledgements

๐Ÿค Contributing

This is a personal project, but feedback and suggestions are welcome! Please open an issue to discuss any ideas or improvements.

๐Ÿ”— Links


Roll your dice, trust the oracles, and embark on solo adventures! ๐ŸŽฒโœจ

About

Your complete toolkit for solo tabletop RPG adventures - A digital adaptation of One Page Solo Engine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published