Bomberman” Mediante Xna 3.1 Aplicando Inteligencia Artificial
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR INGENIERÍA EN INFORMÁTICA PROYECTO FIN DE CARRERA DISEÑO E IMPLEMENTACIÓN DE UN “BOMBERMAN” MEDIANTE XNA 3.1 APLICANDO INTELIGENCIA ARTIFICIAL Autor: Juan Ramón Martínez Navarro Tutor: Juan Peralta Donate Abril de 2010 A Elena Agradecimientos Este documento pone punto y final a este Proyecto Fin de Carrera. En estas líneas me gustaría recordar a todas las personas que han conseguido que fuera posible. Quiero comenzar dando las gracias a mis padres, Isabel y Juan, por el apoyo incondicional en todo lo que hago. Por haber creído siempre en mí, por preocuparse día a día y respaldarme cuando lo he necesitado. Gracias también a Daniel, mi hermano, por estar siempre ahí. Eres un jugón. A Juan Peralta, mi tutor, por darme la oportunidad de realizar este proyecto. Por toda la ayuda y tiempo dedicados. Siempre ha estado disponible para resolver dudas y aportar sugerencias y conocimientos. Sin su colaboración, este proyecto no hubiera sido posible. A mi amigos y compañeros de universidad y beca. En especial a Alberto y David, por conseguir que los dos años de segundo ciclo pasaran volando. También a Fernando, por los cafés y las cañas de los domingos que resumen diez años de buena amistad. Al resto de mi familia, por su apoyo y cariño. Especialmente a Juanjo y Pablo, otro par de jugones. A Carlos, por aceptar la invitación a ser parte del tribunal. Por último y muy especialmente, a Elena. Por cada momento que ha compartido conmigo. Por tener siempre una sonrisa para mí y conseguir que afronte todo con ilusión. Sé que está y estará siempre ahí. En definitiva, gracias a todos los que me han ayudado a llegar al final de este camino. i ii Resumen En la última década los videojuegos se han consolidado como uno de los sectores más rentables de la industria del ocio, lo que ha llevado a que se produzca una gran expansión y diversificación del negocio. Un sector que hace menos de 5 años se basaba en el desarrollo de juegos comerciales[1] ha evolucionado introduciendo nuevos modelos como los videojuegos casuales[2], bajo demanda[3], arcade[4] o indie[5]. Este proyecto tiene como objetivo el desarrollo de un clon del juego Bomberman [1], destacando como puntos principales la inclusión de inteligencia artificial en la creación de enemigos y la generación automática de niveles. El desarrollo del juego se basará en XNA[6], el API[7] para la implementación de videojuegos que proporciona Microsoft; encajando una vez desarrollado en el grupo de los videojuegos denominados indie. iii Índice general RESUMEN ................................................................................................................................................................................. I ÍNDICE GENERAL ............................................................................................................................................................... IV ÍNDICE DE FIGURAS .......................................................................................................................................................... VI ÍNDICE DE CÓDIGO............................................................................................................................................................ XI ÍNDICE DE TABLAS ......................................................................................................................................................... XIII CAPÍTULO 1 .............................................................................................................................................................................1 INTRODUCCIÓN .....................................................................................................................................................................1 1.1. Motivación del Proyecto............................................................................................................. 1 1.2. Objetivos..................................................................................................................................... 3 1.3. Contenidos de la memoria .......................................................................................................... 6 CAPÍTULO 2 .............................................................................................................................................................................8 ESTADO DE LA CUESTIÓN ..................................................................................................................................................8 2.1. Historia de los videojuegos......................................................................................................... 9 2.1.1. Las primeras empresas........................................................................................................ 9 2.1.2. Los precursores de los videojuegos .................................................................................. 13 2.1.3. Los videojuegos en los setenta.......................................................................................... 18 2.1.4. Los videojuegos en los ochenta ........................................................................................ 28 2.1.5. Los videojuegos en los noventa ........................................................................................ 36 2.1.6. Los videojuegos en la actualidad ...................................................................................... 45 2.2. Historia de Bomberman ............................................................................................................ 49 2.2.1. Mecánica de juego ............................................................................................................ 50 2.2.2. Enemigos y Power Ups..................................................................................................... 53 2.3. XNA Game Studio.................................................................................................................... 57 2.3.1. Alternativas a XNA........................................................................................................... 58 2.3.2. Qué es XNA y por qué usarlo........................................................................................... 66 2.3.3. Arquitectura XNA............................................................................................................. 70 2.3.4. XNA 3.1............................................................................................................................ 75 CAPÍTULO 3 ...........................................................................................................................................................................77 ANÁLISIS, DISEÑO E IMPLEMENTACIÓN ....................................................................................................................77 3.1. Fase de Análisis ........................................................................................................................ 78 3.1.1. Idea inicial......................................................................................................................... 78 3.1.2. Identificación de requisitos............................................................................................... 79 3.1.3. Especificación de casos de uso ......................................................................................... 97 3.1.4. Diagrama de actividad del sistema ................................................................................. 110 3.1.5. Diagramas de secuencia.................................................................................................. 111 3.2. Fase de Diseño ........................................................................................................................ 116 3.2.1. Diagrama de clases ......................................................................................................... 116 3.2.2. Definición de las clases................................................................................................... 118 iv 3.3. Fase de Implementación ......................................................................................................... 137 3.3.1. Jugador............................................................................................................................ 138 3.3.2. Mapas, niveles y casillas................................................................................................. 151 3.3.3. Enemigos......................................................................................................................... 157 3.3.4. Otros................................................................................................................................ 179 CAPÍTULO 4 .........................................................................................................................................................................181 CONCLUSIONES .................................................................................................................................................................181 4.1. Conclusiones........................................................................................................................... 182 CAPÍTULO 5 .........................................................................................................................................................................184