XNA Framework Y Monogame 3.2
Total Page:16
File Type:pdf, Size:1020Kb
TRABAJO FIN DE GRADO UNIVERSIDAD DE ALMERIA ESCUELA POLITÉCNICA SUPERIOR Y FACULTAD DE CIENCIAS EXPERIMENTALES “Booster: Un videojuego de plataformas en 2D con C#” Curso 2013/2014 Alumno/a: Andrés Vicente Linares Director/es: Antonio Leopoldo Corral Liria Booster: Un videojuego de plataformas en 2D con C# 3 Agradecimientos En primer lugar me gustaría agradecer a mi tutor, Antonio Corral, por el apoyo, supervisión y consejos que me he dado. A mi familia por todo su apoyo durante el desarrollo del proyecto y la carrera. A mis amigos y compañeros de clases, los que, además de apoyarme y darme ideas, me han ayudado a encontrar errores de los que no me había dado cuenta, en especial a Alejandro Rodríguez, Juan José Riado, Carlos Ridao, con los que he pasado muy buenos momentos haciendo actividades tanto relacionadas como ajenas a la universidad. Finalmente, a la Universidad de Almería y sus profesores, los cuáles me han enseñado las bases que han permitido que haya podido realizar este proyecto. Booster: Un videojuego de plataformas en 2D con C# 4 Booster: Un videojuego de plataformas en 2D con C# 5 Contenido 1. Introducción ........................................................................................................................... 9 1.1. Motivación ..................................................................................................................... 10 1.2. Justificación profesional ................................................................................................ 11 1.3. Objetivos ........................................................................................................................ 11 1.4. Estructura del documento .............................................................................................. 12 2. Videojuegos .......................................................................................................................... 13 2.1. Videojuego..................................................................................................................... 13 2.1.1. Controlador de videojuegos ................................................................................... 13 2.1.2. Plataformas ............................................................................................................. 15 2.1.3. Géneros ................................................................................................................... 16 2.1.4. Impacto en la sociedad ........................................................................................... 23 2.2. Desarrollo de videojuegos ............................................................................................. 25 2.2.1. Roles en un equipo de desarrollo de videojuegos .................................................. 25 2.2.2. Proceso de desarrollo de videojuegos .................................................................... 27 2.3. Motor de juegos ............................................................................................................. 30 2.3.1. Descripción de algunos motores de videojuegos ................................................... 31 2.4. Estado del arte ............................................................................................................... 32 2.4.1. Mercado de los videojuegos en el mundo .............................................................. 32 2.4.2. Mercado de los videojuegos en España .................................................................. 34 2.4.3. Industria de los videojuegos en España .................................................................. 34 3. Booster ................................................................................................................................. 37 3.1. Introducción ................................................................................................................... 37 3.2. XNA Framework y MonoGame .................................................................................... 37 3.2.1. XNA Framework .................................................................................................... 37 3.2.2. MonoGame ............................................................................................................. 38 3.2.3. La clase Game y el bucle del juego ........................................................................ 38 3.2.4. Características ........................................................................................................ 40 3.3. Análisis .......................................................................................................................... 42 3.3.1. Niveles .................................................................................................................... 43 3.3.2. Menús ..................................................................................................................... 44 3.3.3. Estados de transición .............................................................................................. 44 3.4. Diseño e implementación .............................................................................................. 44 3.4.1. Gestor de estados .................................................................................................... 45 3.4.2. Gestión de entrada .................................................................................................. 46 3.4.3. Almacén de recursos .............................................................................................. 48 Booster: Un videojuego de plataformas en 2D con C# 6 3.4.4. Cámara ................................................................................................................... 49 3.4.5. Transiciones ........................................................................................................... 50 3.4.6. Menús ..................................................................................................................... 52 3.4.7. Entidades ................................................................................................................ 56 3.4.8. Nivel ....................................................................................................................... 62 3.4.9. Animaciones ........................................................................................................... 66 3.4.10. Creación de entidades ........................................................................................... 67 3.4.11. Colisiones ............................................................................................................. 71 3.5. Planificación temporal ................................................................................................... 77 3.6. Herramientas .................................................................................................................. 80 4. Resultados ............................................................................................................................ 81 4.1. Transiciones ................................................................................................................... 82 4.2. Menús ............................................................................................................................ 83 4.3. Nivel .............................................................................................................................. 84 5. Conclusiones ........................................................................................................................ 87 5.1. Conclusiones .................................................................................................................. 87 5.2. Trabajo futuro ................................................................................................................ 88 6. Bibliografía ........................................................................................................................... 91 6.1. Referencias .................................................................................................................... 91 Booster: Un videojuego de plataformas en 2D con C# 7 Tabla de figuras Figura 1. Gamepad de la videoconsola NES [4] ...................................................................... 14 Figura 2. Gamepad de la videoconsola Xbox 360 [5] .............................................................. 14 Figura 3. Tabla comparativa de jugadores de una región con la población ............................. 33 Figura 4. Gráfica comparativa de modelos de distribución utilizados entre 2012 y 2016 ....... 33 Figura 5. Gráfica de tiempo invertido en los videojuegos por plataforma ............................... 34 Figura 6. Distribución geográfica de empresas de videojuegos en España [47] ...................... 35 Figura 7. Distribución de empresas según el número de empleados ....................................... 35 Figura 8. Distribución de la facturación por regiones .............................................................. 36 Figura 9. Diagrama del bucle del juego en XNA Framework ................................................. 39 Figura 10. Sistema de coordenadas de XNA Framework y MonoGame [52] ......................... 41 Figura 11. Diagrama de casos de uso inicial ............................................................................ 43 Figura 12. Diagrama de casos de uso final ..............................................................................