BGF 5 Programming: IA generativa, debugging e sopravvivenza nelle codebase

26 Novembre 2025

Il penultimo appuntamento del 2025 di Bologna Game Farm si è svolto il 19 novembre, riunendo sviluppatori, studenti e professionisti con una serie di talk tecnici dedicati al futuro del game development. Dall’impatto dell’intelligenza artificiale generativa sui videogiochi fino alla gestione delle codebase più complesse, l’evento ha messo al centro temi pratici, sorprendenti e soprattutto radicati nell’esperienza reale di chi sviluppa giochi ogni giorno.

 

L’IA generativa nel game development

L’intervento di Vincenzo Armandi di Effingo ha aperto la giornata con una panoramica di quello che definisce “un cambio di paradigma” nello sviluppo dell’intelligenza artificiale per videogiochi.

Il game development sta vivendo una fase di profonda trasformazione grazie ai Large Language Models (LLM) e all’intelligenza artificiale generativa, che stanno ridefinendo le modalità di creazione, interazione e narrazione nei videogiochi. L’impatto non è solo tecnologico, ma anche culturale: l’AI ridefinisce il concetto stesso di esperienza videoludica, permettendo la nascita di giochi che si evolvono in base alle scelte, alle emozioni e al linguaggio del giocatore, inaugurando una nuova era di creatività condivisa tra uomo e macchina.

Il tradizionale approccio basato sui behavior tree mostra limiti evidenti quando la complessità del gioco cresce: è poco scalabile, rigido e richiede una manutenzione costante.
Il nuovo orizzonte invece è un’IA basata su modelli generativi, organizzata in un ciclo:

Perceive → Reason → Act

Una struttura che permette agli NPC non solo di reagire, ma anche di improvvisare, adattandosi al contesto e dando vita a comportamenti più credibili.

API cloud o modelli locali?

Successivamente sono stati distinti due grandi approcci tecnici:

  • API-based, affidandosi a modelli esterni in cloud: facile da implementare, ma con problemi di latenza e dipendenza da servizi terzi.
  • Locale, con modelli eseguiti direttamente sulla macchina: più costoso e complesso, ma ideale per esperienze senza lag e con il massimo controllo.

Per chi desidera sperimentare senza perdersi nella complessità, Armandi ha segnalato una serie di tool accessibili che permettono di avvicinarsi all’IA generativa: LM Studio, Ollama, ComfyUI. Sono soluzioni che rendono possibile testare modelli localmente per poi  integrarli gradualmente nei propri progetti.

Il codice dalla teoria alla realtà

Il talk di Tomas Bacchiocca di Overkillas è stato un tuffo nella realtà quotidiana del programmatore di videogiochi.
Si parte da una constatazione semplice: quando si entra in una codebase esistente, quello che ci si aspetta raramente coincide con quello che si  troverà..

Molti sviluppatori immaginano di iniziare subito a programmare implementando sistemi e meccaniche innovative. Invece, molto più spesso ci si ritrova davanti a: una codebase costruita in più anni, migliaia di file e un ecosistema di bug che chiede disperatamente attenzione.

Il debugging come superpotere

Il debugging è uno strumento didattico potentissimo:

“Debbugare ti insegna come funziona il gioco meglio della documentazione — soprattutto quando la documentazione… non c’è.”

Passare attraverso errori, flussi di codice spezzati e sistemi incrociati permette di capire davvero l’architettura del progetto.

Il pericolo del codice zombie

Uno dei problemi più insidiosi è Il codice zombie: funzioni abbandonate, sistemi iniziati e mai rifiniti, commenti inesistenti, variabili dimenticate.
Sono pezzi di codice che non si sa più che funzione abbiano, se servano ancora o se possano essere rimossi — un incubo per chi eredita il progetto.

Scrivere per il “te stesso del futuro”

La conclusione è una regola d’oro per ogni sviluppatore:

  • Commenta
  • Comunica
  • Rendi leggibile ciò che scrivi

Questo metodo si rivelerà un aiuto prezioso quando occorrerà rimettere mano al codice, magari a distanza di tempo. 

 

Sopravvivere al codice: principi, pattern e buone pratiche per sopravvivere alla complessità dello sviluppo

Moreno Lovato di RuneHeads ha parlato della creazione di un videogioco non solo in quanto atto creativo, ma come esercizio di equilibrio tra idee, tecnologia e tempo.

Il concetto di base è che l’architettura è al servizio del gioco e non viceversa. Una buona struttura del codice può:

  • sostenere la complessità
  • ridurre i costi
  • favorire la collaborazione 
  • lasciare spazio alla creatività

Attraverso esempi, analogie e casi reali, è stato spiegato come riconoscere le red flag che portano al caos e come applicare pattern e principi di progettazione per mantenere il controllo del progetto nel tempo.

Dall’efficienza del ciclo agile alla leggibilità del codice, dai pattern ai principi come DRY, KISS e SRP, il talk è stata fatta una panoramica chiara ed esaustiva di cosa significhi costruire un’architettura solida ma leggera: abbastanza robusta da sostenere il progetto, ma flessibile per permettere al gioco di evolvere.

 

Engineering gameplay systems: dare ordine alla complessità attraverso sistemi di gameplay modulari

Davide Mercurio Lead Game Programmer Nacon Studio Milan ha spiegato come gestire un progetto quando diventa complesso dal punto di vista della programmazione.

Nel corso di progetti complessi, i sistemi di gameplay tendono a moltiplicarsi e intrecciarsi, rischiando di diventare difficili da mantenere e far evolvere.

Sono state esplorate le diverse modalità con cui affrontare il problema attraverso la costruzione di sistemi modulari, progettati per comunicare tra loro in modo chiaro e scalabile:

  • la Collection, un framework che gestisce token e valori come base dati condivisa tra diversi sistemi di gameplay
  • le Condition che permettono di reagire a eventi di gioco in modo flessibile
  • il Save System, mostrando come sfruttare le funzionalità native di Unreal Engine per serializzare lo stato del mondo di gioco

Technical art: il vincolo tecnico come linguaggio espressivo

Andrea Tabacco e Lara Giannotti di Antab Studio hanno raccontato come nel contesto videoludico, l’aspetto artistico sia costantemente mediato da vincoli tecnici, specialmente nello sviluppo multipiattaforma.
Attraverso una breve retrospettiva sui lavori di Antab Studio, è stato approfondito come la customizzazione di shader e pipeline di sviluppo, unita ad un approccio volto non ad aggirare i limiti, ma ad usarli come leva creativa, possa innalzare il livello produttivo anche di un piccolissimo team.

 

Porting che passano la submission: errori da non ripetere

Matteo Manicone di More Games Studio ha iniziato definendo il concetto di “porting” come  il processo di adattamento di un software o di un componente hardware per farlo funzionare su una piattaforma diversa da quella per cui è stato originariamente creato

Successivamente sono state analizzate:

  • le modalità con cui portare un gioco PC su console, evitando gli errori più comuni
  • come accedere ai portali e ai devkit
  • cosa cambia davvero tra le console e quali controlli fare prima di iniziare.

Sono stati, inoltre, approfonditi diversi concetti: da “cosa sistemare e in che ordine” (asset pesanti, input, UI, salvataggi, performance) fino a test, submission e release. 

Per finire una panoramica su “Do’s & don’ts” e “horror stories” realmente accadute e trasformate in linee guida per ridurre rischi e ritardi e arrivare così allo store con più serenità e maggiori probabilità di approvazione.