Skip to content

Milestones

List view

  • No due date
    21/21 issues closed
  • No due date
    3/3 issues closed
  • Creating a comprehensive list of features for your roguelike game, *Vanilla*, is a great way to ensure it captures the essence of the genre while allowing room for your unique vision. Roguelikes are known for their procedural generation, permadeath, and deep mechanics, so I’ll structure this list to cover core features, optional enhancements, and considerations that align with your architecture. Here’s a detailed breakdown: --- ### Core Features of a Roguelike These are the foundational elements that define the genre, based on the "Berlin Interpretation" and modern roguelike conventions. 1. **Procedural Generation** - **Maze/Dungeon Generation**: Dynamic creation of levels using algorithms (e.g., BSP, cellular automata, drunkard’s walk, or Perlin noise). - **Room Variety**: Distinct room types (treasure rooms, enemy lairs, traps) with unique layouts or themes. - **Item Placement**: Random distribution of loot, weapons, and consumables across the level. - **Enemy Spawns**: Randomized enemy types and positions, scaled to player progression. 2. **Permadeath** - Permanent character death with no reloading saves mid-run (optional: meta-progression like unlocking new classes or items between runs). - Clear feedback on death (e.g., cause of death, stats summary). 3. **Turn-Based Gameplay** - Discrete player actions (move, attack, use item) executed in turns. - Enemies and environmental effects also act in a turn-based sequence. - Time pauses when the player isn’t acting, allowing strategic planning. 4. **Grid-Based Movement** - Levels represented as a 2D grid (tiles or cells) for player and entity movement. - Support for cardinal directions (up, down, left, right) and optionally diagonals. 5. **Player Character** - **Stats**: Health, strength, agility, mana, etc., customizable or class-based. - **Inventory**: Limited slots for items (e.g., weapons, armor, potions). - **Experience & Leveling**: Gain XP from kills or objectives to improve stats or unlock abilities. 6. **Combat System** - Simple melee (e.g., bump-to-attack) or ranged combat with weapons. - Damage calculations based on stats, equipment, and random rolls (e.g., dice-like RNG). - Status effects (poison, bleed, stun) that persist over turns. 7. **Exploration** - **Fog of War**: Unexplored areas hidden until the player visits them. - **Line of Sight**: Realistic visibility based on player position and obstacles. - **Secrets**: Hidden rooms, traps, or items revealed through interaction or luck. 8. **Items & Equipment** - Consumables (potions, scrolls, food) with immediate or temporary effects. - Weapons and armor with varying stats (damage, defense, weight). - Cursed or unidentified items requiring experimentation or appraisal. 9. **Enemies & AI** - Diverse enemy types with unique behaviors (e.g., aggressive, defensive, fleeing). - AI decision-making based on player proximity, health, or environment. - Boss encounters with distinct mechanics or phases. 10. **Randomization** - Seed-based RNG for reproducible runs (optional: let players input seeds). - Variability in enemy stats, item effects, or dungeon layouts to keep runs fresh. --- ### Enhanced Features These build on the core to add depth, replayability, and polish, leveraging your architecture (ECS, event system, etc.). 11. **Level Management** - **Themed Biomes**: Distinct dungeon aesthetics (crypt, forest, lava caves) with matching enemies and loot. - **Stairs/Portals**: Transitions between floors or areas with increasing difficulty. - **Persistent Effects**: Environmental hazards (flooding, darkness) that evolve over turns. 12. **Entity-Component-System (ECS) Enhancements** - **Modular Entities**: Easily add new enemy types or items by combining components (e.g., Health, AI, Renderable). - **Dynamic Behaviors**: Components for special abilities (teleport, summon allies). - **Scalability**: Support for large numbers of entities without performance hits. 13. **Event System** - **Logging**: Record player actions, enemy moves, and item usage for debugging or post-run analysis. - **Triggers**: Events like “low health” or “boss defeated” triggering music, UI changes, or story beats. - **Achievements**: Track milestones (e.g., “kill 100 enemies”) across runs. 14. **Rendering System** - **ASCII Art**: Traditional roguelike visuals with characters (@ for player, g for goblin). - **Graphical Tiles**: Optional sprite-based rendering for broader appeal. - **UI**: Health bars, inventory display, minimap, and message log for gameplay feedback. 15. **Difficulty & Progression** - **Scaling Difficulty**: Deeper floors introduce tougher enemies or scarcer resources. - **Meta-Progression**: Unlock new classes, starting items, or dungeon types after failed runs. - **Difficulty Modes**: Easy (more loot), Normal, Hard (permadeath + scarcity). 16. **Interactable Environment** - **Traps**: Spikes, pits, or poison gas triggered by movement or RNG. - **Doors & Keys**: Locked areas requiring specific items or actions. - **Destructible Terrain**: Break walls or create shortcuts (with consequences like alerting enemies). 17. **Sound & Atmosphere** - **Ambient Effects**: Footsteps, dripping water, or enemy growls (if using a Ruby library like Gosu). - **Music**: Dynamic tracks based on tension (exploration vs. combat). - **Text Descriptions**: Flavor text for rooms or items to enhance immersion. 18. **Quests or Objectives** - Primary goal (e.g., retrieve an artifact, slay a boss) per run. - Side objectives (e.g., rescue an NPC, collect X gold) for bonus rewards. 19. **Player Agency** - **Multiple Classes**: Warrior, Mage, Rogue with distinct playstyles. - **Skill Trees**: Unlockable abilities or perks (e.g., double attack, invisibility). - **Choices**: Moral dilemmas or trade-offs (e.g., sacrifice health for power). 20. **Replayability** - Randomized story elements or lore snippets revealed over runs. - Challenge modes (e.g., no healing, timed runs). - Modding support via external files (e.g., JSON for new items or enemies). --- ### Technical & Quality-of-Life Features These improve the player experience and align with your focus on debuggability and modularity. 21. **Game Loop Robustness** - Clean initialization (load assets, generate level, spawn player). - Smooth cleanup (save stats, reset state) on death or victory. - Pause/resume functionality. 22. **Input Handling** - Configurable keybindings (WASD, arrow keys, or vi-style hjkl). - Mouse support (optional: click-to-move or inventory management). - Command buffer for queuing actions in complex turns. 23. **Debug Tools** - God mode or invincibility toggle for testing. - Map reveal to inspect procedural generation. - Console commands (e.g., spawn item, teleport) for devs. 24. **Save/Load System** - Optional checkpoint saves (if deviating from strict permadeath). - Run history with stats (enemies killed, floors explored). - Seed saving for sharing notable runs. 25. **Performance Optimization** - Efficient ECS updates for large dungeons. - Lazy loading of off-screen entities or tiles. - Memory management for long play sessions. 26. **Accessibility** - Colorblind mode for rendering. - Adjustable text size or contrast. - Tooltips or tutorials for new players. 27. **Community Features** - Leaderboards for run scores (e.g., depth reached, enemies slain). - Shareable run summaries (text-based or screenshot). - In-game bug reporting tied to the event system. --- ### Optional Experimental Features These could set *Vanilla* apart or appeal to niche audiences. 28. **Asymmetric Multiplayer** - Co-op mode where players explore the same dungeon in turns. - PvP mode where one player controls a boss or traps. 29. **Time Mechanics** - Rewind turns (limited use) to fix mistakes. - Time pressure (e.g., dungeon collapses after X turns). 30. **Narrative Integration** - Procedurally genera

    Overdue by 7 month(s)
    Due by March 30, 2025
    5/5 issues closed