Acceso Manual E Interfaz Gráfica Para El Juego AI-LIVE
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN PROYECTO DE FIN DE CARRERA Acceso manual e interfaz gráfica para el juego AI-LIVE Alumno: Iván Uzquiano Mateo Tutores: Susana Fernández Arregui Javier Ortiz Laguna Año: 2010 PROYECTO DE FIN DE CARRERA – INTERFAZ GRÁFICA PARA EL JUEGO AI-LIVE Agradecimientos A mis tutores, Javier Ortiz, por adentrarme en el mundo de las interfaces gráficas, y Susana Fernández, por haberme enseñado las técnicas de inteligencia artificial basada en reglas, que me han servido para la comprensión de la estructura y el funcionamiento del juego AI-LIVE. A los iniciadores del proyecto AI-LIVE, que han proporcionado una base sobre la cual he podido realizar este Proyecto de Fin de Carrera. A los actuales y futuros contribuyentes del proyecto AI-LIVE, por seguir desarrollando y mejorando este juego tan interesante. Y por último, pero no por ello menos importante, a mi familia y amigos, por apoyarme en esta etapa final de mi carrera. Muchas gracias a todos por vuestro apoyo. IVÁN UZQUIANO MATEO UNIVERSIDAD CARLOS III DE MADRID PROYECTO DE FIN DE CARRERA – INTERFAZ GRÁFICA PARA EL JUEGO AI-LIVE Índice de contenido 1. Introducción ............................................................................................................ 1 1.1. Entorno del Proyecto de Fin de Carrera .................................................... 1 1.2. Cometido del Proyecto de Fin de Carrera.................................................. 1 1.3. Estructura del documento........................................................................... 2 2. Estado del arte......................................................................................................... 3 2.1. Gráficos 3D .................................................................................................. 3 2.1.1. Modelado.......................................................................................... 3 2.1.2. Animación ........................................................................................ 4 2.1.3. Renderizado ..................................................................................... 5 2.2. APIs gráficas................................................................................................ 6 2.2.1. OpenGL............................................................................................ 6 2.2.2. Direct3D ........................................................................................... 7 2.3. Herramientas para el desarrollo de aplicaciones 3D.................................. 7 2.3.1. Frameworks gráficos ....................................................................... 8 2.3.2. Scene graphs..................................................................................... 8 2.3.3. Motores gráficos............................................................................. 12 2.4. Videojuegos de simulación de relaciones sociales..................................... 18 2.4.1. Los Sims (The Sims)....................................................................... 19 2.4.2. Los Sims 2 (The Sims 2)................................................................. 21 2.4.3. Singles: ¿En tu casa o en la mía? (Singles: Flirt up your life) ...... 22 2.4.4. Singles 2: ¿Tres son multitud? (Singles 2: Triple trouble) ........... 23 2.4.5. Second Life (SL)............................................................................. 24 3. Objetivos................................................................................................................ 26 4. Trabajo realizado.................................................................................................. 27 4.1. Introducción............................................................................................... 27 4.2. Arquitectura de AI-LIVE.......................................................................... 28 4.2.1. Servidor .......................................................................................... 29 4.2.2. Clientes ........................................................................................... 30 4.2.3. Protocolo de comunicación ............................................................ 31 4.2.4. Entradas y salidas de los módulos de la aplicación....................... 33 4.3. Modelo de conocimiento de AI-LIVE ....................................................... 38 4.4. Cliente GUI................................................................................................ 56 4.4.1. Diagrama de clases......................................................................... 56 4.4.2. Submódulo principal y de ejecución: gui.cpp ............................... 59 4.4.3. Comunicación con el servidor: serverCommunication................. 63 4.4.4. Funciones string auxiliares: auxiliarStringFunctions................... 64 4.4.5. Ampliación del módulo del servidor.............................................. 64 4.4.6. Archivos de configuración ............................................................. 65 4.4.7. Representación del estado del juego.............................................. 67 4.5. Manual de usuario..................................................................................... 69 4.5.1. Requisitos generales....................................................................... 69 4.5.2. Instalación ...................................................................................... 70 4.5.3. Configuración................................................................................. 70 4.5.4. Ejecución ........................................................................................ 72 IVÁN UZQUIANO MATEO UNIVERSIDAD CARLOS III DE MADRID PROYECTO DE FIN DE CARRERA – INTERFAZ GRÁFICA PARA EL JUEGO AI-LIVE 4.6. Manual de referencia................................................................................. 74 4.6.1. Jerarquía de archivos .................................................................... 74 4.6.2. Archivos del módulo del servidor.................................................. 76 4.6.2. Archivos del módulo del cliente CLIPS......................................... 78 4.6.3. Archivos del módulo del cliente manual........................................ 79 4.6.4. Archivos del módulo del cliente GUI............................................. 81 4.6.5. Archivos comunes .......................................................................... 83 5. Resultados.............................................................................................................. 86 5.1. Escenarios del juego AI-LIVE .................................................................. 86 5.2. Vistas de la interfaz gráfica....................................................................... 87 5.3. Acciones de los actores .............................................................................. 90 6. Conclusiones.......................................................................................................... 94 6.1. Conclusiones respecto al juego AI-LIVE.................................................. 94 6.2. Conclusiones respecto al cliente GUI implementado ............................... 94 6.3. Conclusiones respecto a la utilización de OGRE3D................................. 95 7. Futuras líneas ........................................................................................................ 97 7.1. Mejorar los procesos de movimiento del actor......................................... 97 7.2. Crear animaciones para los objetos.......................................................... 97 7.3. Mostrar los medidores de los actores........................................................ 97 7.4. Crear nuevas entidades ............................................................................. 98 7.5. Eliminar la utilización de archivos de texto intermedios ......................... 98 7.6. Crear dinámicamente los nodos de cámara y luces.................................. 98 7.7. Agregar funciones gráficas para el cliente manual .................................. 98 8. Bibliografía............................................................................................................ 99 IVÁN UZQUIANO MATEO UNIVERSIDAD CARLOS III DE MADRID PROYECTO DE FIN DE CARRERA – INTERFAZ GRÁFICA PARA EL JUEGO AI-LIVE Índice de figuras Figura 1: Ejemplo de modelado. ..........................................................................................................4 Figura 2: Ejemplo de animación. .........................................................................................................5 Figura 3: Ejemplo de renderizado........................................................................................................6 Figura 4: Escena de un videojuego en primera persona. .....................................................................8 Figura 5: Scene graph que representa la escena de la Figura 4...........................................................9 Figura 6: Ejemplos de visualización con NVIDIA SceniX...................................................................9 Figura 7: Ejemplos de visualización con OpenSG. ............................................................................10 Figura 8: Ejemplos de visualización con OpenSceneGraph. .............................................................11 Figura 9: Ejemplos de visualización con OpenGL Performer...........................................................11