Sprint 4 - Polish & Game Flow

Obiettivo

L’obiettivo di questo quarto e ultimo Sprint è quello di rifinire il gioco attraverso refactoring mirati dell’architettura core, completare il testing e migliorare l’interfaccia utente. Al termine dello sprint, il gioco dovrà essere completamente funzionante, privo di bug critici, con un’architettura pulita e ben strutturata (in particolare World e GameController), un’interfaccia rifinita e professionale, e una copertura di test adeguata.

Deadline

La scadenza dello sprint è il 15 ottobre.

Backlog

Nome Descrizione Sprint Task Volontario
GameController Refactoring Ristrutturazione e ottimizzazione del GameController Analisi struttura GameController Giovanni Pisoni
    Refactoring logica core GameController Giovanni Pisoni
    Ottimizzazione gestione stati Giovanni Pisoni
    Pulizia dipendenze GameController Giovanni Pisoni
Testing Core Systems Testing dei sistemi refactorati Test suite GameController Giovanni Pisoni
    Test suite Game Loop Giovanni Pisoni
    Test suite Event System Giovanni Pisoni
    Test integrazione sistemi core Giovanni Pisoni
UI Polish Miglioramenti estetici e funzionali dell’interfaccia Raffinamento Pause Menu Giovanni Pisoni
    Raffinamento Win/Lose Panel Giovanni Pisoni
UI Polish Menu Miglioramenti estetici menu principali Raffinamento Main Menu Giovanni Rinchiuso
    Raffinamento Info Menu Giovanni Rinchiuso
Input Handling Refactoring Adattamento del sistema di input ai nuovi World e GameController Refactoring InputHandler Giovanni Rinchiuso
System Refactoring Adattamento dei system ECS ai nuovi World e GameController Refactoring ElixirSystem Giovanni Rinchiuso
    Refactoring HealthSystem Giovanni Rinchiuso
World Refactoring Ristrutturazione completa del World Analisi struttura World Giacomo Foschi
    Refactoring gestione entità Giacomo Foschi
    Refactoring query sistema Giacomo Foschi
    Ottimizzazione performance World Giacomo Foschi
    Pulizia interfacce World Giacomo Foschi
System Refactoring Advanced Refactoring dei system complessi Refactoring CollisionSystem Giacomo Foschi
    Refactoring CombatSystem Giacomo Foschi
    Refactoring RenderSystem Giacomo Foschi
    Refactoring HealthBarRenderSystem Giacomo Foschi
    Refactoring MovementSystem Giacomo Foschi
    Refactoring SpawnSystem Giacomo Foschi
Testing Infrastructure Testing dei sistemi infrastrutturali Test suite World Giacomo Foschi
    Test suite Grid Logic Giacomo Foschi
    Test suite Entity Management Giacomo Foschi
    Test suite Collision System Giacomo Foschi
Bug Fixing Finale Risoluzione di bug emersi durante il refactoring Identificazione bug post-refactoring Giacomo Foschi
    Risoluzione bug critici Giacomo Foschi
    Risoluzione bug minori Giacomo Foschi

Sprint Review

Lo stakeholder riconosce che il gioco è funzionante e pronto per la consegna. Dal punto di vista del prodotto finale, non ci sono stati cambiamenti significativi rispetto allo Sprint 3: le funzionalità sono le stesse, l’interfaccia è sostanzialmente identica, e l’esperienza di gioco non ha subito modifiche evidenti. Lo stakeholder nota alcuni miglioramenti minori nell’interfaccia e conferma che il gioco è stabile e privo di bug critici. Apprezza il fatto che il team abbia dedicato tempo al consolidamento della qualità interna del progetto, anche se questi sforzi non sono direttamente visibili nell’esperienza utente. Il prodotto finale è completo e soddisfa tutti i requisiti iniziali stabiliti all’inizio del progetto.

Sprint Retrospective

Lo sprint finale ha avuto una durata di nove giorni ed è stato caratterizzato da un refactoring architetturale significativo concentrato su World e GameController, i due componenti più critici del sistema. Questo approccio, pur rischioso nell’ultimo sprint, si è rivelato necessario per migliorare la qualità interna del codice. Il team ha lavorato con grande coordinazione per gestire le dipendenze tra i componenti durante il refactoring.

Cosa è andato bene

  • Il refactoring del World di Giacomo ha migliorato la struttura, rendendola più pulita, efficiente e facile da comprendere rispetto alla versione precedente
  • Il refactoring del GameController ha eliminato molte responsabilità eccessive, rendendo il codice più manutenibile e testabile
  • Il refactoring massiccio dei system (CollisionSystem, CombatSystem, RenderSystem, HealthBarRenderSystem, MovementSystem, SpawnSystem) ha migliorato significativamente la qualità dell’architettura ECS
  • Il testing parallelo ha permesso di identificare immediatamente eventuali regressioni causate dal refactoring
  • Nonostante il refactoring importante, non sono stati introdotti bug critici nel sistema

Cosa può essere migliorato

  • Alcuni test hanno dovuto essere riscritti completamente a causa dei cambiamenti architetturali
  • La scelta di prioritizzare la qualità del codice rispetto alle funzionalità visibili all’utente potrebbe non essere stata ottimale per l’ultimo sprint