Diseño e implementación del juego StarCraft mediante la herramienta Microsoft XNA 3.1

De
Publicado por


Si bien no existe acuerdo acerca de cuál fue el primer videojuego, sí se tiene la certeza de que tuvo su origen entre 1950 y 1970. Aquella época aportó títulos como Lanzamiento de misiles[r1], Tennis for Two[r2], Spacewar![r3] o Pong[r4], que utilizaban más principios electromecánicos que software. A lo largo de los años, los descubrimientos en materia de hardware, las mejoras a nivel de software y, sobre todo,el espíritu innovador han impulsado sobremanera el trabajo del sector. A lo largo de los últimos quince años, los videojuegos se han consolidado como uno de los sectores más rentables de la industria. Esto ha llevado a que se produzca un gran crecimiento y diversificación del negocio. Un sector que hace apenas siete años basaba sus beneficios en el desarrollo de productos comerciales clásicos[1] ha evolucionado introduciendo nuevos modelos: los videojuegos casuales[2], bajo demanda[3], arcade[4], indie[5],sociales[6]…Este proyecto tiene como objetivo el desarrollo de un cliente del juego StarCraft[r5], realizado en 1998 por Blizzard Entertainment. Esta producción nace como un juego de estrategia en tiempo real. En ella se narra la historia del futurístico conflicto entre tres razas espaciales, dejando al jugador el control total sobre cualquiera de ellas a su elección. Para la creación de StarCraft se tomaron ideas de Dune 2[r6], que fue el primer desarrollo en tiempo real que permitió jugar con total libertad de acción: se podían mover las unidades por todo el mapa, se podía atacar cualquier objetivo y se podían construir tantos edificios o unidades como fuera necesario. Otras creaciones que inspiraron la obra central de este proyecto fueron Command & Conquer[r7],Age of Empires[r8] y WarCraft II[r9]: de éstas se tomaron ideas de gráficos, menús, misiones,interfaz… Desde su publicación, StarCraft ha tenido una base de jugadores numerosa y participativa. Recientemente se ha publicado su segunda parte, StarCraft 2[r10], siendo uno de los eventos más importantes del sector durante el año 2010. El desarrollo planteado en este proyecto consiste en la implementación de un cliente de juego de StarCraft. En él se implementan las opciones disponibles para el jugador local, dejando como líneas futuras el trabajo en red y la inclusión de inteligencia artificial. Las tecnologías utilizadas para la implementación son los productos de Microsoft XNA Game Studio[7], .NET Framework[8] y Visual C#[9]. Una vez desarrollado, el producto puede ser clasificado como videojuego indie de estrategia en tiempo real[10].
Ingeniería en Informática
Publicado el : sábado, 01 de enero de 2011
Lectura(s) : 56
Fuente : e-archivo.uc3m.es
Licencia: Más información
Atribución, no uso comercial, sin cambios
Número de páginas: 321
Ver más Ver menos


UNIVERSIDAD CARLOS III DE MADRID
ESCUELA POLITÉCNICA SUPERIOR



Ingeniería en Informática
Proyecto Fin de Carrera



“Diseño e implementación del juego StarCraft
mediante la herramienta Microsoft XNA 3.1”





