Acta De L'examen Del Treball Fi De Carrera
Total Page:16
File Type:pdf, Size:1020Kb
Escola Universitària d’Enginyeria Tècnica de Telecomunicació La Salle Treball Final de Grau Grau en Enginyeria Multimèdia Desarrollo de una librería para cargar mapas interactivos en videojuegos Alumne Professor Ponent Gerard Parareda Gallifa Alba Llauró Moliner ACTA DE L'EXAMEN DEL TREBALL FI DE CARRERA Reunit el Tribunal qualificador en el dia de la data, l'alumne D. va exposar el seu Treball de Fi de Carrera, el qual va tractar sobre el tema següent: Desarrollo de una librería para cargar mapas interactivos en videojuegos Acabada l'exposició i contestades per part de l'alumne les objeccions formulades pels Srs. membres del tribunal, aquest valorà l'esmentat Treball amb la qualificació de Barcelona, VOCAL DEL TRIBUNAL VOCAL DEL TRIBUNAL PRESIDENT DEL TRIBUNAL Abstract Castellano En este proyecto se pretende investigar sobre el desarrollo de los mapas interactivos que aparecen en los juegos de estrategia. Con ello, se busca dar un poco de luz a todas las técnicas que se usan para la creación de mapas, ya que prácticamente no hay documentación alguna de cómo se realizan. Además, se implementa una nueva técnica a partir de archivos topológicos TopoJSON, para conseguir un resultado parecido a los videojuegos profesionales con muchos menos recursos. El objetivo de dicha implementación es observar y documentar las posibilidades, ventajas y desventajas de usar un archivo TopoJSON como base para crear videojuegos o para saldar algunas necesidades que puedan tener los desarrolladores. Para dar respuesta a estas cuestiones, se ha comparado la implementación y los resultados entre diferentes metodologías para resolver el mismo problema: cómo crear un mapa dinámico, interactivo y modificable, concluye con la validación de que es posible hacer un videojuego usando mapas TopoJSON. Según los resultados, esto es posible si se buscan ciertas características, ya que responde sólidamente a unas necesidades concretas de creación de videojuegos. En definitiva, con este estudio se constata que se podría abstraer mucho más el concepto de mapa dinámico para diseñar e implementar una solución que pueda servir en multitud de juegos y softwares; y así dar paso a un género, de momento poco accesible, pero que busca reinventarse constantemente: la gran estrategia. v Desarrollo de una librería para cargar mapas interactivos en videojuegos Abstract Catalán En aquest projecte es pretén investigar sobre el desenvolupament dels mapes interactius que apareixen en els jocs d’estratègia. Amb això, es busca donar una mica de llum a totes les tècniques que s’empren per la creació de mapes, ja que pràcticament no hi ha cap documentació de com es fan. A més, s’implementa una nova tècnica a partir d’arxius topològics TopoJSON, per aconseguir un resultat semblant als videojocs professionals amb molts menys recursos. L’objectiu d’aquesta implementació és observar i documentar les possibilitats, avantatges i desavantatges d’usar un arxiu TopoJSON com a base per crear videojocs o per complir algunes necessitats que puguin tenir els desenvolupadors. Per poder respondre a aquestes qüestions, s’ha comparat la implementació i els resultats entre diferents metodologies per resoldre el mateix problema: com crear un mapa dinàmic, interactiu i modificable, arribant a la conclusió de que és possible fer un videojoc usant mapes TopoJSON. Segons els resultats, això és possible si es busquen certes característiques, ja que responen sòlidament a unes necessitats concretes de la creació de videojocs. En definitiva, amb aquest estudi es constata que es podria abstreure molt més el concepte de mapa dinàmic per dissenyar i implementar una solució que pugui servir en multitud de jocs i software; i així donar pas a un gènere, de moment poc accessible, però que busca reinventar- se constantment: la gran estratègia. vi Abstract Inglés This project aims to investigate the development of interactive maps that appear in strategy games. With this, it is intended to shed some light on all the techniques used to create maps, since there is practically no documentation of how they are done. In addition, a new technique is implemented using topological TopoJSON files, to achieve a result similar to professional videogames with much less resources. The objective of this implementation is to observe and document the possibilities, advantages, and disadvantages of using a TopoJSON file as a basis for creating videogames or to meet some needs that developers may have. To answer these questions, different methodologies implementation and results have been compared whilst trying to solve the same problem: how to create a dynamic, interactive and modifiable map, which concludes with the validation that it is possible to make a videogame using TopoJSON maps. According to the results, this is possible if certain characteristics are sought since it responds solidly to specific needs for videogames creation. In short, this study shows that the concept of dynamic maps could be much more abstracted in order to design and implement a solution that can be used in a multitude of games and software; thus giving way to a genre, which is not very accessible at the moment, but which constantly seeks to reinvent itself: the grand strategy. vii Desarrollo de una librería para cargar mapas interactivos en videojuegos Agradecimientos A Alun Evans, por el tiempo que me dio en la beca, de donde salió la idea de TopoMap. A Roger Cecília, Pol Muñoz y Álex Cordon por la paciencia y ayuda proporcionada. viii ix Desarrollo de una librería para cargar mapas interactivos en videojuegos Contenido 1 Introducción .......................................................................................................................... 1 1.1 Marco teórico ................................................................................................................ 1 1.2 Problema inicial ........................................................................................................... 14 1.3 Estado del arte ............................................................................................................ 15 1.3.1 Herramientas de modding .................................................................................. 15 1.3.2 Generadores de mapas con bitmaps .................................................................. 17 1.3.3 Generadores de mapas poligonales .................................................................... 21 1.3.4 Librerías de mapas dinámicos ............................................................................. 24 1.4 Solución propuesta...................................................................................................... 26 2 Parte teórica ........................................................................................................................ 27 2.1 JSON ............................................................................................................................ 27 2.1.1 GeoJSON .............................................................................................................. 28 2.1.2 TopoJSON ............................................................................................................ 29 2.2 Unity ............................................................................................................................ 30 2.2.1 JsonUtility ............................................................................................................ 30 2.3 Triangulator ................................................................................................................. 30 2.4 Regex ........................................................................................................................... 31 2.5 Mapa TopoJSON .......................................................................................................... 32 3 Parte práctica ...................................................................................................................... 33 3.1 Lectura de TopoJSON .................................................................................................. 33 3.1.1 Lectura de arrays multidimensionales con JsonUtility ........................................ 33 3.1.2 Elementos clave de las especificaciones ............................................................. 34 3.1.3 Transforms .......................................................................................................... 36 3.1.4 Arcs ...................................................................................................................... 36 3.2 Índices de Arcs ............................................................................................................. 37 3.3 Representación de un TopoJSON ................................................................................ 39 3.3.1 Distinguir provincias ............................................................................................ 41 3.3.2 Seleccionar distintas provincias .......................................................................... 43 3.3.3 Modificar las provincias....................................................................................... 44 4 Costes del proyecto ............................................................................................................. 46 5 Conclusiones........................................................................................................................ 47 x 6 Líneas de futuro .................................................................................................................