Integrazione di Agenti con Machine Learning per Dynamic Difficulty Adjustment (DDA) nei videogiochi multiplayer

   page       attach   

Questa tesi esplora l’integrazione tra agenti intelligenti e tecniche di machine learning per implementare un sistema di Dynamic Difficulty Adjustment (DDA) in videogiochi multiplayer, con particolare attenzione alla sua applicazione in Unity. L’obiettivo principale è stato sviluppare un ambiente di gioco dinamico e bilanciato, in cui l’adattamento automatico della difficoltà contribuisca a migliorare l’esperienza dei giocatori. 

Nella prima parte della tesi, viene introdotto il contesto dei motori di gioco, con un’analisi comparativa tra i principali strumenti disponibili, e viene giustificata la scelta di Unity come piattaforma di sviluppo. Successivamente, vengono approfonditi gli aspetti tecnici relativi alla programmazione in C# e alle funzionalità offerte da Unity, come le richieste web (Unity Web Request) e il pacchetto Mirror per lo sviluppo di videogiochi multiplayer. 

La seconda parte si concentra sull’architettura BDI (Belief-Desire-Intention), utilizzata per gestire agenti intelligenti all’interno del sistema. In particolare, vengono analizzati i linguaggi di programmazione per agenti, come JASON, e la loro integrazione in un ambiente Java, con un focus sull’interazione tra gli agenti e l’ambiente di gioco tramite API REST. 

La terza parte introduce le tecniche di machine learning, con una descrizione dei modelli utilizzati, delle metriche di valutazione e del processo di training. Il modello è stato progettato per prevedere situazioni di svantaggio nel gameplay, consentendo agli agenti di adattare dinamicamente le regole del gioco per bilanciare la competizione. 

I risultati ottenuti dimostrano l’efficacia dell’approccio proposto nel migliorare l’equità e l’engagement dei giocatori. Inoltre, il sistema si è dimostrato robusto e flessibile, con buone prestazioni in termini di accuratezza delle predizioni e tempi di risposta. Le conclusioni evidenziano il potenziale di questa integrazione per lo sviluppo di nuove esperienze di gioco, mentre gli sviluppi futuri includono potenziali espansioni del sistema in modo da ricoprire futuri scenari più complessi. 

Questa ricerca rappresenta un passo significativo verso l’adozione di tecnologie intelligenti nel settore dei videogiochi e della programmazione ad agenti, fornendo un framework versatile e innovativo per la creazione di giochi adattivi, coinvolgenti e una base di sviluppo per quello che è il collegamento tra agenti e machine learning.

keywordsUnity, C#, Java, AgentSpeak(L), JASON, JSON, Game Develop, Game Design, Game programming, Machine Learning, AI, Classification, Random Forest, Mirror, Flask, Python, Di, Multiplayer Game, Distributed System