Sergio Ocio Barriales
En los últimos años, el videojuego se ha convertido en la industria más exitosa del negocio del entretenimiento. El desarrollo de un gran juego ya no es algo que pueda ser llevado a cabo por una única persona trabajando desde su habitación, sino una enorme tarea donde cientos de personas trabajan juntas para construir un producto sobresaliente.
Hoy en día, los desarrolladores buscan una característica distintiva que pueda hacer que sus juegos destaquen entre la competencia. Tradicionalmente, gran parte del trabajo se dedicaba a conseguir mejores y más deslumbrantes gráficos, pero, en un momento en el que muchos juegos comparten la misma tecnología (como Unreal Engine o Anvil), la inteligencia artificial juega un papel fundamental. Construir comportamientos creíbles y que presenten un desafío puede realmente marcar la diferencia.
El objetivo esencial de todo juego es ser divertido. Sin embargo, encontrar una buena definición de 'diversión' no es una tarea trivial; cada jugador tiene sus preferencias, y diseñar una experiencia que todo el mundo pueda disfrutar no es siempre posible. La mayoría de los sistemas de IA en juegos tratan de mitigar este problema ofreciendo un tosco método de adaptación, los niveles de dificultad, en lugar de implementar sistemas completamente adaptativos. Dichos sistemas deberían ser capaces de identificar diferentes clases de jugadores, y adecuar los comportamientos de la IA apropiadamente, intentando maximizar la diversión.
La colaboración entre diferentes equipos es también esencial, y permitir que nuevas ideas puedan ser estudiadas y probadas rápidamente es fundamental.
Son varias las técnicas de IA que se han aplicado a juegos comerciales hasta el momento, pero ninguna es lo suficientemente completa para ofrecer la posibilidad de crear prototipos ágil y fácilmente, o modificar los existentes dinámicamente.
Con esta tesis, nuestro objetivo es construir una técnica multi-nivel que nos permita generar IAs autónomas, ofreciendo, a su vez, un sistema para modificar sus comportamientos añadiendo o eliminando capas de lógica de más alto nivel de forma dinámica. También intentamos producir un sistema que pueda ser utilizado por cualquier miembro del equipo, evitando costosos trabajos adicionales de ingeniería, a la vez que los juegos se benefician de la capacidad de probar nuevas ideas velozmente.
Intención y objetivos Esta tesis surge de la experiencia profesional del autor, y de la necesidad de mejorar ciertos procesos, así como la comunicación entre ingenieros y otros equipos para construir la mejor IA posible.
Nuestra intención es construir una IA adaptativa que pueda sorprender a los jugadores, presentando diferentes desafíos para conseguir que los juegos sean tan divertidos como sea posible. Sin embargo, tras nuestra investigación inicial, hemos llegado a la conclusión de que no existe un sistema que pueda utilizarse con este propósito de forma sencilla. Por tanto, hemos decidido separar el trabajo en dos fases, siendo la primera la presentada en este trabajo, y que está centrada en desarrollar una técnica que:
* Permita crear IAs autónomas y que no necesiten ninguna orden externa para mostrar una conducta inteligente.
* Es lo suficientemente abstracta como para poder ser utilizada en diferentes tipos de juegos.
* Siga un enfoque guiado por datos, lo cual nos permitiría construir herramientas para controlar y generar nuevo contenido sin la necesidad de ningún trabajo adicional de ingeniería.
La segunda fase de esta investigación estaría orientada al estudio de cómo este nuevo sistema puede ser utilizado para adaptar comportamientos de inteligencia artificial al estilo de cada jugador.
Aporte de este trabajo Para alcanzar las metas presentadas en el punto anterior, hemos desarrollado una técnica novedosa, basada en pilas de árboles de comportamiento que son ejecutados de forma concurrente para producir nuevos resultados. Hemos denominado a esta técnica Árboles de Comportamiento con ejecución basada en sugerencias (Hinted-execution Behaviour Trees, HeBT). En esta estructura jerárquica, los niveles superiores pueden sugerir a los inferiores qué deberían hacer en cada momento.
Las principales contribuciones de los HeBT son:
* Permiten añadir nueva lógica a la IA dinámicamente. Los árboles de alto nivel funcionan como plug-ins, que pueden ser activados o desactivados para modificar el resultado final. Esto puede ser utilizado para adecuar la experiencia de juego a cada momento.
* El sistema puede implementarse como una librería abstracta, de tal forma que no esté atado a un determinado tipo de juego. Esto permite que una gran parte del código de IA pueda compartirse entre diferentes proyectos, disminuyendo la carga de trabajo y reduciendo riesgos, ya que la lógica habría sido probada a fondo.
* Una vez que las acciones y condiciones creadas específicamente para un juego hayan sido codificadas, la IA puede ser controlada por completo utilizando una herramienta. Este editor de HeBTs puede ser utilizado por diferentes equipos, permitiendo a todo el mundo contribuir a la IA final mostrada por el juego.
Como parte de esta tesis, hemos desarrollado un sistema de HeBT completamente funcional, un editor de árboles, un prototipo de juego y un completo ejemplo, de modo que podamos evaluar qué es lo que nuestra solución aporta a los desarrolladores de juegos.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados