Reflective components for designing behaviour in video games

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 propo...

Descripción completa

Detalles Bibliográficos
Autor: Llansó García, David
Tipo de recurso: tesis de maestría
Fecha de publicación:2009
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:inglés
OAI Identifier:oai:docta.ucm.es:20.500.14352/54583
Acceso en línea:https://hdl.handle.net/20.500.14352/54583
Access Level:acceso abierto
Palabra clave:004.8
004.928
Componentes
Autodescriptivos
Autoría
Árbol
Comportamiento
Videojuego
IA
Inteligencia artificial
Reflective
Components
Authoring
Behaviour
Tree
Videogame
AI
Artificial intelligent
Inteligencia artificial (Informática)
1203.04 Inteligencia Artificial
id ES_dd0bc48ebe599a7e2b8d1e6d75f7560d
oai_identifier_str oai:docta.ucm.es:20.500.14352/54583
network_acronym_str ES
network_name_str España
repository_id_str
dc.title.none.fl_str_mv Reflective components for designing behaviour in video games
title Reflective components for designing behaviour in video games
spellingShingle Reflective components for designing behaviour in video games
Llansó García, David
004.8
004.928
Componentes
Autodescriptivos
Autoría
Árbol
Comportamiento
Videojuego
IA
Inteligencia artificial
Reflective
Components
Authoring
Behaviour
Tree
Videogame
AI
Artificial intelligent
Inteligencia artificial (Informática)
1203.04 Inteligencia Artificial
title_short Reflective components for designing behaviour in video games
title_full Reflective components for designing behaviour in video games
title_fullStr Reflective components for designing behaviour in video games
title_full_unstemmed Reflective components for designing behaviour in video games
title_sort Reflective components for designing behaviour in video games
dc.creator.none.fl_str_mv Llansó García, David
author Llansó García, David
author_facet Llansó García, David
author_role author
dc.contributor.none.fl_str_mv González Calero, Pedro Antonio
Gómez Martín, Marco Antonio
Universidad Complutense de Madrid
dc.subject.none.fl_str_mv 004.8
004.928
Componentes
Autodescriptivos
Autoría
Árbol
Comportamiento
Videojuego
IA
Inteligencia artificial
Reflective
Components
Authoring
Behaviour
Tree
Videogame
AI
Artificial intelligent
Inteligencia artificial (Informática)
1203.04 Inteligencia Artificial
topic 004.8
004.928
Componentes
Autodescriptivos
Autoría
Árbol
Comportamiento
Videojuego
IA
Inteligencia artificial
Reflective
Components
Authoring
Behaviour
Tree
Videogame
AI
Artificial intelligent
Inteligencia artificial (Informática)
1203.04 Inteligencia Artificial
description 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.
publishDate 2009
dc.date.none.fl_str_mv 2009
2009-01-01
2009
2009-01-01
dc.type.none.fl_str_mv master thesis
http://purl.org/coar/resource_type/c_bdcc
dc.type.openaire.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.14352/54583
url https://hdl.handle.net/20.500.14352/54583
dc.language.none.fl_str_mv Inglés
eng
language_invalid_str_mv Inglés
language eng
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial 3.0 España
https://creativecommons.org/licenses/by-nc/3.0/es/
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial 3.0 España
https://creativecommons.org/licenses/by-nc/3.0/es/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Docta Complutense
instname:Universidad Complutense de Madrid (UCM)
instname_str Universidad Complutense de Madrid (UCM)
reponame_str Docta Complutense
collection Docta Complutense
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869421824042860544
spelling Reflective components for designing behaviour in video gamesLlansó García, David004.8004.928ComponentesAutodescriptivosAutoríaÁrbolComportamientoVideojuegoIAInteligencia artificialReflectiveComponentsAuthoringBehaviourTreeVideogameAIArtificial intelligentInteligencia artificial (Informática)1203.04 Inteligencia ArtificialEl 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.González Calero, Pedro AntonioGómez Martín, Marco AntonioUniversidad Complutense de Madrid20092009-01-0120092009-01-01master thesishttp://purl.org/coar/resource_type/c_bdccinfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/20.500.14352/54583reponame:Docta Complutenseinstname:Universidad Complutense de Madrid (UCM)Inglésengopen accesshttp://purl.org/coar/access_right/c_abf2Atribución-NoComercial 3.0 Españahttps://creativecommons.org/licenses/by-nc/3.0/es/info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/545832026-06-02T12:44:21Z
score 15.300719