Ein professionelles, Terminal-basiertes Rogue-Like mit moderner CLI-UX, starkem Gameplay-Loop und Langzeitmotivation durch Meta-Progression.
- Terminal First - Keine GUI, nur Terminal-Excellence
- Fast & Responsive - Jede Aktion <100ms
- Deep but Accessible - 5 Minuten zu lernen, 50 Stunden zu meistern
- Modern CLI - Nutze beste R-Packages für Terminal-UX
- cli (v3.6.2) - Terminal UI, Formatierung, Spinner, Progress
- crayon (v1.5.2) - Farb-Management (Ersatz für raw ANSI)
- keypress (v1.3.0) - Direkte Tastatur-Eingabe ohne Enter
- R6 (v2.5.1) - OOP für Game State Management (optional)
- jsonlite (v1.8.8) - Für human-readable Save Files (statt RDS)
- Base R für kritische Performance-Pfade
- Integriere
cliPackage für alle Ausgaben - Ersetze ANSI-Codes durch
crayonfür bessere Kompatibilität - Implementiere
keypressfür Echtzeit-Steuerung - Entferne alle Shiny-Abhängigkeiten (löschen shiny_app.R)
- Ersetze
cat()durchcli::cli_*()Funktionen - Implementiere
cli_progress_bar()für Ladebildschirme - Füge
cli_alert_*()für wichtige Events hinzu - Erstelle schöne Boxen mit
cli::boxx()für Menüs
- Reduziere Terminal-Flicker (Single Frame Buffer)
- Implementiere Delta-Rendering (nur Updates, nicht alles)
- Füge Frame-Rate Limiting hinzu (30 FPS)
- Optimiere Map-Rendering (nur sichtbare Tiles)
- Multi-Step Movement (5w, 10d) - BEREITS IMPLEMENTIERT
- Auto-Explore (Taste 'o') - Automatisch erkunden bis Feind
- Pathfinding-Anzeige (zeige geplanten Pfad)
- Run-Modus (Shift+Richtung läuft bis Hindernis)
- Turn-based System - BEREITS IMPLEMENTIERT
- Enemy AI - BEREITS IMPLEMENTIERT
- Damage Numbers als Animation (floating text)
- Critical Hits (10% chance, 2x damage)
- Status Effects (Poison, Burn, Freeze - 3 turns)
- Combat Log (zeige letzte 5 Combat-Events)
- Auto-Equip wenn besser - BEREITS IMPLEMENTIERT
- Item Comparison (rot/grün für schlechter/besser)
- Item Rarities (Common, Uncommon, Rare, Legendary)
- Item Prefixes/Suffixes (z.B. "Flaming Sword", "Shield of Protection")
- Consumables (Health Potions, Buff Potions)
- Inventory UI mit cli::tree()
- 6 Dungeon Themes - BEREITS IMPLEMENTIERT
- Minimap (10x10 overview in Ecke)
- Animated Transitions (smooth movement mit cli::cli_progress_step)
- Particle Effects (ASCII-basiert: *, +, ·)
- Screen Shake bei Hits (Terminal-Offset)
- Better FOV-Visualization (Gradient-Darkening)
- ASCII Sound Effects (CLANG!, WHOOSH!, click)
- Event Notifications mit cli::cli_alert_*
- Boss Encounter-Fanfare (große ASCII-Box)
- Menü-System mit cli::cli_menu()
- Keyboard Shortcuts Overlay (Taste '?')
- Tutorial-Modus für neue Spieler
- Pause-Menü (ESC)
- Quick-Save/Load (F5/F9)
- Statistics Screen (Taste 'C')
- Message Log Review (Taste 'L')
- 7 Permanent Unlocks - BEREITS IMPLEMENTIERT
- Persistent Save mit RDS - BEREITS IMPLEMENTIERT
- Kill/Boss Counter - BEREITS IMPLEMENTIERT
- Upgrade zu JSON-basiertem Save (human-readable)
- Achievement System (20+ Achievements)
- Leaderboard (lokale High Scores)
- Daily Challenge Mode (seeded run)
- Streak Counter (aufeinanderfolgende Wins)
- Meta-Currency (Souls) für permanente Upgrades
- Unlock-Screen mit cli::boxx() Animation
- BSP Dungeon Generation - BEREITS IMPLEMENTIERT
- Alternative Layouts (Circular, Cavern, Maze)
- Special Rooms (Shop, Shrine, Treasure, Challenge)
- Traps (Spike, Arrow, Teleport)
- Secret Rooms (Hidden walls)
- 5 Special Abilities - BEREITS IMPLEMENTIERT
- Combo System (Verkettung von Abilities)
- Enemy Behaviors (Ranged, Healer, Tank, Assassin)
- Boss Patterns (Phase-based Attacks)
- Parry/Dodge Mechanic (Timed Button Press)
- Class System (Warrior, Mage, Rogue)
- Skill Tree (statt linear unlocks)
- Perks pro Run (wähle 1 von 3 nach jedem Level)
- Curse System (Negative Effekte für Vorteile)
- 6 Themes - BEREITS IMPLEMENTIERT
- Erweitere auf 10 Themes
- 20+ einzigartige Enemies
- 10+ Boss-Varianten
- 50+ Items
- 10+ Ability-Varianten
Ziel: Moderne CLI-Experience ohne Shiny
- Alle CLI-Packages integriert
- Shiny vollständig entfernt
- Flicker-freies Rendering
- keypress-basierte Steuerung
Deliverables:
- Spielbar in Terminal mit modernen Packages
- Performance: <50ms pro Frame
- Keine Abhängigkeiten zu Shiny
Ziel: Core Gameplay verbessert
- Auto-Explore
- Status Effects
- Item Rarities
- Consumables
Deliverables:
- 2x mehr Gameplay-Depth
- 5+ neue Mechaniken
- Bessere Item-Progression
Ziel: Game Feels Great
- Minimap
- Particle Effects
- Screen Shake
- Menü-System mit cli
Deliverables:
- Professionelle UI
- Smooth Animations
- Responsive Menüs
Ziel: Langzeitmotivation
- Achievement System
- Leaderboard
- Daily Challenges
- Meta-Currency
Deliverables:
- 20+ Hours Replayability
- Motivierende Progression
- Competitive Element
Ziel: Polished, Complete Game
- Bug Fixes
- Balance Tweaks
- Documentation
- Package für CRAN-Submission vorbereiten
Deliverables:
- Production-Ready
- Full Documentation
- Installation Guide
- Marketing Materials (README, Screenshots)
- Terminal Render: <50ms per frame
- Memory: <100MB total
- Zero dependencies außer: cli, crayon, keypress
- Cross-platform: Windows, macOS, Linux
- First Win: ~30 minutes für erfahrene Spieler
- Average Run: 10-15 minutes
- Meta-Unlock: 1-2 unlocks pro Stunde
- Content: 10+ Stunden bis alle Unlocks
- Zero game-breaking bugs
- Smooth 30 FPS in Terminal
- Intuitive controls (5 min Lernzeit)
- Professional CLI-UX
Start → Spawn (with Meta-Bonuses)
↓
Explore → Fight → Loot → Level Up
↓ ↓ ↓ ↓
└───────┴───────┴───────┘
↓
Boss Fight (every 3 levels)
↓
Descend Stairs
↓
Repeat until Level 10
↓
Win → Meta-Progression++
↓
Restart (stronger)
- Pure R - Keine Frameworks, nur moderne CLI-Packages
- Terminal Native - Designed für CLI von Grund auf
- Fast & Lightweight - <50ms Frames, <100MB Memory
- Deep Meta-Progression - Stunden von Unlocks
- Modern CLI UX - Nutzt cli/crayon/keypress für beste Experience
- Open Source - MIT License, Community-Beiträge willkommen
Rogue/
├── DESCRIPTION # Package metadata
├── NAMESPACE # Exported functions
├── R/
│ ├── main.R # Entry point: rogue_play()
│ ├── state.R # R6 Game State Class
│ ├── dungeon.R # Dungeon Generation
│ ├── combat.R # Combat System
│ ├── fov.R # Field of View
│ ├── abilities.R # Ability System
│ ├── progression.R # Meta-Progression
│ ├── themes.R # Dungeon Themes
│ ├── renderer.R # CLI Renderer (cli + crayon)
│ ├── input.R # Input Handler (keypress)
│ └── utils.R # Helper Functions
├── inst/
│ └── themes/ # Theme Definitions (JSON)
└── README.md # Installation & Usage
Input (keypress) → Process Action (state.R)
↓
Update State (R6)
↓
Render (cli/crayon)
↓
Display Terminal
↓
Await Input
# Install dependencies
install.packages(c("cli", "crayon", "keypress", "jsonlite"))
# Run game
source("rogue.R")
main()# Manual testing in terminal
# Later: testthat unit tests# Build package
devtools::build()
# Check package
devtools::check()
# Install locally
devtools::install()
# Then run
library(Rogue)
rogue_play()w/a/s/d- Single step5w,10d- Multi-stepo- Auto-exploreShift+Dir- Run mode
e- Pick up item>- Descend stairs1-5- Use ability
?- Helpc- Character statsi- Inventoryl- Message logm- Minimap toggleESC- Pause menuF5/F9- Quick save/load
# From GitHub
devtools::install_github("username/Rogue")
# Or from CRAN (future)
install.packages("Rogue")
# Run
library(Rogue)
rogue_play()- Mod Support (Custom Themes via JSON)
- Seed Sharing (Share interesting runs)
- Replay System (Watch recorded runs)
- Multiplayer (Async turn-based)
- New Classes
- New Themes
- New Bosses
- New Abilities
Last Updated: 2025-11-07 Version: 1.0 Specification Status: Planning Phase