Game Engines and MAS: Tuplespace-based Interaction in Unity
| |
|
|
@mastersthesis{cerbaraunitylinda2017,
abstract = {Game Engines are gaining more and more importance in both industrial field - enabling an easy development of modern applications and videogames - and in the research field, with a particular regard to multi-agent systems (MAS). Their expressive power, along with modern technologies support and ad- vanced functionalities, allow the design and creation of complex systems ef- ficiently. While becoming more stable and supporting new functionalities, Game Engines are nowadays a well-suited reality, therefore reliable in order to create modern, advanced systems and applications (e.g. augmented/virtu- al/mixed reality, immersive simulations, modern videogames, 3D world de- sign). Nevertheless, they still lack of proper general abstractions, which could be suitable to be used for tackle complexity when designing and implementing complex systems. For this purpose, the attempt to exploit Game Engines as integrated de- velopment environments where MAS abstractions are well-suited to tackle complexity is worth to be done, in order to bring agent-oriented software engineering and coordination models as main providers of new solutions and solving technology problems with the aid of Game Engines. In this dissertation, we analyse the Unity3D Game Engine and present two prototype API, meant to exploit a previous integration of Prolog within the same framework to provide Unity3D of a new abstraction level, enabling a tuplespace based interaction and coordination model to be used by program- mers via LINDA primitives. Those libraries are organized around Unity3D features, providing an easy- to-use and accessible way to approach coordination and interactions among objects when building complex systems with Unity3D, bringing all those properties and advantages that are well-established in MAS context, both from the complex systems engineering point of view and management of so- cial interactions side. All new functionalities are tested using proper case studies, which illustrate their expressiveness, correctness and efficacy.},
amseprint = {15627},
amspractice = {1090915},
author = {Cerbara, Mattia},
available = {2017-09-01},
contact = {Mariani, Stefano},
cosupervisor = {Mariani, Stefano},
cycle = {LM},
description = {Investigate to what extent it is possible to support Tuplespace-based Interaction in Unity3D game engine.},
keywords = {multi-agent system, game engines, Unity3D, Prolog, tuple space, coordination, Linda, interaction, agent society, MAS model},
language = {en},
month = mar,
start = {2017-09-01},
supervisor = {Omicini, Andrea},
title = {Game Engines and MAS: Tuplespace-based Interaction in Unity},
translatedabstract = {I Game Engines stanno acquisendo sempre pi\`{u} importanza sia in ambito industriale, dove permettono lo sviluppo di applicazioni moderne e videogiochi, sia in ambito di ricerca, in particolare nel contesto dei sistemi multi-agente (MAS). La loro capacit\`{a} espressiva, unita al supporto di tecnologie e funzionalit\`{a} innovative, permette la creazione di sistemi moderni e complessi in maniera pi\`{u} efficiente: il loro continuo avanzamento tecnologico li ha portati ad essere una realt\`{a} su cui fare affidamento nella produzione di vari applicativi diversi, come applicazioni di realt\`{a} aumentata/virtuale/mista, simulazioni immersive, costruzione di mondi virtuali e 3D, ecc. Ciononostante, soffrono la mancanza di proprie astrazioni e meccanismi che possano essere affidabili e utilizzati per aggredire la complessit\`{a} durante il design di sistemi complessi. Il tentativo di sfruttare le caratteristiche della teoria dei MAS all'interno degli ambienti di sviluppo dei Game Engines procede secondo questa direzione: integrando le astrazioni costituenti i MAS all'interno dei Game Engines, con particolare riferimento ai modelli di coordinazione tra agenti, pu\`{o} portare a nuove soluzioni, riuscendo a risolvere problemi tecnologici grazie all'aiuto degli engine grafici. Questa tesi utilizza il Game Engine Unity3D proponendo due librerie C#, le quali sfruttano una precedente integrazione dello stesso framework con il Prolog per l'abilitazione di un modello di interazione e coordinazione basato su spazi di tuple, utilizzabile tramite l'implementazione di primitive LINDA. Le librerie offrono interfacce di programmazione (API) sfruttabili dai programmatori C# Unity3D per integrare nelle loro creazioni il supporto a tale modello, con una nuova modalit\`{a} per la gestione della coordinazione tra oggetti in Unity3D e fornisce importanti propriet\`{a}, essendo fondamentale nel contesto dei MAS dal punto di vista dell'ingegnerizzazione di sistemi complessi e della gestione delle interazioni tra agenti.},
type = {Master's thesis},
year = 2018
}
abstract = {Game Engines are gaining more and more importance in both industrial field - enabling an easy development of modern applications and videogames - and in the research field, with a particular regard to multi-agent systems (MAS). Their expressive power, along with modern technologies support and ad- vanced functionalities, allow the design and creation of complex systems ef- ficiently. While becoming more stable and supporting new functionalities, Game Engines are nowadays a well-suited reality, therefore reliable in order to create modern, advanced systems and applications (e.g. augmented/virtu- al/mixed reality, immersive simulations, modern videogames, 3D world de- sign). Nevertheless, they still lack of proper general abstractions, which could be suitable to be used for tackle complexity when designing and implementing complex systems. For this purpose, the attempt to exploit Game Engines as integrated de- velopment environments where MAS abstractions are well-suited to tackle complexity is worth to be done, in order to bring agent-oriented software engineering and coordination models as main providers of new solutions and solving technology problems with the aid of Game Engines. In this dissertation, we analyse the Unity3D Game Engine and present two prototype API, meant to exploit a previous integration of Prolog within the same framework to provide Unity3D of a new abstraction level, enabling a tuplespace based interaction and coordination model to be used by program- mers via LINDA primitives. Those libraries are organized around Unity3D features, providing an easy- to-use and accessible way to approach coordination and interactions among objects when building complex systems with Unity3D, bringing all those properties and advantages that are well-established in MAS context, both from the complex systems engineering point of view and management of so- cial interactions side. All new functionalities are tested using proper case studies, which illustrate their expressiveness, correctness and efficacy.},
amseprint = {15627},
amspractice = {1090915},
author = {Cerbara, Mattia},
available = {2017-09-01},
contact = {Mariani, Stefano},
cosupervisor = {Mariani, Stefano},
cycle = {LM},
description = {Investigate to what extent it is possible to support Tuplespace-based Interaction in Unity3D game engine.},
keywords = {multi-agent system, game engines, Unity3D, Prolog, tuple space, coordination, Linda, interaction, agent society, MAS model},
language = {en},
month = mar,
start = {2017-09-01},
supervisor = {Omicini, Andrea},
title = {Game Engines and MAS: Tuplespace-based Interaction in Unity},
translatedabstract = {I Game Engines stanno acquisendo sempre pi\`{u} importanza sia in ambito industriale, dove permettono lo sviluppo di applicazioni moderne e videogiochi, sia in ambito di ricerca, in particolare nel contesto dei sistemi multi-agente (MAS). La loro capacit\`{a} espressiva, unita al supporto di tecnologie e funzionalit\`{a} innovative, permette la creazione di sistemi moderni e complessi in maniera pi\`{u} efficiente: il loro continuo avanzamento tecnologico li ha portati ad essere una realt\`{a} su cui fare affidamento nella produzione di vari applicativi diversi, come applicazioni di realt\`{a} aumentata/virtuale/mista, simulazioni immersive, costruzione di mondi virtuali e 3D, ecc. Ciononostante, soffrono la mancanza di proprie astrazioni e meccanismi che possano essere affidabili e utilizzati per aggredire la complessit\`{a} durante il design di sistemi complessi. Il tentativo di sfruttare le caratteristiche della teoria dei MAS all'interno degli ambienti di sviluppo dei Game Engines procede secondo questa direzione: integrando le astrazioni costituenti i MAS all'interno dei Game Engines, con particolare riferimento ai modelli di coordinazione tra agenti, pu\`{o} portare a nuove soluzioni, riuscendo a risolvere problemi tecnologici grazie all'aiuto degli engine grafici. Questa tesi utilizza il Game Engine Unity3D proponendo due librerie C#, le quali sfruttano una precedente integrazione dello stesso framework con il Prolog per l'abilitazione di un modello di interazione e coordinazione basato su spazi di tuple, utilizzabile tramite l'implementazione di primitive LINDA. Le librerie offrono interfacce di programmazione (API) sfruttabili dai programmatori C# Unity3D per integrare nelle loro creazioni il supporto a tale modello, con una nuova modalit\`{a} per la gestione della coordinazione tra oggetti in Unity3D e fornisce importanti propriet\`{a}, essendo fondamentale nel contesto dei MAS dal punto di vista dell'ingegnerizzazione di sistemi complessi e della gestione delle interazioni tra agenti.},
type = {Master's thesis},
year = 2018
}