Utilizzo di tecniche di IA per la generazione di Comportamenti Emergenti nei PNG
View/ Open
Author
Seves, Lorenzo <2003>
Date
2026-02-20Data available
2026-02-26Abstract
La presente tesi, redatta in collaborazione con Untold Games S.r.l, ha l’obiettivo l’automazione di parte del processo di creazione e implementazione dei comportamenti dei Personaggi Non Giocanti (PNG) nel videogioco City 20, sviluppato utilizzando Unreal Engine 5.5.4.
Al fine di ridurre la necessità di una conversione manuale dal linguaggio naturale, impiegato dal team di design e narrativa del gioco, al codice C++ interpretabile dal motore di gioco, è stato deciso di impiegare i Large Language Models, i quali, opportunamente guidati tramite un prompt strutturato, risultano in grado di tradurre descrizioni testuali in codice.
In particolare, i comportamenti desiderati vengono inizialmente descritti in linguaggio naturale; successivamente, tramite strumenti di intelligenza artificiale, tali descrizioni vengono convertite in una Macchina a Stati Finiti eseguibile in linguaggio Python. Il risultato viene quindi importato all’interno dell’editor di Unreal Engine, dove vengono istanziati oggetti della classe personalizzata Snippet, una struttura dati visualizzabile sia in forma matriciale sia come grafo, ulteriormente modificabile dall’utente e interpretabile dai sistemi di gioco.
Il processo di importazione avviene tramite un plugin sviluppato appositamente, denominato SnippetImport, che può essere invocato da riga di comando attraverso un commandlet dedicato. Gli oggetti Snippet risultanti vengono infine salvati all’interno del progetto Unreal. This thesis, developed in collaboration with Untold Games S.r.l., aims to automate part of
the process involved in the creation and implementation of Non-Player Character (NPC)
behaviors in the video game City 20, developed using Unreal Engine 5.5.4.
In order to reduce the need for manual conversion from natural language, used by the
game’s design and narrative teams, to C++ code interpretable by the game engine, Large
Language Models were employed. When properly guided through a structured prompt,
these models are capable of translating textual descriptions into code.
Specifically, the desired behaviors are first described in natural language; subsequently,
through artificial intelligence tools, these descriptions are converted into a Finite State
Machine executable in the Python programming language. The resulting output is then
imported into the Unreal Engine editor, where instances of a custom class called Snippet
are created. This data structure can be visualized both in matrix form and as a graph, can
be further modified by the user, and is interpreted by the game systems.
The import process is carried out through a custom-developed plugin, named
SnippetImport, which can be invoked from the command line via a dedicated commandlet.
The resulting Snippet objects are finally saved within the Unreal project.
Type
info:eu-repo/semantics/bachelorThesisCollections
- Laurea Triennale [4361]