Autor: Iván Yusty Tenorio
Tutor: Juan Peralta Donate
Departamento de Informática Junio, 2011
2
Resumen
Si bien no existe acuerdo acerca de cuál fue el primer videojuego, sí se tiene la
certeza de que tuvo su origen entre 1950 y 1970. Aquella época aportó títulos como
[r1] [r2] [r3] [r4]Lanzamiento de misiles , Tennis for Two , Spacewar! o Pong , que utilizaban
más principios electromecánicos que software. A lo largo de los años, los
descubrimientos en materia de hardware, las mejoras a nivel de software y, sobre
todo, el espíritu innovador han impulsado sobremanera el trabajo del sector.
A lo largo de los últimos quince años, los videojuegos se han consolidado como
uno de los sectores más rentables de la industria. Esto ha llevado a que se produzca un
gran crecimiento y diversificación del negocio. Un sector que hace apenas siete años
[1]basaba sus beneficios en el desarrollo de productos comerciales clásicos ha
[2]evolucionado introduciendo nuevos modelos: los videojuegos casuales , bajo
[3] [4] [5] [6]demanda , arcade , indie , sociales …
Este proyecto tiene como objetivo el desarrollo de un cliente del juego
[r5]
StarCraft , realizado en 1998 por Blizzard Entertainment. Esta producción nace como
un juego de estrategia en tiempo real. En ella se narra la historia del futurístico
conflicto entre tres razas espaciales, dejando al jugador el control total sobre
cualquiera de ellas a su elección.
[r6]Para la creación de StarCraft se tomaron ideas de Dune 2 , que fue el primer
desarrollo en tiempo real que permitió jugar con total libertad de acción: se podían
mover las unidades por todo el mapa, se podía atacar cualquier objetivo y se podían
construir tantos edificios o unidades como fuera necesario. Otras creaciones que
[r7]inspiraron la obra central de este proyecto fueron Command & Conquer , Age of
[r8] [r9]Empires y WarCraft II : de éstas se tomaron ideas de gráficos, menús, misiones,
interfaz… Desde su publicación, StarCraft ha tenido una base de jugadores numerosa y
[r10]participativa. Recientemente se ha publicado su segunda parte, StarCraft 2 , siendo
uno de los eventos más importantes del sector durante el año 2010.
El desarrollo planteado en este proyecto consiste en la implementación de un
cliente de juego de StarCraft. En él se implementan las opciones disponibles para el
jugador local, dejando como líneas futuras el trabajo en red y la inclusión de
inteligencia artificial. Las tecnologías utilizadas para la implementación son los
[7] [8] [9]productos de Microsoft XNA Game Studio , .NET Framework y Visual C# . Una vez
desarrollado, el producto puede ser clasificado como videojuego indie de estrategia en
[10]tiempo real .
3

