Publication:
Reflective components for designing behaviour in video games

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2009
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
El desarrollo de IA para NPCs en videojuegos es una tarea colaborativa entre diseñadores y programadores, en la que suele haber conflictos entre los dos grupos. Hoy en día, la industria está haciendo un gran esfuerzo para separar la colaboración entre ambos y para ello, los programadores deben proporcionar herramientas que permitan a los diseñadores crear comportamientos. Por tanto, la información de la lógica de juego estará duplicada en el código y en las herramientas de diseño, conduciendo a errores cuando alguien que modifica la información en un campo olvida replicarla en el otro. Por otro lado, los Arboles de Comportamiento son un mecanismo que permite a los diseñadores crear comportamientos definiendo una IA guiada por objetivos, en la que los comportamientos complejos pueden ser creados combinando otros más simples usando una propuesta jerárquica. También, proponemos usar un sistema basado en componentes, lo cual es una técnica muy usada en videojuegos comerciales, evitando así los problemas de los típicos sistemas orientados a objetos con jerarquía de herencia. Para solucionar el problema de la separación y duplicación de información, proponemos reunir toda la información en los componentes extendiendo la interfaz del IComponent. Así, las entidades construidas por componentes serán las responsables de proporcionar a las herramientas de diseño, u otros sistemas, toda la información que necesiten para trabajar adecuadamente. Se presenta tanto una propuesta general con los pilares básicos del sistema basado en componentes autodescritos, como dos sistemas concretos de esta propuesta. El primero valida asociaciones entre Arboles de Comportamiento y NPCs mientras el segundo proporciona, ayudado por un planificador, las diferentes maneras que tiene un NPC de alcanzar un objetivo en un escenario concreto. [ABSTRACT] Developing the AI for non-player characters in a videogame is a collaborative task between programmers and designers and most of the time, there is a tension between them. Nowadays, the industry is making a big effort to separate the collaboration between both groups so programmers need to provide designers with tools which will allow them to design character behaviours. Consequently, the information, about the logic of the game, would be duplicated in the game code and in the field of these tools, leading to errors when someone who modifies the information of one field forgets to replicate it in the other. On the other hand, Behaviour Trees are an expressive mechanism that let designers create complex behaviours by defining an AI driven by goals, in which complex behaviours can be created combining simpler ones using a hierarchical approach. As well, we propose the use of the Component-Based Approach, that is a widely used technique for creating characters in commercial video games avoiding the problems of typical object-management systems, which are based on an inheritance hierarchy. In order to fix the problem of the duplicated and separated information, we propose to gather all the information in components by extending the IComponent interface. In this way, entities built by components will be those responsible of providing design tools, or maybe other systems, with all the information that they need for working properly. Both a general proposal with the basic tenets of our reflective component-based system and two concrete systems of this approach are presented. The first one validates associations between Behaviour Trees and characters whilst the second one provides, helped by a planner, different choices to achieve a goal with a character in a concrete scenario.
Description
Master en Investigación en Informática, Facultad de Informática, Departamento de Ingeniería del Software e Inteligencia Artificial, curso 2008-2009
Keywords
Citation