This document outlines a research roadmap for bridging the gap between multi-agent systems (MAS) and game engines (GE). It finds that while GEs excel at modeling environments, they provide weak support for agency and sociality as conceptualized in MAS. The roadmap proposes a "mirror worlds" approach where GEs represent environments and MAS handle autonomy and social interaction. A case study applies this by implementing the dining philosophers problem in Unity3D, with agents, chairs and a table modeled as game objects that coordinate through messaging. The roadmap concludes that pursuing GE-based MAS infrastructure could integrate the technologies' strengths while avoiding forcing either to handle responsibilities it is not meant for.
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Game Engines to Model MAS: A Research Roadmap
1. Game Engines to Model MAS
A Research Roadmap
Stefano Mariani Andrea Omicini
{s.mariani, andrea.omicini}@unibo.it
Dipartimento di Informatica – Scienza e Ingegneria (DISI)
Alma Mater Studiorum – Universit`a di Bologna
XVII Workshop “From Objects to Agents” (WOA 2016)
Catania, Italy, 30 July 2016
Mariani & Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 1 / 34
2. Outline
1 Motivation & Goal
2 Research Landscape
3 GE & MAS
4 Discussion & Roadmap
Mariani & Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 2 / 34
3. Motivation & Goal
Outline
1 Motivation & Goal
2 Research Landscape
3 GE & MAS
4 Discussion & Roadmap
Mariani & Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 3 / 34
4. Motivation & Goal
Motivation & Goal I
huge gap in technological advancement reached by Game Engines
(GE) w.r.t. technological level of agent-oriented technologies—e.g.
multi-agent systems (MAS)
billionaire industry
millions testers (gamers too are testers!)
stability, performance, usability of software products pushed to
unprecedented and incomparable quality
⇒ improve overall quality of MAS technologies
huge gap in conceptual and design abstractions provided by GE w.r.t.
agent-oriented software engineering
poor agenthood notion
poor notion of sociality
⇒ improve level of abstraction of GE
Mariani & Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 4 / 34
5. Motivation & Goal
Motivation & Goal II
other reasons to devote research efforts
provide new / improved solutions to, e.g., virtual / mixed / augmented
reality systems
widen the reach of state-of-art integration efforts, focussed on specific
technology-level goals—no general-purpose game-based agent-oriented
model
Goal
Outline a viable research roadmap to follow towards bridging the
conceptual and technical gap between MAS and GE
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 5 / 34
6. Research Landscape
Outline
1 Motivation Goal
2 Research Landscape
3 GE MAS
4 Discussion Roadmap
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 6 / 34
7. Research Landscape
State-of-art: Achievements
QuizMASter links MAS agents to game engines characters for educational
learning [BL11]
CIGA models both agents and environment for general-purpose
virtual agents in virtual environments [vOVD12]
GameBots provides a development framework and runtime for testing
multi-agent systems in virtual environments [KVS+02]
UTSAF focusses on environment modelling for distributed
simulations in the military domain [PMHL04]
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 7 / 34
8. Research Landscape
State-of-art: Shortcomings
! except for CIGA, other approaches consider the technological level
solely while pursuing integration—no model, no architecture, etc.
! integration is domain- and goal-specific
! most approaches provide
rich abstractions to deal with the environment
very weak notions of agency
basically nothing for sociality
Remark
Agent-oriented technology are quite strong on the agency side, mixed
feelings for the social environment sides—maybe exception made for
TuCSoN [OZ99], CArtAgO [RVO07] friends
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 8 / 34
9. Research Landscape
GE: Analysis
Rationale
We examine some among most popular GE—Unity3D and Unreal Engine
detect abstractions and mechanisms likely to have a counterpart in
MAS—or providing some support in re-formulating MAS abstractions
highlight opportunities for closing conceptual / technical gaps
hindering integration
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 9 / 34
10. Research Landscape Looking at GE through MAS Eyes
Unity3D I
Main abstractions (sort of)
game object only first-class citizen, everything a scene contains is a game
object—a human player, a Non-Player Character (NPC), an
environmental item, etc.
script piece of code defining the behaviour to be attached to a
game object
executed by the unique control loop
each script executed sequentially
no concurrency, all scripts must be executed once within each
frame rendering step
co-routine sort of workaround to sequentiality imposed by scripts,
enables partition and distribute a computation over multiple
frame rendering steps
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 10 / 34
11. Research Landscape Looking at GE through MAS Eyes
Unity3D II
gap w.r.t. MAS
no first-class agenthood abstraction provided
societal abstraction missing
environment modelling, control, and interaction far superior w.r.t.
average MAS technology1
⇒ e.g. many forms of agent-environment interaction such as shaping
movement pathways, handling obstacle avoidance and collision
detection, etc.
opportunities
combine a behavioural script with a co-routine for injecting (some
degree of) autonomy into game objects—towards agenthood
some forms of message passing among game objects may enable
primitive message-based coordination
1
JADE [BCG07], Jason [BHW07], RETSINA [SPVVG03], TuCSoN [OZ99],
CArtAgO [RPV11]
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 11 / 34
12. Research Landscape Looking at GE through MAS Eyes
Unreal Engine I
Main abstractions (sort of)
game object similar to Unity3D game objects
actor any component which can be rendered and whose behaviour is
enacted by a controller—characters are actors with humanoid
resemblance and capabilities (e.g. walking)
blueprint similar to Unity3D script, the code specifying the behaviour of an
actor
direct blueprint communication enables blueprints to communicate one-to-one
event dispatcher producer in a publish/subscribe architecture
blueprints are consumers
events are game-related happenings (e.g. level started,
damage taken, shots fired, etc.) triggering execution of
blueprints code
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 12 / 34
13. Research Landscape Looking at GE through MAS Eyes
Unreal Engine II
gap w.r.t. MAS
? agenthood through controllers?
? societies through event-groups?
environment modelling, control, and interaction superior w.r.t. average
MAS technology, similarly to Unity3D
opportunities
agenthood can be reconstructed based on actors and blueprints
social interaction may be engineered on top of event dispatchers and
direct blueprint communications
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 13 / 34
14. GE MAS
Outline
1 Motivation Goal
2 Research Landscape
3 GE MAS
4 Discussion Roadmap
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 14 / 34
15. GE MAS
The Mirror Worlds Approach
mirror worlds (MW) are virtual representations of the “real” world
[RCBV15]—which, as in our case, may be virtual too
the MW model may help integrating GE and MAS
⇒ MAS agents may have GE avatars if they need a virtual
representation—e.g. for interaction-related reasons
⇒ MAS agents rely on GE to represent the physical / virtual environment
they are immersed in—thus, situatedness-related issues
⇒ the social dimension might be kept within the MAS world if direct
communication between agents is needed . . .
⇒ . . . or expanded to the GE virtual world if communication mediated by
the environment is needed
! nevertheless, the virtual world (GE) may influence social interaction in
the MAS world—e.g. by either facilitating or hindering discovery
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 15 / 34
16. GE MAS Case Study: Dining Philosophers with Unity3D
Situated Dining Philosophers: Scenario I
A well-known coordination problem, tackled in a shared-space setting while
extended towards situatedness
5 philosophers share 1 table with 1 spaghetti bowl, 5 smaller bowls, 5
chopsticks, and 5 chairs
! philosophers need 2 chopsticks each to eat
a table object plays the role of the tuplespace, chopstick objects are
shared tuples, and chair objects decouple and mediate interaction,
while enabling situated coordination
! philosopher ⇐⇒ chopsticks assignment dynamically based on
position (chair) at the table
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 16 / 34
17. GE MAS Case Study: Dining Philosophers with Unity3D
Situated Dining Philosophers: Scenario II
Figure: Gray philosophers are thinking; green chairs are free
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 17 / 34
18. GE MAS Case Study: Dining Philosophers with Unity3D
Situated Dining Philosophers: GE-based Solution I
tuple space =⇒ table game object decorated with
a tupleSet (list of strings) representing the tuple space
a inputQueue tracking requests for tuples (Unity3D messages)
a pendingQueue tracking yet unsatisfied requests
the script implementing tuple space API
request types supported: out, in, rd
operationally, at every frame rendering step
1 pendingQueue is considered first, checking request type
if out, pendingQueue is checked looking for matching requests,
which are served (if any), or tuple is put into tupleSet (if none)
if in, when satisfiable, matching tuple is returned and removed from
tupleSet—same for rd except removal
2 inputQueue is considered then
3 in case requests cannot be satisfied, they are either moved from
inputQueue to pendingQueue, or kept in the latter
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 18 / 34
19. GE MAS Case Study: Dining Philosophers with Unity3D
Situated Dining Philosophers: GE-based Solution II
agents =⇒ humanoid game objects requesting coordination
primitives synchronously through co-routines
agents wait for reply by suspending execution
check reply in next frame
mediators (e.g., ACC [Omi02]) =⇒ chair game objects decoupling
interaction while supporting (spatial) situatedness, by enabling
philosophers to acquire chopsticks based on seat
philosopher agents ask for chopsticks to the chair they are sit on,
rather than directly to table
! philosophers do not explicitly refer chopsticks—not by name, neither by
address, etc.
! chairs knows which chopsticks to consider through raytracing, enabling
game objects to discover other objects
chairs ask table for the right chopsticks on behalf of the philosopher
sitting on them
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 19 / 34
20. GE MAS Case Study: Dining Philosophers with Unity3D
Situated Dining Philosophers: Execution I
1 philosophers think until hungry
2 when hungry, they seek for a free chair—through raytracing
3 when found, philosopher goes there and sits, waiting to acquire
chopsticks
routing and collision avoidance—free lunch thanks to GE
4 when occupied, chairs understand which chopsticks to acquire based
on position w.r.t. table—through raytracing
spatial situatedness—free lunch thanks to GE
5 if chopsticks requests satisfied, the philosopher starts eating
6 if at least one request is not satisfied, the philosopher waits
! all interactions happen through Unity3D messaging facilities
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 20 / 34
21. GE MAS Case Study: Dining Philosophers with Unity3D
Situated Dining Philosophers: Execution II
Figure: Video available at https://youtu.be/tLFaDkcxsE8
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 21 / 34
22. Discussion Roadmap
Outline
1 Motivation Goal
2 Research Landscape
3 GE MAS
4 Discussion Roadmap
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 22 / 34
23. Discussion Roadmap
Lessons Learnt I
! flow of control is in GE hands no matter what, because fluidity of
rendering is the foremost concern
clash with definition of autonomy as encapsulation of both control flow
and criteria to handle it
⇒ co-routines in Unity3D and actors in Unreal Engine may help with
agenthood
! environmental resources modelling and situated interaction are
first-class citizens in any GE
MAS likely to benefit of some free lunches—e.g. movement pathways
computation, objects discovery, collision avoidance, etc.
! GE support to sociality depending on nature of interaction
? direct interaction =⇒ basic message-passing facilities—is this enough?
(environment) mediated interaction =⇒ situatedness-related features
such as discovery, routing, etc.
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 23 / 34
24. Discussion Roadmap
Lessons Learnt II
Viable path to follow
Integration is likely to happen, at least at first, through environmental
abstractions, since they are the best represented ones in GE world
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 24 / 34
25. Discussion Roadmap
Now What? I
Mirror worlds-like approaches seem appropriate
! leave autonomy to MAS, do not abuse GE to re-build agenthood
⇒ goal-directed / oriented behaviour stays within MAS. . .
. . . but takes advantage of GE features for, e.g., situated planning to
estimate effects of practical situated actions
! exploit GE environmental abstractions as a bridge between GE and
MAS world
⇒ e.g. through the notion of artefact [RPV11] as defined in AA
meta-model [ORV08]. . .
. . . directly supporting situated (inter)action required by agenthood and
sociality
! (re)shape sociality around environment of GE-based MAS
⇒ direct communication stays within MAS. . .
. . . but accessory facilities might be delegated to GE—e.g. discovery of
recipients based on spatial proximity
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 25 / 34
26. Discussion Roadmap
Now What? II
The goal to pursue
A GE-based MAS infrastructure could then be designed by
integrating mechanisms and paradigms around environmental
abstractions
avoiding to abuse either technology to take in charge responsibilities
it is not meant to deal with
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 26 / 34
27. Acknowledgements
Thanks
Thanks to . . .
Mattia Cerbara and Nicola Poli for the case study
the anonymous referees for their challenging questions and thoughtful
remarks which helped us improving the paper
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 27 / 34
28. Outline
1 Motivation Goal
2 Research Landscape
Looking at GE through MAS Eyes
3 GE MAS
Case Study: Dining Philosophers with Unity3D
4 Discussion Roadmap
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 28 / 34
29. References
References I
Fabio Luigi Bellifemine, Giovanni Caire, and Dominic Greenwood.
Developing Multi-Agent Systems with JADE.
Wiley, February 2007.
Rafael H. Bordini, Jomi F. H¨ubner, and Michael J. Wooldridge.
Programming Multi-Agent Systems in AgentSpeak using Jason.
John Wiley Sons, Ltd, October 2007.
Jeanne Blair and Fuhua Lin.
An approach for integrating 3D virtual worlds with multiagent systems.
In Advanced Information Networking and Applications (WAINA), 2011 IEEE Workshops of
International Conference on, pages 580–585, March 2011.
Gal A. Kaminka, Manuela M. Veloso, Steve Schaffer, Chris Sollitto, Rogelio Adobbati,
Andrew N. Marshall, Andrew Scholer, and Sheila Tejada.
GameBots: A flexible test bed for multiagent team research.
Communications of the ACM, 45(1):43–45, January 2002.
Andrea Omicini.
Towards a notion of agent coordination context.
In Dan C. Marinescu and Craig Lee, editors, Process Coordination and Ubiquitous
Computing, chapter 12, pages 187–200. CRC Press, Boca Raton, FL, USA, October 2002.
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 29 / 34
30. References
References II
Andrea Omicini, Alessandro Ricci, and Mirko Viroli.
Artifacts in the AA meta-model for multi-agent systems.
Autonomous Agents and Multi-Agent Systems, 17(3):432–456, December 2008.
Special Issue on Foundations, Advanced Topics and Industrial Perspectives of Multi-Agent
Systems.
Andrea Omicini and Franco Zambonelli.
Coordination for Internet application development.
Autonomous Agents and Multi-Agent Systems, 2(3):251–269, September 1999.
Special Issue: Coordination Mechanisms for Web Agents.
Phongsak Prasithsangaree, Joseph Manojlovich, Stephen Hughes, and Mike Lewis.
UTSAF: A multi-agent-based software bridge for interoperability between distributed
military and commercial gaming simulation.
Simulation, 80(12):647–, 2004.
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 30 / 34
31. References
References III
Alessandro Ricci, Angelo Croatti, Pietro Brunetti, and Mirko Viroli.
Programming mirror worlds: An agent-oriented programming perspective.
In Matteo Baldoni, Luciano Baresi, and Mehdi Dastani, editors, Engineering Multi-Agent
Systems, volume 9318 of Lecture Notes in Computer Science, pages 191–211. Springer,
2015.
3rd International Workshop, EMAS 2015, Istanbul, Turkey, May 5, 2015, Revised,
Selected, and Invited Papers.
Alessandro Ricci, Michele Piunti, and Mirko Viroli.
Environment programming in multi-agent systems – an artifact-based perspective.
Autonomous Agents and Multi-Agent Systems, 23(2):158–192, September 2011.
Special Issue: Multi-Agent Programming.
Alessandro Ricci, Mirko Viroli, and Andrea Omicini.
CArtAgO: A framework for prototyping artifact-based environments in MAS.
In Danny Weyns, H. Van Dyke Parunak, and Fabien Michel, editors, Environments for
MultiAgent Systems III, volume 4389 of LNAI, pages 67–86. Springer, May 2007.
Katia Sycara, Massimo Paolucci, Martin Van Velsen, and Joseph Giampapa.
The RETSINA MAS infrastructure.
Autonomous Agents and Multi-Agent Systems, 7(1):29–48, 2003.
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 31 / 34
32. References
References IV
Joost van Oijen, Lo¨ıs Vanh´ee, and Frank Dignum.
CIGA: A middleware for intelligent agents in virtual environments.
In Martin Beer, Cyril Brom, Frank Dignum, and Von-Wun Soo, editors, Agents for
Educational Games and Simulations: International Workshop, AEGS 2011, Taipei, Taiwan,
May 2, 2011. Revised Papers, pages 22–37. Springer, Berlin, Heidelberg, 2012.
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 32 / 34
33. Extras
URLs
Slides
on APICe
→ http://apice.unibo.it/xwiki/bin/view/Talks/GamemasWoa2016
on SlideShare
→ http://www.slideshare.net/andreaomicini/
game-engines-to-model-mas
Paper
on APICe
→ http://apice.unibo.it/xwiki/bin/view/Publications/GamemasWoa2016
on CEUR
→ http://ceur-ws.org/Vol-????/paper ?.pdf
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 33 / 34
34. Game Engines to Model MAS
A Research Roadmap
Stefano Mariani Andrea Omicini
{s.mariani, andrea.omicini}@unibo.it
Dipartimento di Informatica – Scienza e Ingegneria (DISI)
Alma Mater Studiorum – Universit`a di Bologna
XVII Workshop “From Objects to Agents” (WOA 2016)
Catania, Italy, 30 July 2016
Mariani Omicini (UniBo) Game Engines to Model MAS WOA 2016, 30/07/2016 34 / 34