000004876 001__ 4876
000004876 005__ 20150325135734.0
000004876 037__ $$aTAZ-PFC-2010-091
000004876 041__ $$aspa
000004876 1001_ $$aClerencia Pérez, Isaac
000004876 24500 $$aDesarrollo de una inteligencia artificial para un juego de baloncesto
000004876 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2010
000004876 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/
000004876 520__ $$aEl trabajo realizado en este proyecto ha sido el desarrollo de un juego de baloncesto con una inteligencia artificial para que una persona pueda jugar contra ella. El resultado es el primer simulador deportivo 3D bajo una licencia libre. En primer lugar se hizo un análisis del proyecto en el que se estudió el juego completo con especial énfasis en la inteligencia artificial. A continuación se realizó un diseño de alto nivel de los principales subsistemas del juego. En cuanto a la estructura general del juego, se planeó un bucle principal con soporte para diferentes estados de juego, utilizando una pila para mantener los estados actualmente en ejecución, incluyendo menú, partido y pausa. De esta manera el estado encargado de recibir eventos y actualizar los gráficos y otras variables del juego es el que se encuentra en el tope de la pila. Es muy sencillo volver de un estado al anterior pues sólo tenemos que desapilar el tope. La siguiente parte importante fueron las estructuras de datos para el partido (jugadores, equipos y partido), sus contrapartes gráficas en 3D y la relación entre ellas. Además se programó las partes de simulación física para obtener un comportamiento realista de la pelota cuando rebota contra el suelo o el aro, así como para detectar colisiones entre jugadores o intercepciones de la pelota. Por último, la parte más importante fue la inteligencia artificial, objetivo principal del proyec- to. Una parte fundamental de la inteligencia artificial es la captura de información para poder tomar decisiones adecuadas. No es eficiente que la IA compruebe a cada momento el estado de todo el resto de jugadores, por lo que se desarrolló un sistema de eventos, de tal modo que la inteligencia artificial es notificada de cualquier hecho importante en el partido. Este sistema de eventos usa un patrón Observer de tal manera que los objetos que quieren recibir eventos pueden suscribirse a él. Contando con el sistema de gestión de eventos, se desarrolló una inteligencia artificial jerárquica contando con tres niveles fundamentales a nivel de jugador y un nivel superior de equipo. Los tres niveles de IA individual culminan en un sistema de acciones de alto nivel en el que es fácil dar instrucciones complejas a los jugadores. En el sistema de acciones se apoya la IA de equipo, basada en una máquina de estados capaz de reaccionar ante los eventos del partido para elegir el estado adecuado para actuar ante la situación actual del partido. Para incrementar la flexibilidad de la IA y ponerla al alcance del usuario final se implementó la posibilidad de modificar la IA mediante scripting sin necesidad de recompilar el juego. Es posible añadir o redefinir estados de la IA de equipo escribiendo sencillos ficheros en Javascript. Para ayudar a mejorar la IA se cuenta con un sistema de pruebas que permite definir escenarios y ejecutarlos de manera automática para comprobar el efecto que posibles cambios en la IA producen en el juego.
000004876 521__ $$aIngeniero en Informática
000004876 540__ $$aDerechos regulados por licencia Creative Commons
000004876 6531_ $$aInteligencia artificial
000004876 6531_ $$aIA
000004876 6531_ $$aSteering behaviors
000004876 6531_ $$aPhysics simulation
000004876 6531_ $$aCollision detection
000004876 6531_ $$aSports simulator
000004876 6531_ $$aBasketball
000004876 6531_ $$aVideogame
000004876 700__ $$aGutiérrez Pérez, Diego$$edir.
000004876 7102_ $$aUniversidad de Zaragoza$$bInformática e Ingeniería de Sistemas$$c
000004876 830__ $$aCPS
000004876 8560_ $$f463141@celes.unizar.es
000004876 8564_ $$s3087097$$uhttps://zaguan.unizar.es/record/4876/files/TAZ-PFC-2010-091.pdf$$yMemoria (spa)
000004876 909CO $$ooai:zaguan.unizar.es:4876$$pdriver$$pproyectos-fin-carrera
000004876 950__ $$a
000004876 980__ $$aTAZ$$bPFC$$cCPS