4
Índice general
Resumen ......................................................................................................... 3
Índice general .................................................................. 5
Índice de figuras .............................. 9
Índice de tablas ............................. 15
Índice de código ................................................................ 22
Capítulo 1 Introducción .................. 25
1.1. Motivación del proyecto ...................................................................... 26
1.2. Objetivos ............................................................................................. 28
1.3. Contenido de la memoria..................................... 31
Capítulo 2 Estado de la cuestión ................................ 34
2.1. Taxonomía del videojuego ................................... 35
2.1.1. Shoot´em Up ................................................................................. 35
2.1.2. Beat´em Up ................................................................................... 37
2.1.3. Estrategia ...................... 39
2.1.5. Conducción ................................................... 42
2.1.6. Deportivo ...................... 44
2.1.7. Role-Playing Game........................................................................ 45
2.1.8. Aventura gráfica ........................................................................... 49
2.1.9. Puzzle ............................................................................................................................ 51
2.1.10. Juego musical ............................................................................. 52
2.1.11. Juego de movimiento ................................................................. 52
2.1.12. Party game.................................................................................................................. 53
2.1.13. Juego de preguntas .................................... 54
2.1.14. Plataformas ................................................ 54
2.1.15. Training ....................................................... 55
2.1.16. Sandbox ...................... 56
2.1.17. Conclusión .................. 56
2.2. Historia del videojuego de estrategia en tiempo real ............................ 57
2.2.1. Prólogo: orígenes del género ....................................................................................... 58
2.2.2. Época dorada: los años de gloria .................. 61
2.2.3. Las tres dimensiones: una revolución .......................................................................... 69
2.2.4. Época de madurez: una nueva generación................................... 74
2.2.5. Epílogo: conclusiones y tendencias .............................................. 78
2.3. El videojuego StarCraft ........................................................................ 82
2.3.1. La compañía.................................................................................................................. 82
2.3.2. StarCraft en detalle....................................................................... 84
2.3.3. Actualidad ..................... 97
2.4. XNA Game Studio ................................................................................ 98
2.3.1. Estudio de alternativas ................................. 99
2.3.2. Elección de XNA .......................................... 102
5
2.3.3. XNA versión 3.1 .......................................................................................................... 104
Capítulo 3 Fase de análisis ........................................... 109
3.1. Alcance del sistema ........................................... 110
3.2. Requisitos de usuario......... 111
3.2.1. Requisitos de capacidad ............................................................. 112
3.2.2. Requisitos de restricción ............................................................ 118
3.3. Requisitos de software ...................................... 129
3.3.1. Requisitos funcionales 130
3.3.2. Requisitos no funcionales ........................................................... 147
3.4. Casos de uso ...................................................................................... 159
3.4.1. Diagrama de casos de uso .......................... 159
3.4.2. Especificación textual de los casos de uso ................................. 161
3.5. Diagrama de actividad ....................................................................... 172
3.6. Diagramas de secuencia ..... 173
Capítulo 4 Fase de diseño ............. 178
4.1. Diseño de interfaz .............................................................................. 179
4.2. Diagrama de clases ............ 185
4.3. Definición de clases ........... 187
4.3.1. Clase StarCraftGame................................................................................................... 187
4.3.2. Clases ScreenManager, InputState y GameScreen ..................... 189
4.3.3. Clases Screen .............................................. 191
4.3.4. Clase AudioManager .................................................................................................. 193
4.3.5. Clase ScreenElement .. 194
4.3.6. Clase ControlBarScreenElement ................................................................................. 195
4.3.7. Clase MouseScreenElement ....................... 197
4.3.8. Clase MapScreenElement ........................................................................................... 199
4.3.9. Clase TileScreenElement ............................ 202
4.3.10. Clase UnitScreenElement ......................... 204
4.3.11. Clase Image ............................................................................................................... 209
Capítulo 5 Fase de implementación .............................. 212
5.1. Introducción ...................................................................................... 213
5.2. Imágenes ........................... 213
5.3. Dibujado en pantalla ......................................................................... 218
5.4. Mapa ................................. 221
5.4.1. Definición.................................................................................... 221
5.4.2. Dibujado y desplazamiento ........................ 224
5.5. Unidades y edificios ........................................................................... 227
5.5.1. Imágenes .................... 227
5.5.2. Detección de colisiones .............................. 230
5.5.3. Movimiento y orientación .......................... 233
5.5.4. Búsqueda de caminos ................................................................................................. 236
6
5.5.5. Órdenes ...................................................................................................................... 243
Capítulo 6 Conclusiones ............................................................................... 249
6.1. Conclusiones ..................... 250
Capítulo 7 Líneas futuras .............. 253
7.1. Líneas futuras .................................................................................... 254
Anexo A Planificación .................. 257
A.1. Introducción ...................... 258
A.2. Ciclo de vida de un videojuego comercial ........................................... 258
A.3. Planificación y etapas del proyecto .................... 260
A.3.1. Planificación inicial ..................................................................... 261
A.3.2. Planificación final ....................................................................... 273
A.4. Presupuesto del proyecto .................................................................. 287
A.4.1. Presupuesto inicial ..................................... 287
A.4.2. Presupuesto final ....................................... 288
A.5. Publicación del juego ......................................................................... 290
Anexo B Manual de usuario ......... 293
B.1. Instalación ......................................................................................... 294
B.2. Menús ............................... 294
B.3. Pantalla de juego ............................................................................... 298
B.4. Bandos .............................................................................................. 300
B.5. Unidades ........................... 300
B.6. Edificios ............................. 302
B.7. Órdenes ............................................................................................ 303
B.8. Controles ........................... 304
Anexo C Glosario, referencias y bibliografía ................................................. 307
C.1. Glosario de abreviaturas, términos y acrónimos ................................. 308
C.2. Referencias........................................................ 310
C.3. Bibliografía ................................ 321

7

