Sprint 1 - Foundation & Core Systems

Obiettivo

L’obiettivo di questo primo Sprint è quello di creare le fondamenta del gioco, implementando il core dell’engine, i sistemi di input ed eventi, e i menu di base. Al termine dello sprint, l’utente dovrà poter navigare tra i menu principali (Main Menu e Info Menu) e visualizzare la griglia di gioco vuota. Il game loop principale dovrà essere funzionante e pronto per integrare le meccaniche di gioco negli sprint successivi.

Deadline

La scadenza dello sprint è il 16 settembre.

Backlog

Nome Descrizione Sprint Task Volontario
Project Setup Configurazione iniziale del progetto per adattarsi alla metodologia agile SCRUM Configurazione repository Giacomo Foschi
    Setup build SBT Giacomo Foschi
    Definizione architettura MVC Giacomo Foschi
    Setup CI/CD Giacomo Foschi
Game Engine Core Implementazione del cuore del game engine Implementazione GameState Giovanni Pisoni
    Definizione trait GameEngine Giovanni Pisoni
    Implementazione architettura base engine Giovanni Pisoni
    Implementazione logica pausa gioco Giovanni Pisoni
Game Loop Creazione del main loop di gioco Implementazione main loop Giovanni Pisoni
    Implementazione gestione delta time Giovanni Pisoni
    Implementazione cicli di aggiornamento Giovanni Pisoni
Event System Sistema di gestione eventi Definizione eventi Giovanni Pisoni
    Implementazione coda eventi Giovanni Pisoni
    Implementazione processamento eventi Giovanni Pisoni
Game Loop Rendering Integrazione del sistema di rendering nel game loop principale Integrazione rendering nel loop principale Giovanni Pisoni
UI Framework Setup Implementazione del sistema base di rendering Implementazione sistema base di rendering Giacomo Foschi
    Implementazione gestione finestra Giacomo Foschi
Main Menu UI Realizzazione della schermata principale del gioco Creazione schermata principale Giacomo Foschi
    Implementazione bottone Start Giacomo Foschi
    Implementazione bottone Info Giacomo Foschi
    Implementazione bottone Exit Giacomo Foschi
Pause Menu UI Realizzazione della schermata di pausa Creazione schermata di pausa Giacomo Foschi
    Implementazione bottone Resume Giovanni Pisoni
    Implementazione bottone Exit Giovanni Pisoni
Info Menu UI Creazione della schermata informativa Implementazione schermata regole Giovanni Rinchiuso
    Implementazione descrizione maghi Giovanni Rinchiuso
    Implementazione descrizione troll Giovanni Rinchiuso
Menu State Management Gestione della navigazione tra i vari menu Implementazione gestione navigazione tra menu Giovanni Rinchiuso
    Implementazione transizioni di stato Giovanni Pisoni
Input Handling System Sistema di gestione degli input dell’utente Implementazione gestione input utente Giovanni Rinchiuso
    Implementazione validazione input Giovanni Rinchiuso
    Implementazione key mapping Giovanni Rinchiuso
ECS Base Models Definizione dei modelli base per l’Entity Component System Definizione trait Entity Giovanni Rinchiuso
    Definizione trait World Giovanni Rinchiuso
    Definizione trait System Giovanni Rinchiuso
    Definizione enum base Giovanni Rinchiuso
Grid Logic Implementazione della struttura dati per la griglia di gioco (5x9) Implementazione struttura dati griglia Giacomo Foschi
    Implementazione logica di posizionamento Giacomo Foschi
    Implementazione validazioni Giacomo Foschi
Basic Grid Visualization Rendering base della griglia vuota Implementazione visualizzazione griglia Giacomo Foschi
    Implementazione rendering celle Giacomo Foschi
    Implementazione sistema coordinate Giacomo Foschi
Configuration System Sistema di gestione delle configurazioni Definizione costanti di gioco Giacomo Foschi
    Definizione valori di bilanciamento Giacomo Foschi
    Implementazione gestione impostazioni Giacomo Foschi
    Implementazione creazione componenti Giacomo Foschi

Sprint Review

Lo stakeholder si ritiene soddisfatto del lavoro svolto durante il primo sprint. Gli obiettivi prefissati sono stati raggiunti: il sistema di menu è completamente navigabile, permettendo all’utente di spostarsi fluentemente tra Main Menu e Info Menu. La griglia di gioco viene visualizzata correttamente nella sua forma base, mostrando tutte le 45 celle (5x9) con un sistema di coordinate funzionante.

Sprint Retrospective

Lo sprint ha avuto una durata di una settimana, dedicando la prima fase principalmente alla configurazione iniziale del progetto e allo studio approfondito dell’architettura. La suddivisione dei task è risultata nel complesso equilibrata tra i tre membri del team, con una chiara separazione delle responsabilità: Giovanni Pisoni sul core engine, Giovanni Rinchiuso sui sistemi di input e UI, e Giacomo Foschi sulla configurazione e sulla griglia.

Cosa è andato bene

  • La configurazione iniziale del progetto (repository, SBT, CI/CD) è stata completata rapidamente, permettendo a tutti di iniziare lo sviluppo senza blocchi tecnici
  • L’architettura MVC ed ECS è stata definita in modo chiaro fin dall’inizio, facilitando il lavoro parallelo
  • La comunicazione tra i membri del team è stata efficace, con meeting giornalieri produttivi

Cosa può essere migliorato

  • Il carico di lavoro per questo sprint si è rivelato leggermente eccessivo, nonostante gli obiettivi siano stati raggiunti

Action items per il prossimo sprint

  • Monitorare il carico di lavoro per evitare sovraccarichi e garantire un ritmo sostenibile