Un Conjunto De Herramientas Para Unity Orientado Al Desarrollo De Videojuegos De Acción-Aventura Y Estilo Retro Con Gráficos Isométricos 3D
Total Page:16
File Type:pdf, Size:1020Kb
UN CONJUNTO DE HERRAMIENTAS PARA UNITY ORIENTADO AL DESARROLLO DE VIDEOJUEGOS DE ACCIÓN-AVENTURA Y ESTILO RETRO CON GRÁFICOS ISOMÉTRICOS 3D D. Iván José Pérez Colado D. Víctor Manuel Pérez Colado GRADO EN INGENIERÍA DEL SOFTWARE FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID TRABAJO DE FIN DE GRADO DE INGENIERÍA DEL SOFTWARE Madrid, 20 junio de 2014 Director: Prof. Dr. D. Federico Peinado Gil Autorización de difusión y utilización Iván José Pérez Colado y Víctor Manuel Pérez Colado autorizamos a la Universidad Complutense de Madrid a difundir y utilizar con fines académicos, no comerciales y mencionando expresamente a sus autores, tanto la propia memoria, como el código, los contenidos audiovisuales incluso si incluyen imágenes de los autores, la documentación y/o el prototipo desarrollado. Fdo. Iván José Pérez Colado Fdo. Víctor Manuel Pérez Colado Para nuestro nono Quien con su empeño e ilusión, fue un motivo en nuestras vidas para llegar hasta donde hemos llegado y no está hoy con nosotros para verlo Agradecimientos Queremos agradecer, en primer lugar, a nuestro director de proyecto Federico Peinado Gil, por darnos la oportunidad de participar en un proyecto del campo que más nos apasiona, los videojuegos, y por toda la ayuda y dedicación que nos ha prestado durante el curso para completarlo. En segundo lugar, agradecemos a nuestros amigos y familia, su opinión y continua valoración de los resultados que íbamos obteniendo durante la realización del proyecto. Por último, agradecer a la comunidad de usuarios de Unity, y a los usuarios de StackOverflow, la cesión de múltiples fragmentos de código que han servido de referencia para la realización del proyecto. Gracias a todos por vuestra colaboración. Índice Índice de figuras ..................................................................................................................... VII Resumen ..................................................................................................................................... X Abstract.................................................................................................................................... XI Capítulo 1. Introducción..........................................................................................................1 Capítulo 2. Revisión del Estado del Arte ................................................................................4 Sección 2.1. Videojuegos de referencia ................................................................................4 Sección 2.1.1. La Abadía del Crimen ................................................................................5 Sección 2.1.2. Final Fantasy Tactics .................................................................................7 Sección 2.1.3. FEZ .......................................................................................................... 11 Sección 2.1.4. Ragnarok Online ...................................................................................... 13 Sección 2.1.5. The Secret of Monkey Island ................................................................... 14 Sección 2.2. Motores de videojuegos .................................................................................. 20 Sección 2.2.1. RPG Maker .............................................................................................. 20 Sección 2.2.2. Unreal Engine .......................................................................................... 25 Sección 2.2.3. Unity ........................................................................................................ 26 Sección 2.2.4. AlterEngine .............................................................................................. 28 Sección 2.3. Complementos de motores de videojuegos. .................................................... 29 Sección 2.3.1. Complementos para RPG Maker .............................................................. 29 Sección 2.3.2. Complementos para Unity ........................................................................ 30 Capítulo 3. Objetivos y especificación de requisitos ............................................................. 32 Sección 3.1. Objetivos ........................................................................................................ 32 Sección 3.2. Plan de trabajo ................................................................................................ 32 Sección 3.3. Especificación de requisitos software ............................................................. 34 Sección 3.3.1. Creación de escenarios ............................................................................. 34 Sección 3.3.2. Creación y gestión de entidades ............................................................... 37 Sección 3.3.3. Formas de interacción del jugador con el juego ....................................... 39 Sección 3.3.4. Menús e interfaces ................................................................................... 41 Capítulo 4. Análisis y diseño................................................................................................. 48 Sección 4.1. Diseño de la creación de escenarios ................................................................ 48 Sección 4.1.1. La celda .................................................................................................... 49 Sección 4.1.2. Las texturas isométricas, IsoTextures ....................................................... 50 Sección 4.1.3. Las decoraciones, IsoDecorations ............................................................ 52 Sección 4.1.4. El mapa .................................................................................................... 53 Sección 4.1.5. Diseño del editor de mapas ...................................................................... 55 Sección 4.2. Creación y gestión de entidades ...................................................................... 58 Sección 4.2.1. Creación de entidades .............................................................................. 58 IV Sección 4.2.2. Gestión de entidades en tiempo de ejecución ........................................... 58 Sección 4.3. Creación de interfaces..................................................................................... 63 Sección 4.4. Interacción del jugador con el juego ............................................................... 66 Sección 4.5. Sistema de secuencias ..................................................................................... 68 Sección 4.5.1. Diálogos ................................................................................................... 71 Sección 4.5.2. Eventos de juego ...................................................................................... 72 Sección 4.5.3. Bifurcaciones ........................................................................................... 73 Sección 4.5.4. Variables globales, IsoSwitches ............................................................... 74 Sección 4.5.5. Editor para múltiples tipos básicos ........................................................... 74 Sección 4.6. Cierre del análisis y diseño ............................................................................. 75 Capítulo 5. Implementación, pruebas y resultados ................................................................ 76 Sección 5.1. Prototipos........................................................................................................ 76 Sección 5.2. Implementando la celda .................................................................................. 79 Sección 5.3. Las IsoTexturas .............................................................................................. 82 Sección 5.3.1. El asistente de IsoTexturas ....................................................................... 83 Sección 5.3.2. El manejador de texturas .......................................................................... 84 Sección 5.3.3. Las Decoraciones ..................................................................................... 85 Sección 5.4. Implementando el mapa .................................................................................. 90 Sección 5.4.1. El gestor de mapas ................................................................................... 92 Sección 5.4.2. El editor de mapas .................................................................................... 92 Sección 5.5. La clase gestora Game .................................................................................... 99 Sección 5.6. Implementando eventos del juego................................................................. 100 Sección 5.7. Implementando las entidades ........................................................................ 100 Sección 5.7.1. La componente jugador, Player ............................................................. 101 Sección 5.7.2. La componente movedora, Mover .......................................................... 102 Sección 5.7.3. La componente habladora, Talker .......................................................... 103 Sección 5.7.4. La componente almacén, Inventory ........................................................ 104 Sección 5.7.5. La componente objeto, ItemScript .......................................................... 104 Sección 5.7.6. La componente movimiento aleatorio, RandomMover ........................... 105 Sección 5.7.7. La componente teletransportadora,