Declarative methods such as Answer Set Programming show potential in cutting down development costs in commercial videogames and real-time applications in general. Many shortcomings, however, prevent their adoption, such as performance and integration gaps. In this work we illustrate our ThinkEngine, a framework in which a tight integration of declarative formalisms within the typical game development workflow is made possible in the context of the Unity game engine. ThinkEngine allows to wire declarative AI modules to the game logic and to move the computational load of reasoning tasks outside the main game loop using an hybrid deliberative/reactive architecture. In this paper, we illustrate the architecture of the ThinkEngine and its role both at design and run-time. Then we show how to program declarative modules in a proof-of-concept game, and report about performance and related work.
Declarative AI design in Unity using Answer Set Programming
Angilica, Denise
;Ianni, Giovambattista
;Pacenza, Francesco
2022-01-01
Abstract
Declarative methods such as Answer Set Programming show potential in cutting down development costs in commercial videogames and real-time applications in general. Many shortcomings, however, prevent their adoption, such as performance and integration gaps. In this work we illustrate our ThinkEngine, a framework in which a tight integration of declarative formalisms within the typical game development workflow is made possible in the context of the Unity game engine. ThinkEngine allows to wire declarative AI modules to the game logic and to move the computational load of reasoning tasks outside the main game loop using an hybrid deliberative/reactive architecture. In this paper, we illustrate the architecture of the ThinkEngine and its role both at design and run-time. Then we show how to program declarative modules in a proof-of-concept game, and report about performance and related work.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.