StreamGame/idea/roguelike_project_roadmap.md
2025-05-29 19:00:39 +02:00

4.8 KiB
Raw Blame History

2D Roguelike with Dual Game Loops: Roadmap & Deadline

This document outlines a detailed plan to create a simple 2D roguelike in C using raylib, featuring two distinct game loops: defending your base against hordes and pillaging a dungeon.


1. Realistic Deadline Estimate

  • Overall Estimate: 80120 hours of focused development time (This can be spread over several weeks if youre working part time.)

Note: If youre new to C/game development or raylib, you may want to extend this timeline by an additional 50% or more to cover learning curves and extra debugging.


2. Roadmap / To-Do List

A. Pre-Production and Planning (812 hours)

  • Concept Design:
    • Define the core mechanics for both game loops:
      • Base Defense Mode: Determine horde attack wave system, enemy behavior, and defensive structure mechanics.
      • Dungeon Pillaging Mode: Decide on dungeon layout, exploration dynamics, enemy encounters, and reward systems.
    • Sketch out game flow diagrams and state transitions between modes.
  • Feature List & Scope:
    • Create a brief design document outlining gameplay, UI, and any score/progression systems.
    • Prioritize features (MVP vs. additional polish) to ensure core gameplay is functional.
  • Tool Setup:
    • Install and configure raylib.
    • Set up your development environment (IDE, version control, build scripts).

B. Prototyping Basic Framework (1520 hours)

  • Project Setup:
    • Initialize a basic C project structure and integrate raylib.
    • Create a main game loop with a game state manager to switch between modes.
  • Basic Game Loop Implementation:
    • Implement a splash screen or main menu for mode selection.
    • Add stubs for each mode (base defense and dungeon) to verify mode switching.
  • Input and Rendering:
    • Set up event handling using raylib for keyboard/mouse input.
    • Render simple shapes or sprites as placeholders for the player, enemies, and bases.

C. Base Defense Mode Development (2530 hours)

  • Game Mechanics:
    • Code enemy spawning and implement wave mechanics for base defense.
    • Develop basic AI for enemy movement and targeting the base.
  • Player & Base Interactions:
    • Create defensive structures or player-controlled defenses.
    • Implement collision detection between enemies and the base.
  • Visual Feedback:
    • Display base health/integrity.
    • Include simple animations or state feedback (damage effects, score updates).
  • Testing and Iteration:
    • Continuously test and tweak enemy behavior, spawn rates, and difficulty.

D. Dungeon Pillaging Mode Development (2530 hours)

  • Dungeon Generation:
    • Design a simple procedural (or pre-defined) dungeon layout.
    • Implement room transitions, corridors, or tile-based map structure.
  • Player Mechanics:
    • Code player movement, attacks, and possibly a simple inventory or item system.
    • Define enemy encounters with a basic combat system and AI.
  • Environment Interactions:
    • Add interactive elements such as doors, traps, or treasure chests.
    • Implement transitions between rooms or levels.
  • Basic Story/Progression Elements:
    • Integrate objectives like reaching a goal or collecting treasures.
    • Consider power-ups or enhancements to influence later base defense rounds.
  • Testing and Iteration:
    • Playtest exploration, tweak enemy difficulty, and adjust dungeon layouts to ensure engagement.

E. Integration, Polish, and Debugging (1020 hours)

  • Integration:
    • Seamlessly connect the two modes so that players can transition between them.
    • Implement transitions (e.g., carrying over score or narrative cues).
  • Polish:
    • Refine graphics and animations (using temporary assets if necessary).
    • Add sound effects and background music for an improved player experience.
  • Debugging & Optimization:
    • Thoroughly playtest for bugs and balance gameplay.
    • Optimize performance, particularly when managing multiple on-screen entities.
  • Final Touches:
    • Develop a simple scoring or progression system, if desired.
    • Implement a basic UI for health, score, and game mode transitions.

F. Buffer and Extra Time

  • Extra Time (Optional): Reserve an additional 1020% of the total planned hours for unforeseen challenges or potential extra features.

3. Final Considerations

  • Iteration: Game development is iterative. Be prepared to revisit and refine early stages as new challenges or ideas arise.
  • Scope Management: Focus initially on a minimal viable product (MVP) that covers both game modes. Additional features can be added once core gameplay is solid.
  • Learning Curve: If you are less experienced with raylib or game development in C, consider using online tutorials and community forums for additional guidance.

Good luck with your project!