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.
- Implement
-
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.
- Create
-
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.
- Implement
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.
- Create
-
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
withCard
andDeck
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.
- Create
-
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).
- Create an
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.
- Create
-
Sprint 10: Event System
- Create
screens/events.py
. - Implement random events between combat encounters with player choices.
- Create
-
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.