8
Índice de figuras
Figura 1. Escena de Metal Slug X ____________________________________ 35
Figura 2. Escena de Call of Duty 7: Black Ops __________________________ 36
Figura 3. Escena de Max Payne 2: The Fall of Max Payne ________________ 36
Figura 4. Escena de Time Crisis 4 ____ 37
Figura 5. Escena de Street Fighter 4 _ 38
Figura 6. Escena de Tekken 5 _______________________________________ 38
Figura 7. Escena de Battletoads _____ 39
Figura 8. Escena de Devil May Cry 4 _ 39
Figura 9. Escena de Command & Conquer 3 ___________________________ 40
Figura 10. Escena de StarCraft 1 ____ 40
Figura 11. Escena de Heroes of Might & Magic 5 _______________________ 41
Figura 12. Escena de SimCity 4 ______________________________________ 42
Figura 13. Escena de Need for Speed Carbono _________________________ 43
Figura 14. Escena de Gran Turismo 5 _ 43
Figura 15. Escena de Mario Kart Wii _ 44
Figura 16. Escena de Tiger Woods PGA Tour 12 ________________________ 44
Figura 17. Escena de NBA Live 10 ___________________________________ 45
Figura 18. Escena de Tony Hawk’s Pro Skater 4 45
Figura 19. Escena de Baldur’s Gate __ 46
Figura 20. Escena de Dragon Age: Origins ____________________________ 47
Figura 21. Escena de The Legend of Zelda: Ocarina of Time ______________ 47
Figura 22. Escena de Final Fantasy X-2 _______________________________ 48
Figura 23. Escena de Fire Emblem: Radiant Dawn ______________________ 49
Figura 24. Escena de The Longest Journey ____________________________ 49
Figura 25. Escena de The Secret of Monkey Island 50
Figura 26. Escena de Grim Fandango ________________________________ 51
Figura 27. Escena de Lemmings _____ 51
Figura 28. Escena de Guitar Hero Metallica ___________________________ 52
Figura 29. Escena de Dance Dance Revolution: Hottest Party _____________ 53
Figura 30. Escena de Mario Party 8 __________________________________ 53
9
Figura 31. Escena de Buzz Quiz TV ___________________________________ 54
Figura 32. Escena de Super Mario Bros. 3 _____________________________ 55
Figura 33. Escena de Mind Quiz _____ 55
Figura 34. Escena de Far Cry 2 ______ 56
Figura 35. Escena de Bioshock 2 ____ 57
Figura 36. Escena de Herzog Zwei ___________________________________ 59
Figura 37. Escena de Mega-Lo-Mania 60
Figura 38. Escena de Stonkers ______ 61
Figura 39. Escena de Dune 2 _______ 64
Figura 40. Escena de Command and Conquer __________________________ 65
Figura 41. Escena de WarCraft II ____________________________________ 67
Figura 42. Escena de StarCraft ______ 68
Figura 43. Escena de Total Annihilation ______________________________ 71
Figura 44. Escena de Homeworld ____ 72
Figura 45. Escena de WarCraft III ___ 73
Figura 46. Escena de Homeworld 2 __________________________________ 74
Figura 47. Escena de Age of Empires III _______________________________ 77
Figura 48. Escena de The Lord of the Rings: The Battle for Middle Earth II ___ 78
Figura 49. Escena de Command & Conquer 3 __________________________ 80
Figura 50. Escena de Pikmin ________________________________________ 81
Figura 51. Logotipos actuales de Blizzard Entertainment ________________ 82
Figura 52. Editor de mapas oficial de StarCraft ________________________ 87
Figura 53. Escena de StarCraft (Raza Terran) __________________________ 90
Figura 54. Escena de StarCraft (Raza Zerg) ____________________________ 93
Figura 55. Escena de StarCraft (Raza Protoss) _________________________ 96
Figura 56. El motor de videojuegos XNA y su entorno __________________ 105
Figura 57. Modelo interno de XNA _________________________________ 106
Figura 58. Diagrama de Casos de Uso _______________________________ 160
Figura 59. Diagrama de actividad del sistema ________________________ 172
Figura 60. Diagrama de secuencia “Jugar” ___________________________ 173
Figura 61. Diagrama de secuencia “Actualizar y dibujar” _______________ 174
Figura 62. Diagrama de secuencia “Dar orden” _______________________ 175
10

¡Sé el primero en escribir un comentario!

13/1000 caracteres como máximo.