Development Roadmap

Medieval Deck's development is structured into a 15-sprint plan, ensuring incremental progress and a clear path to a Minimum Viable Product (MVP). This document, derived from roadmap_features_detalhado.txt, outlines the specific features for each sprint.


Phase 1: Foundation (Sprints 1-4)

Focus: Core structure, UI, and AI integration.

  • Sprint 1: Base Structure

    • Create project directory structure.
    • Initialize Pygame with a basic game loop in main.py.
  • Sprint 2: Menu Screen

    • Implement screens/menu.py with a title and buttons (Play, Options, Exit).
    • Integrate the reusable utils/buttons.py system.
    • Enable navigation from the menu to the (placeholder) selection screen.
  • Sprint 3: Character Selection Screen

    • Create screens/selection.py to display the three hero choices.
    • Dynamically load and display hero-specific backgrounds.
    • Show hero descriptions and stats upon selection.
  • Sprint 4: AI Integration & Optimization

    • Implement gen_assets/generate_backgrounds.py with a fixed seed for reproducibility.
    • Integrate the RTX 5070 optimizer (rtx_optimizer.py).
    • Generate high-quality hero sprites and UI elements.
    • Implement asset caching to avoid re-generation.

Phase 2: Core Mechanics (Sprints 5-8)

Focus: Implementing the main gameplay and combat loop.

  • Sprint 5: Initial Combat Screen

    • Create screens/gameplay.py.
    • Display combat background, player/enemy sprites, and a basic HUD with health/mana bars.
  • Sprint 6: Turn System

    • Implement a turn-based system to alternate between player and enemy actions.
    • Display whose turn it is in the UI.
  • Sprint 7: Card System

    • Create cards/deck.py with Card and Deck classes.
    • Define card properties: name, type (attack, defense), mana cost, and effect.
    • Render the player's hand and allow cards to be selected and played.
  • Sprint 8: Simple Enemy AI

    • Create an Enemy class with basic attributes.
    • Implement simple AI logic (e.g., attack if health is high, chance to defend if low).

Phase 3: Progression & Variety (Sprints 9-12)

Focus: Building out the roguelike experience with progression and events.

  • Sprint 9: Win/Loss Conditions

    • Create screens/gameover.py.
    • Detect win (enemy HP <= 0) and loss (player HP <= 0) conditions.
    • Display a results screen with a restart option.
  • Sprint 10: Event System

    • Create screens/events.py.
    • Implement random events between combat encounters with player choices.
  • Sprint 11: Card Shop

    • Implement a shop screen where players can purchase new cards using currency earned from battles.
  • Sprint 12: Relics System

    • Create a system for passive upgrade items (relics).
    • Implement relic acquisition and display active relics on the HUD.

Phase 4: Polish & MVP (Sprints 13-15)

Focus: Tying everything together, adding polish, and completing the MVP.

  • Sprint 13: Phase Progression

    • Structure a full game run: Combat → Event → Combat → Shop → Boss.
    • Implement difficulty scaling and different enemies for each phase.
  • Sprint 14: Animations & Feedback

    • Add visual effects for card usage, attacks, and damage.
    • Implement screen transitions (e.g., fades).
    • Add basic sound effects.
  • Sprint 15: Polishing & MVP

    • Finalize UI elements, fix bugs, and balance gameplay.
    • Complete a fully playable game loop from start to finish.
    • Finalize documentation and create a credits screen.