• No se han encontrado resultados

Game Design e IA para desarrollo de un videojuego

N/A
N/A
Protected

Academic year: 2020

Share "Game Design e IA para desarrollo de un videojuego"

Copied!
99
0
0

Texto completo

(1)Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Graduado en Ingeniería Informática Universidad Politécnica de Madrid Escuela Técnica Superior de Ingenieros Informáticos TRABAJO FIN DE GRADO. Game Design e IA para desarrollo de un videojuego. Autor: Alberto Castaño Burgos Director: Antonio Latorre De la Fuente. MADRID, JUNIO 2016.

(2) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. INDICE 1. INTRODUCCIÓN ................................................................... 2 1.1. Motivación _____________________________________ 2 1.2. Objetivos ______________________________________ 3 1.3. Estructura del documento __________________________ 4 2. ESTADO DEL ARTE .............................................................. 6 2.1. Industria de los videojuegos ________________________ 6 2.2. Tendencias en el desarrollo de videojuegos ___________ 11 2.3. Roles en el desarrollo de videojuegos _______________ 14 2.4. Game Design __________________________________ 15 2.4.1. Importancia del diseño ................................................................ 15 2.4.2. Funciones del Game Designer en un equipo .............................. 16. 2.5. Inteligencia Artificial en el desarrollo de videojuegos ___ 18 2.6. Generación de contenido _________________________ 19 2.6.1. Contenido .................................................................................... 19 2.6.2. Generación procedimental .......................................................... 20 2.6.3. Uso de la generación procedimental en videojuegos .................. 20 2.6.4. Algoritmos de generación procedimental ................................... 22. 2.7. Controladores __________________________________ 23 2.7.1. Comportamientos y estados ........................................................ 23 2.7.2. Controladores de NPCs ............................................................... 24 2.7.3. Controladores de objetos interactivos ......................................... 25. 3. DESARROLLO DEL TRABAJO ........................................ 26.

(3) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 3.1. El juego ______________________________________ 26 3.2. Herramientas y tecnología ________________________ 29 3.3. Diseño del juego ________________________________ 31 3.3.1. Objetivos ..................................................................................... 34 3.3.2. Avance de la partida.................................................................... 38 3.3.3. Dificultad .................................................................................... 39 3.3.4. Diseño de nivel ........................................................................... 40 3.3.5. Diseño de mecánicas ................................................................... 43 3.3.6. Diseño de enemigos .................................................................... 46 3.3.7. Diseño de objetos ........................................................................ 48 3.3.8. Cámara ........................................................................................ 49 3.3.9. Controles ..................................................................................... 50. 3.4. Generación procedimental ________________________ 51 3.4.1. Generación de niveles ................................................................. 52 3.4.2. Generación de objetos ................................................................. 58 3.4.3. Generación de enemigos ............................................................. 60 3.4.4. Instanciación ............................................................................... 61. 3.5. Controladores __________________________________ 61 3.5.1. Controladores de enemigos ......................................................... 62 3.5.2. Controladores de objetos ............................................................ 63. 3.6. Scripting general _______________________________ 64 3.7. Problemas encontrados durante el desarrollo __________ 65.

(4) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 4. METODOLOGÍA DE TRABAJO ....................................... 68 5. CONCLUSIONES .................................................................. 72 5.1. Metas iniciales _________________________________ 72 5.2. Estado final del proyecto _________________________ 72 5.3. Valoraciones ___________________________________ 73 5.4. Posibles líneas futuras ___________________________ 74 A. ANEXO .................................................................................. 76 A.1. Game Design Document (GDD) ___________________ 76 A.1.1. Game Concept ............................................................................ 76 A.1.2. Estilo visual ................................................................................ 79 A.1.3. Estilo de audio ............................................................................ 79 A.1.4. Comienzo de la partida .............................................................. 79 A.1.5. Descripción del Gameplay ......................................................... 81 A.1.6. Mecánicas................................................................................... 83 A.1.7. Controles .................................................................................... 85 A.1.8. Modos de juego .......................................................................... 85 A.1.9. Win Conditions ........................................................................... 85 A.1.10. Score......................................................................................... 85 A.1.11. Currency................................................................................... 86 A.1.12. Eventos principales .................................................................. 86 A.1.13. Misiones ................................................................................... 87 A.1.14. Assets ........................................................................................ 87. Bibliografía _______________________________________ 88.

(5) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. INDICE DE FIGURAS. Figura 1: Simulador de lanzamiento de misiles, 1947 .................................. 6 Figura 2: Libro blanco del desarrollo de videojuegos español 2015 ............ 8 Figura 3: Datos del mercado por plataformas ............................................... 8 Figura 4: Demanda de plataformas en la industria ..................................... 10 Figura 5: Generación procedimental de Minecraft. .................................... 21 Figura 6: Diagrama de estados del jugador ................................................. 23 Figura 7: Rogue, 1980 ................................................................................. 26 Figura 8: The Binding of Isaac, 2011.......................................................... 27 Figura 9: The Art Of Game Design ............................................................. 32 Figura 10: Challenges for Game Designers ................................................ 32 Figura 11: Game Design Workshop ............................................................ 33 Figura 12: Métricas de identificación de jugador ....................................... 37 Figura 13: Esquema de niveles del juego.................................................... 38 Figura 14: Aproximación de curva de dificultad de Rogue-Like ................ 39 Figura 15: Mapa de nivel de Super Metroid, 1994 ..................................... 40 Figura 16: Ejemplo nivel del juego desarrollado ........................................ 41 Figura 17: Half-Life 2 y Portal 2 de Valve. ................................................ 43 Figura 18: Prototipo de fase de combate. .................................................... 44 Figura 19: Prototipo de fase fuera de combate. .......................................... 45 Figura 20: Triángulo de debilidades. .......................................................... 46 Figura 21: Colocación de cámara cenital .................................................... 49 Figura 22: Colocación cámara isométrica. .................................................. 49 Figura 23: Generación de salas a partir de la actual. .................................. 52 Figura 24: Generación de camino solución................................................. 54.

(6) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Figura 25: Caso inviable de generación ...................................................... 55 Figura 26: Generación de caminos alternativos. ......................................... 58 Figura 27: Prioridad de tareas, Trello. ........................................................ 69 Figura 28: Desglose de tareas para su seguimiento, Trello. ....................... 69.

(7) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Agradecimientos. Antes de comenzar con el documento que trata el desarrollo llevado a cabo durante este semestre, guardo este apartado para agradecer a las personas que me han ayudado a hacerlo posible. Doy las gracias al profesor y tutor del proyecto Antonio Latorre por aceptar la propuesta de trabajo y ayudarnos a conseguir un lugar donde poder llevarlo a cabo. También le doy las gracias a mi compañero de trabajo Daniel Peña por haberme acompañado a diario durante el desarrollo y hacer de este proyecto algo más productivo y ameno. Por último, doy las gracias a mi madre por aconsejarme hacer lo que me gusta por encima de otros trabajos que puedan resultar de mayor interés a nivel de ingeniería.. ii.

(8) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Resumen El proyecto descrito en el presente documento consiste en el desarrollo del prototipo de un videojuego diferenciando sus tres principales componentes: diseño, arte y programación. El videojuego es del género rogue-like y está basado en niveles de salas creados mediante generación procedimental. La carga de este trabajo se dividirá entre los componentes de un equipo formado por estudiantes de diseño y estudiantes de ingeniería informática, y cada una de las partes documentará su apartado del proyecto. En este apartado se tratan tres temas: el diseño del videojuego, la generación procedimental de niveles y los controladores. En el apartado de diseño del videojuego se desarrolla un documento que describe todos los detalles decisivos a tener en cuenta de cara a desarrollar el proyecto. Mediante el uso de generación procedimental se busca crear un sistema basado en salas, las cuales, mediante conexiones, componen un nivel completo del videojuego siguiendo ciertas restricciones que nos permiten modelar esos niveles a nuestro gusto. Estas restricciones, además, vienen determinadas por el comportamiento adoptado por el jugador, el cual es determinado por medio de un sistema de adaptación a partir de métricas. Los controladores del videojuego son sencillos y definen el comportamiento de los Non Playable Characters (NPC) existentes en el juego. Estos controladores también cambiarán su conducta en función del comportamiento del jugador.. iii.

(9) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Abstract The project described in this document involves the development of a videogame with three main components: design, art and programming. The game is a rogue-like whose levels are composed by rooms and generated by a procedural generation method. The workload of the project is divided between a group which is composed by design students and another group made up of computer science students. Each of those parts has been documented independently. In this document the following three main points will be described: Game design of the game, procedural level generation and controllers for non-playable characters. The game design of the videogame is defined in a document where all the game details are described and justified. By using procedural generation algorithms, the team has created a room-based system in order to create complete levels of the game. Those levels are affected by the player’s behavior, which is determined using an adaptation system with the player metrics. Non-playable characters controllers are simple and their behaviors are modified by the adaptation system.. iv.

(10) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 1. INTRODUCCIÓN 1.1. Motivación Durante los últimos años, la industria del videojuego se ha diversificado, siendo actualmente el mejor momento hasta la fecha para desarrolladoras independientes. Este cambio en el mercado ha venido marcado por los avances de la tecnología en algunos campos, siendo algunos de los más importantes los siguientes: -. -. -. -. Dispositivos móviles “Smartphone”. Históricamente, han existido, en lo relativo a videojuegos, diversos dispositivos móviles, como pudieran ser la serie GameBoy de Nintendo, el NGage de Nokia o Sony unos años más tarde con su serie PSP. Con la explosión actual de los Smartphones y su potencia en hardware y software, se ha visto disparado el consumo de videojuegos en este ámbito. Internet y redes sociales. Actualmente todo el mundo está conectado a la red, todo el mundo expresa su opinión a través de internet, publicando sus gustos o quejas a través de redes sociales. La publicidad que antes se hacía mediante medios especializados (anuncios en TV, revistas en formato físico, etc.) o directamente a través del boca a boca ha quedado obsoleta. Actualmente, a través de la red, la capacidad de que un videojuego se haga viral recae en gran medida en lo que se hable del juego en redes sociales. Potencia gráfica. En la década de los 80 algunos videojuegos ya empezaban a despuntar (Tetris, PacMan, Super Mario Bros., Contra, etc.), aunque la potencia de los computadores caseros era sumamente limitada. En el transcurso de los últimos años se ha llevado a cabo un gran avance en el campo de la computación gráfica. Los ordenadores hoy son mucho más potentes e incluso algunos pueden estar únicamente diseñados con la finalidad de jugar. Motores gráficos comerciales. Muchas grandes empresas ponían a disposición de la comunidad los motores gráficos que la propia empresa había empleado en sus juegos. Estos motores no tenían por qué ser genéricos: podían haber sido creados con el único propósito de programar un juego de un género en concreto, incluso un solo juego. Recientemente han surgido un gran número de motores comerciales genéricos que se adaptan a cualquier tipo de videojuego. Ejemplos de estos motores pueden ser Unity, Unreal Engine o CryEngine. Esto ha provocado que el perfil de persona que se dedica al desarrollo videojuegos no tenga necesariamente que ser alguien especializada en programación.. 2.

(11) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Actualmente, las funciones que cumple un desarrollador de videojuegos en una empresa pequeña o media que se dedique al desarrollo “independiente”, aun teniendo un publisher, suelen abarcar varios roles en uno. Esto implica que para comenzar en la industria del videojuego, un desarrollador necesita tener unos conocimientos básicos de todos los campos, incluyendo diseño, arte y programación. Dado que se necesita un conocimiento general de todas las ramas que forman parte del desarrollo, lo ideal a la hora de comenzar a crear videojuegos es comenzar por juegos sencillos y cortos, pero completos. Muchos videojuegos muestran como, aun siendo cortos y sencillos técnicamente, son capaces de atraer a usuarios y ofrecerles grandes horas de entretenimiento. Hay muchos métodos para poder alargar la duración de un juego. En cuanto a mis gustos, siempre me han generado interés cómo juegos como The binding of Isaac, Rogue Legacy, Spore o Diablo crean esa sensación de estar jugando algo totalmente distinto cada vez que comienzas a jugar una nueva partida. Ahora que poseo los conocimientos técnicos necesarios para poder estudiar estos videojuegos y sus técnicas, tengo la oportunidad perfecta para hacerlo con este trabajo de fin de grado.. 1.2. Objetivos Los objetivos que pretende conseguir este proyecto son: -. Estudio de la definición de Game Design y su intervención en los videojuegos. Estudio de las distintas partes del diseño (de nivel, mecánicas, dinámicas, etc.) que componen dicha fase durante el desarrollo de un videojuego. Aplicación de dichos conocimientos para sentar las bases de un videojuego mediante su Game Design Document (GDD). Desarrollo de un videojuego rogue-like [1] sencillo que muestre dicho diseño. Estudio de la taxonomía de generación de contenido para su uso en el desarrollo de videojuegos. Estudio de videojuegos que usan estas técnicas de generación procedimental de contenido (incluyendo objetivos de su uso, efectos, géneros, etc.).. 3.

(12) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. -. -. Estudio de los algoritmos más usados para la generación procedimental de contenido y su uso para generar niveles de mazmorras y para generar el contenido dentro de los niveles. Desarrollo de controladores sencillos para enemigos y otros objetos interactivos.. 1.3. Estructura del documento En esta memoria de proyecto vamos a explorar dos de las tres partes que intervienen durante el proceso de creación de un videojuego. Veremos los resultados de esta investigación a través de la creación de un videojuego que las muestre. A continuación se presenta la estructura de este documento: -. Capítulo 1: Introducción del documento. Motivación y objetivos. Capítulo 2: Estado del arte.. Tras introducir el proyecto y comentar el estado del desarrollo y tecnología actual empleada en el desarrollo de videojuegos, los siguientes capítulos explican las técnicas utilizadas durante la creación de nuestro videojuego. -. Capítulo 3: Game Design. Uso del diseño en los videojuegos. Capítulo 4: Estructura de un GDD (Game Design Document). Capítulo 5: Generación de Contenido y Generación procedimental. Capítulo 6: Algoritmos de generación procedimental de contenido en el desarrollo del videojuego. Capítulo 7: Controladores para desarrollo del videojuego.. Una vez explicadas todas las técnicas, fases y métodos de trabajo, el documento finaliza con unos capítulos que hablan sobre cómo se ha llevado el desarrollo del videojuego, como implementaciones, problemas, soluciones y conclusiones. -. Capítulo 8: Detalles sobre el desarrollo del videojuego. Capítulo 9: Tecnologías y herramientas usadas para el desarrollo del proyecto. Capítulo 10: Valoración final y conclusiones. Anexo: Game Design Document (GDD). Bibliografía. 4.

(13)

(14) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2. ESTADO DEL ARTE 2.1. Industria de los videojuegos Para comenzar a hablar de videojuegos, es conveniente conocer su definición y cuándo y cómo surgió la idea de crear juegos interactivos a través de la tecnología. ¿Qué es un videojuego? Si acudimos a la RAE encontramos la siguiente definición: “Dispositivo electrónico que permite, mediante mandos apropiados, simular juegos en las pantallas de un televisor o de una computadora.” Esta definición también nos ayuda a distinguir entre dos términos que siempre han traído discusión respecto al origen de los videojuegos y su creador. Los primeros juegos que fueron simulados por computadora datan de 1947 [2], con el simulador de lanzamiento de misiles de Thomas T. Goldsmith Jr. y Estle Ray Mann.. Figura 1: Simulador de lanzamiento de misiles, 1947. Este juego muchas veces es considerado a su vez como el primer videojuego de manera errónea, pues para ser un videojuego necesita poder ser integrado en un sistema de vídeo (monitor o TV). En esta época, los ordenadores eran carísimos y la tecnología empleada por los mismos no permitía la integración de un videojuego. Los videojuegos sólo podían ser jugados en algunos supercomputadores. Fue en 1951 cuando Ralph Bear, un ingeniero que trabajaba para Loral (compañía de TV), dio a su superior la idea de crear un sistema de televisión que permitiera a los clientes jugar a videojuegos. En ese momento fue cuando comenzó la historia de los videojuegos.. 6.

(15) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. A partir de esta fecha comenzaron a surgir otros proyectos de juegos para computadores: el tres en raya en 1952, juego de tenis en 1958, juegos de naves en 1961, etc. Todo este esfuerzo en la investigación de la computación gráfica obtuvo uno de los mejores resultados en 1966, cuando Ralph Bear trabajó en algunos prototipos de los que había planteado en 1951 y consiguió un acuerdo con Magnavox para crear el primer sistema de videojuegos de la historia. En 1972, el sistema Odyssei [3] era lanzado. Juegos de este sistema como el PONG [4] de Atari comenzaron a estar de moda. Así fue como comenzó la época de las Arcade que seguiría a estos sistemas. La industria de los videojuegos hoy en día está más asentada que entonces, pero aún en muchos países el desarrollo de videojuegos no está al nivel de importancia que están otros medios de entretenimiento como pueda ser la televisión, el libro o el cine. Aunque durante los últimos años las ganancias que generan los videojuegos es mayor que la generada por el cine y la literatura en conjunto, la mayor parte del negocio en videojuegos se encuentra en un reducido número de países. El desarrollo y consumo de videojuegos es algo más asentado en Asia Pacífico (con un 45% de la cuota global) y Norte América (con un 27%). Incluso hoy en día algunas producciones en videojuegos (los llamados triple A) superan con creces las superproducciones (blockbusters) del cine. El mayor ejemplo de la potencia del mercado de los videojuegos viene de la mano de Rockstar, compañía que recaudó 815 millones de dólares en las primeras 24 horas con la venta de GTA V. Para hacerse una idea de lo que esto significa, Harry Potter recaudó 220 millones durante las primeras 24 horas. En cuanto a volumen de usuarios, el estallido en cuanto a usuarios ha venido provocado por los Smartphones y por consolas más dirigidas al público casual, como la Wii de Nintendo. Según Newzoo [5], el mercado global en 2014 fue de 83.600 millones de dólares y se pronostica en función del crecimiento estable de esta industria que para el 2018, los videojuegos alcanzarán la cifra de 113.300 millones de dólares si sigue una tasa de crecimiento anual del 7,9%. Otras estimaciones más conservadoras, como la de PWC, estima 93.180 millones en 2019, con una tasa de crecimiento del 5,7%.. 7.

(16) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Figura 2: Libro blanco del desarrollo de videojuegos español 2015. Como se puede observar, el tipo de negocio que se está imponiendo en el mercado de los videojuegos está dirigido a la compra digital. Ésta puede ser causada por el avance de la tecnología de intercambio de datos y las grandes velocidades que se ofrecen hoy en cuanto a las conexiones a Internet. Otro de los cambios que están viéndose impulsados durante los últimos años son las plataformas en las que se juegan los videojuegos.. Figura 3: Datos del mercado por plataformas. 8.

(17) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. En países como España, durante los últimos años, el interés en la creación de estudios de desarrollo de videojuegos ha estado creciendo de manera asombrosa, causa que puede venir provocada debido a que España es, de Europa, el cuarto país que más consume videojuegos, detrás de Francia, Alemania y Reino Unido. El alcance e impacto de los videojuegos en la población es otro dato interesante de cara su desarrollo. Para mejorar el modelo de negocio, es importante saber el tipo de jugador que tienes y qué tipo de juego le gusta, para así, en vez de improvisar, centrar el contenido en torno a sus gustos. Gran parte de la población de los países más consumidores juega online a los videojuegos (19% en España), lo que concuerda con la reciente moda que tienen todas las desarrolladoras en sus videojuegos de añadir un modo online sea cual sea su género. En España la venta en formato físico sigue siendo la principal fuente de ingresos del sector (54% de ventas en este formato). Según la EGDF (European Games Developer Federation), Francia es el país que impulsa el desarrollo de videojuegos en Europa, con 250 estudios implantados en su país y una facturación de 3.677 millones de euros. España está en sexto lugar, con un total de 400 estudios (país europeo con mayor número de estudios implantados) y una facturación de 413 millones. Por delante de España quedan Alemania, Finlandia, Reino Unido y Suecia. España está actualmente situada como uno de los mercados más fuertes en el sector de los videojuegos con unos ingresos de 1.485 millones de dólares, lo que le hace el noveno país a nivel mundial, según Newzoo.. 9.

(18) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Figura 4: Demanda de plataformas en la industria. Las plataformas con mayor demanda en España son los dispositivos móviles (con un 82%), seguidos de la consola y PC (respectivamente con 56% y 55%). Además, España es uno de los pocos países a nivel Europeo en el que el público adulto es un perfil con alta demanda de videojuegos (72%), siendo sólo superado por el público juvenil (75%) por poco margen. Esto hace de España un sitio perfecto para poder desarrollar un tipo de productos más maduros. También justifica por qué España es el cuarto país Europeo que más consume videojuegos, puesto que el público es adulto y tiene mayor poder económico. Como último aporte, España está actualmente situada como segundo país a nivel mundial en cuanto a jugadores que utilizan más de una plataforma para jugar. El 31% de nuestros jugadores juegan en las cuatro principales plataformas: PC, consolas, consolas portátiles y dispositivos móviles. Todos los datos comentados en este apartado han sido recogidos del documento Libro blanco del desarrollo de videojuegos español de la Asociación española de Empresas Productoras y Desarrolladoras de videojuegos (AEV) [6]. 10.

(19) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.2. Tendencias en el desarrollo de videojuegos Actualmente estamos viviendo el estallido de lo que se conoce como fenómeno “indie” [7]. Los estudios independientes están ganándose el mercado con ideas innovadoras. Es lógico pensar que los estudios ya asentados no arriesguen innovando ya que, sabiendo lo que la gente quiere, es más eficiente económicamente darles lo que sabes que van a consumir. Las desarrolladoras independientes, al no estar bajo presión de una distribuidora, buscan experimentar y descubrir nuevas mecánicas y géneros. Estos últimos años, las grandes compañías (Microsoft, Ubisoft, Sony) están usando los estudios “independientes” como fuente de ideas, dado que si algo creado con presupuesto limitado funciona o crea una nueva moda, podrían beneficiarse para continuar creando ese tipo de juegos. Ejemplos de este tipo de modas son el resurgimiento de las aventuras gráficas a partir de los videojuegos de Telltale Games, los juegos del género rogue-like como The Binding of Isaac [8] o Rogue Legacy [9] y los juegos de dificultad extrema debido a la saga Demon’s Souls y Dark Souls de FromSoftware. Por otro lado, el perfil de jugador se está comenzando a diversificar. El perfil más predominante es el jugador casual, que tiene poco tiempo para jugar. Este tipo de jugador está situado en la plataforma de dispositivos móviles. Por ello, gran parte de los juegos que se desarrollan hoy en día para Smartphone son juegos de una duración corta como el conocido Candy Crush Saga de King. Otro mercado que se ha trasladado a los dispositivos móviles ha sido el de los juegos de navegador. Este tipo de juegos, que ya eran para jugadores casuales, encaja perfectamente con el perfil de usuarios de dispositivos móviles. Juegos como por ejemplo Clash of Clans de Supercell, basado en los clásicos juegos de estrategia de navegador, han supuesto un enorme éxito en dispositivos móviles. El perfil de jugador clásico suele referirse a los adultos que crecieron jugando clásicos de los 80 y los 90. Ejemplos del tipo de juegos que identifica a este sector son los de las máquinas Arcade (Golden Axe, Street Fighter, Bomberman, Metal Slug, Donkey Kong…) y los clásicos de ordenador (Monkey Island, The Day of the Tentacle, Baldur’s Gate, Diablo, Half-Life…). Este perfil no tiene demasiado interés para las distribuidoras, puesto que no es algo tan demandado como los juegos casuales para móvil y otras plataformas.. 11.

(20) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Este tipo de jugadores, que antes eran jóvenes, ahora se han convertido en personas adultas con un gran poder adquisitivo en conjunto. Esto ha causado que algunas desarrolladoras de juegos destinados a este tipo de jugadores se puedan permitir prescindir de las distribuidoras y financiar sus juegos a través de los propios jugadores. Este fenómeno, llamado crowdfunding [10], se ha puesto de moda y ha hecho que compañías como Obsidian (formada por ex trabajadores de Black Isle) o Doublefine (de Tim Schafer) puedan crear sus propios videojuegos para un público más reducido pero con más poder económico. El perfil de jugador online, que está compuesto en su mayoría por el público joven (1218 años) es aquel que genera más beneficios en ventas. Por este motivo, es el target estándar de las distribuidoras a la hora de financiar proyectos de las desarrolladoras. Juegos que entran dentro de este tipo de jugadores pueden ser Call Of Duty, Gran Theft Auto, FIFA, NBA, League of Legends, etc. Estos perfiles por supuesto no tienen por qué identificar a todo el mundo de forma absoluta: es posible que alguien disfrute de los juegos casuales y de otro tipo. Tras examinar los diferentes perfiles, las tendencias del mercado quedan más o menos expuestas en función de la demanda. Los juegos para móviles son los que más impacto generan, pero el dinero que generan viene de manera indirecta respecto al producto, es decir, mediante publicidad dentro del propio juego, o mediante pago por contenido o ventajas del juego desde el interior. Este tipo de modelo de juegos para dispositivos móviles se suele llamar “Freemium” [11], y es actualmente el único viable a nivel de negocio para las desarrolladoras de esta plataforma. Los juegos de pago único en dispositivos móviles no gustan, puesto que este público no juega con la iniciativa de pagar desde un inicio, simplemente lo toma como un pasatiempo más. Los géneros que más se suelen ver en este tipo de juegos son el de Puzzles y de Estrategia. Tras ellos, los juegos para el público joven, que suelen ser juegos online, se centran en la competitividad entre personas. Suelen ser juegos de deportes como NBA o FIFA, juegos de disparos como Battlefield o Call OF Duty, y otros que se salen más de la norma como Minecraft o League of Legends. El público joven en gran parte juega en consola, aunque debido al auge del PC durante estos últimos años también los jóvenes comienzan a jugar desde PC.. 12.

(21) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Para un público más adulto, que es el grupo más reducido y exigente, suelen darse, entre otros, los siguientes géneros: -. Rol (Dragon Age, The Witcher, Fallout, etc.) Acción (Uncharted, God Of War, Batman Arkham, Metal Gear Solid, etc.) Aventura gráfica (Grim Fandango, Monkey Island, The Day of the Tentacle, etc.) Estrategia (Age of Empires, Total War, Commandos, etc.). Este tipo de público suele dar más importancia a la narrativa y al desarrollo de los personajes. En el caso del juego que se va a desarrollar durante el proyecto, se trata de un juego que no tiene un género común definido, ya que rogue-like es una adaptación del nombre del juego Rogue de 1980, el cual ha tenido un fuerte componente en juegos más recientes del mismo estilo. También podría describirse como Metroidvania que es otra adaptación del nombre conjunto de Metroid y Castlevania, juegos que han tenido una gran influencia en los siguientes juegos de ese estilo. Generalmente, las personas con más experiencia en el mundo de los videojuegos lo suelen llamar juego de mazmorras. Este tipo de género va dirigido al público casual y adulto, por lo que el target es aún más reducido que los casos que se han descrito anteriormente. Se ha escogido este target de público debido a que, actualmente, la manera más común de comenzar en la industria (sin entrar a una empresa) es a través del crowdfunding, lo que requiere, en primer lugar, ganar el interés del público adulto por su poder económico. Debido a que actualmente hay tanta oferta de videojuegos a lo largo de cada año, los consumidores finalizan al completo pocos juegos. El mercado casual, sin entrar en el terreno de dispositivos móviles, está actualmente de moda debido, en gran medida, a que este no requiere mucho tiempo o esfuerzo por parte del jugador ya que las partidas suelen ser muy cortas y el consumidor de esta manera no siente esa presión de necesidad de tiempo para jugar.. 13.

(22) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.3. Roles en el desarrollo de videojuegos En las grandes compañías, las posiciones que ocupan sus trabajadores son tan específicas como grande sea la empresa. En desarrolladoras como BioWare o Rocksteady habrá personas dedicándose a programación de físicas, diseño de tutoriales, artista de luces, etc. Estos puesto son muy específicos y suele ocuparlos gente que cuenta con largos años de experiencia en la industria, durante los cuales ha adquirido los conocimientos técnicos necesarios para dicho rol. Sin embargo, antes de eso has de pasar por un proceso de conocimiento básico de desarrollo de videojuegos. Si nos abstraemos de todos esos puestos específicos en ciertas tecnologías concretas, podemos llegar a ver que sea cual sea el puesto, todos se pueden incluir dentro de uno de estos tres roles básicos: diseño, arte y programación. En los estudios independientes o en estudios de tamaño pequeño/medio podremos observar que sus puestos o trabajadores son artistas, diseñadores y programadores. Un diseñador suele crear la estructura del juego y marcar cómo va a funcionar. En estudios pequeños suele tomar el papel de Game Director, Guionista e incluso puede llegar a ser el Producer del proyecto. Los artistas se encargan de todo lo que proporciona experiencia emocional en el juego: Desde el concept art, el modelado, el rigging1, la animación, las cinemáticas hasta la propia música y sonidos del juego. Los programadores se encargan de implementar todas las mecánicas definidas por el diseñador, así como programar el Gameplay, el ciclo de juego, los menús, opciones gráficas, shaders2, etc. La implicación de cada uno en el resultado del desarrollo varía en función del equipo y del tipo y género del juego, así como del público objetivo y de la financiación.. 1. Rigging es el proceso mediante el cual se prepara un personaje para ser animado. Básicamente consiste en la colocación de huesos bajo las mallas creadas por el modelado. 2 Shader en el desarrollo de videojuegos es un programa dirigido a crear efectos de profundidad en los objetos mediante el uso de sombreados, reflejos y luces.. 14.

(23) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.4. Game Design 2.4.1. Importancia del diseño El diseño es la pieza clave sobre lo que se sustenta el resto del desarrollo de un videojuego y, aunque se pueden modificar decisiones relativas al diseño inicial, esto puede afectar de manera muy negativa al proceso, ya sea en tiempo o en resultados. Un buen diseño no garantiza como resultado un buen juego, pero un mal diseño arruina toda posibilidad de que se dé un buen juego. De las tres tareas básicas, puede suponer alrededor del 50% de impacto en el resultado final del desarrollo. Cualquier fallo en el diseño de un videojuego implica arrastrar aún más fallos a la parte de programación y arte. Como ejemplo, si una mecánica no ha sido implementada y al final del desarrollo se detecta la necesidad de dicha mecánica, se deberá integrar dicha mecánica en el diseño, lo cual repercutirá en cambios en la programación (variables en función del impacto de la mecánica) y en arte (animaciones, sonidos o efectos de partículas ligados a la mecánica). En muchas ocasiones, diseñadores como Hideo Kojima o Tim Schafer han comparado el diseño de videojuegos con la arquitectura, y han relatado como un Game Designer necesita estar preparado para trabajar bajo presión y como de difícil puede ser el conocer que si algo no resulta divertido o no gusta al consumidor eso resulta en un problema de diseño. Como resultado de toda esta responsabilidad, los Game Designers que tienen buenas ideas respecto a nuevas mecánicas que aplicar en un videojuego, o aquellos que, al igual que algunos directores de cine, poseen cierto estilo en sus juegos que los hace especiales y únicos, suelen ser ensalzados por encima del resto del equipo que participa en el proyecto. Aunque los artistas son los que realmente crean la experiencia, el diseñador es considerado como la mente creativa del juego. Ejemplos de diseñadores conocidos por sus obras son Hideo Kojima por la saga de Metal Gear, Tim Cain por Fallout y Arcanum, Casey Hudson de BioWare por Mass Effect y Star Wars KOTOR, Ken Levine de Bioshock, Peter Molyneux por Fable y Black & White (Lionhead Studios) e Hironobu Sakaguchi por la saga Final Fantasy. Cuando un estudio da con un diseñador cuyo juego ha tenido éxito, suele mantenerlo en plantilla, para poder hacer una siguiente entrega del título. Al igual que si un proyecto va mal o una vez puesto en venta, éste no genera beneficios, el Game Designer es el primero en la línea de responsables y suele acabar fuera de la empresa.. 15.

(24) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Muchas personas tienden a pensar, de manera errónea, que no se necesita nada para ser Game Designer. Únicamente con haber jugado a muchos videojuegos no es suficiente, el Game Designer debe tener un buen nivel de arte y programación, ya que al estar encargado de la creación del juego y de la planificación, debe conocer las limitaciones y dificultad que suponen sus peticiones y diseños. Un diseñador ha de saber qué puede pedir y qué no, así como poder estimar cuánto tiempo hay que dedicarle. Siguiendo este ejemplo, un diseñador no podría pedirle a un artista cómo quiere un personaje si no sabe expresarlo de manera adecuada para que un artista lo entienda. Debe ser capaz de exponer sus ideas tanto a artistas como programadores y que éstos las entiendan.. 2.4.2. Funciones del Game Designer en un equipo Teniendo en cuenta que ya sabemos la importancia de un Game Designer, debemos saber qué es el diseño. Ante una idea, una necesidad o un problema podemos aplicar el diseño para encontrar la solución. Esto se puede aplicar a videojuegos de la misma manera. Ante una idea para hacer un videojuego, un diseñador crea una estructura para convertir esa idea en un videojuego. Las tareas que se encargan a un diseñador son las siguientes: - Documentación: Una de las tareas más importantes cuando se trabaja en grupo es documentar todo para que luego esté claro para el resto del equipo. Es necesario que todos los documentos de especificación de diseños estén con un lenguaje claro, sean comprensibles y estén ejemplificados si es posible. - Mecánicas: Una de las funciones claves es el diseño de las mecánicas. En pocas palabras, una mecánica es aquello que el jugador puede hacer, explicado al máximo detalle posible. Ejemplos de mecánicas serían saltar, esquivar, atacar, recoger objetos, etc. También se suelen incluir detalles de las características del juego, como por ejemplo, puede saltar si le queda energía. En este caso ya hemos incluido la mecánica limitante de la energía. - Dinámicas: Las dinámicas son el motivo que se le da al jugador para realizar cierta acción o usar cierta mecánica. Las recompensas suelen ser el típico recurso usado para que el jugador haga algo. Subir de nivel, conseguir objetos, ventajas u otras modificaciones. En los casos en los que la narrativa lo permite o la inmersión es mayor, la historia o el momento en sí pueden directamente incitar al jugador a realizar cierta acción, como por ejemplo la venganza contra un antagonista.. 16.

(25) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. - Niveles: Esta tarea suele apartarse del resto del diseño y los que trabajan diseñando los niveles de un videojuego suelen exclusivamente dedicarse a esa tarea en concreto. La importancia de los niveles en los videojuegos es altísima, dado que las mecánicas dictan lo que puede hacer un jugador, pero todo eso hay que llevarlo a un entorno virtual en el que tenga sentido usar dichas mecánicas. Una caja detrás de la que cubrirse en un shooter, un spawn de enemigos en un juego de supervivencia o el diseño del interior de un edificio en un juego de sigilo pueden ser ejemplos que muestren la importancia de los niveles. - UI-Workflow: Es importante que el jugador no se sienta perdido. Para ello, el diseñador tiene que plantear una interfaz de usuario que muestre toda la información necesaria para disfrutar del juego. En ocasiones esto puedo llevar a no tener interfaz. También incluye los menús del juego y cómo éstos están conectados. - Comportamientos: Para jugar un videojuego, es importante que de cara al usuario no parezca vacío, es importante no romper la inmersión del jugador. Para todo esto el diseñador debe definir el comportamiento de los distintos elementos del diseño. Si un árbol se mueve, si se escucha el sonido del viento, si un NPC responde de diversas maneras, si un enemigo al verte te ataca, etc. Los comportamientos suelen basarse en estados e incluso pueden adaptarse al modo de jugar que adopte el usuario. - Planificación: En diferentes casos, el Game Designer adopta la posición de Lead Designer o Game Director. En estos casos el diseñador tiene que ser realista en cuanto al juego que desea hacer y el juego que realmente puede hacer. En diversos casos, un diseñador puede tener que eliminar cierta mecánica por falta de tiempo y/o presupuesto.. 17.

(26) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.5. Inteligencia Artificial en el desarrollo de videojuegos En el desarrollo de videojuegos, y de manera más exacta, en la programación de videojuegos, la importancia que posee la inteligencia artificial es bastante fuerte. En un videojuego, todos los modelos de comportamientos de los enemigos vienen definidos por programación de inteligencia artificial, y esto, aplicado a la cantidad de enemigos que puede traer consigo un videojuego, lo convierte en una tarea de gran importancia de cara al consumidor, quien va a experimentar el comportamiento de dicha inteligencia. Juegos como Metal Gear [12] introducen técnicas de ajuste para los comportamientos de los enemigos, haciendo que estos se adaptan al modo de jugar que tenga el consumidor. Muchos juegos también cuentan con la programación de IA a la hora de crear un sistema de ajuste de dificultad. Juegos como Diablo adaptan la dificultad al nivel del jugador con respecto al juego, haciendo que la curva de dificultad del mismo sea lo más suave y constante para facilitar la experiencia del consumidor. La inteligencia artificial puede incluir comportamientos de los enemigos, comportamientos de los objetos, avance de niveles, controles de mandos para el jugador, menús del juego, etc.. 18.

(27) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.6. Generación de contenido Para comenzar con este apartado debemos definir qué se entiende por contenido dentro de un videojuego. ¿Qué es el contenido en un videojuego?. 2.6.1. Contenido Por contenido se puede entender todo lo que se ofrece al usuario para poder disfrutar del juego. En función del juego, el contenido puede englobar la mayoría de elementos. Podemos incluir dentro de contenido desde objetos “físicos”, sus estadísticas, la música, la historia, hasta las propias mecánicas. Todo lo que sea contenido debe tener su función y objetivo dentro de la experiencia del juego. Por ejemplo, si es un escudo, deberíamos poder usarlo para defendernos con él, o si es un cuadro, debería posicionarse adecuadamente y dar un sentido a la escena que repercuta directamente en la experiencia del jugador. Una vez que hemos marcado un significado para contenido, podemos describir los procesos usados para crear contenido. Existen dos maneras básicas para generar contenido: manual y procedimental. La creación de contenido manual es la más costosa pero la que mejor cumple con su objetivo. Cuando un escenario está hecho a medida o cuando un objeto en concreto está puesto en cierto punto para cumplir un único objetivo, la sensación de inmersión del jugador es mayor, ya que todo está creado a medida para darle sentido al conjunto. Los casos que mejor ejemplifican esta creación de contenido manual son los juegos lineales que llevan al jugador hacia donde quieren. Se suelen caracterizar por su corta duración pero buena experiencia que crean. Juegos de este estilo pueden ser Uncharted, Tomb Raider o incluso Dark Souls. Pero a cambio de generar esta grata experiencia de juego a lo largo de toda su duración, este tipo de juegos no suelen gozar de una gran rejugabilidad, por lo que tras jugarlos una vez puedes darlos por concluidos. Claro está que no todos son así, ejemplo de estos son juegos como Mass Effect o la saga Diablo.. 19.

(28) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.6.2. Generación procedimental La generación procedimental es la obtención de resultados mediante procedimientos. Cuando nos referimos a generación procedimental, es imposible no nombrar la aleatoriedad. Cuando aplicamos un procedimiento a unas entradas y obtenemos a partir de estas entradas una salida, lo lógico sería pensar que el resultado no variará sin importar las veces que apliquemos dicho procedimiento. Si añadimos cierta aleatoriedad en el interior del procedimiento o en alguna de las entradas, ya no podemos asegurar que el resultado se mantenga, por lo que podremos esperar distintas salidas tras diferentes ejecuciones. La generación procedimental de contenido se vale del uso de valores aleatorios para generar dicho contenido.. 2.6.3. Uso de la generación procedimental en videojuegos La generación procedimental de contenido es algo que desde el inicio de los videojuegos se ha tenido muy en cuenta. Durante los años de madurez de los videojuegos, el problema de espacio en los discos domésticos era un problema, causando que los juegos no pudieran estar hechos a la medida que los creadores hubieran querido, por problemas de espacio. Como solución a este problema, la generación procedimental de contenido ayudaba a bordear los límites de la tecnología de esa época, haciendo que los videojuegos de entonces aportaran muchas horas de diversión al jugador ocupando el mínimo espacio posible. Cierto es que ésa no es la única bondad que tiene la generación procedimental de contenido. Juegos como Diablo han usado esa generación procedimental para crear escenarios, enemigos y objetos distintos cada vez que juegas un escenario del juego. Desde este punto de vista, el valor de rejugabilidad que aporta el uso de generación procedimental de contenido en un videojuego es altísimo, haciendo que la duración del videojuego se dispare cuando lo juntamos con mecánicas que aprovechen esta rejugabilidad, como por ejemplo un sistema de niveles de personaje o sistema de equipamiento. A nivel de empresa, la generación procedimental supone una gran ventaja económica. El producir contenido de manera manual conlleva tener artistas que creen dicho contenido, lo que deriva en un sueldo que mantener, un puesto físico de trabajo y un tiempo de trabajo. La generación procedimental reduce la necesidad de artistas al mínimo, cosa que no suele gustar a los artistas, lógicamente.. 20.

(29) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Pero no todo son ventajas al usar generación procedimental de contenido. A cambio de todas las ventajas anteriormente nombradas, sacrificas elementos que pueden ser claves para que un juego tenga éxito. El uso de generación procedimental reduce el contenido original que se puede encontrar en el juego, lo que resta creatividad al producto, cosa que tampoco gusta a los artistas. Su uso limita en gran medida las mecánicas que se pueden incluir en un juego ya que los resultados pueden ser inesperados, lo que lleva a que los juegos basados en este tipo de generación tiendan a ser simples. Por último, el uso de generación procedimental requiere de un cuidado extremo, ya que al no tener un control absoluto sobre lo que se genera, puede ocurrir que surjan niveles sin solución, enemigos imposibles de alcanzar, barreras imposibles de traspasar, y otros muchos errores que hagan que el jugador se frustre. Ejemplos del uso de este tipo de generación son los juegos de mundo abierto, que actualmente están de moda y que usan esta generación a la hora de adornar los terrenos con vegetación, de colocar a los enemigos dentro de una zona determinada. Otros juegos, como The Binding of Isaac o Rogue Legacy, anteriormente nombrados, llevan al extremo dicha generación lo cual resulta ser divertido por el hecho de que dos partidas al mismo juego pueden llegar a ser tan distintas y disparatadas que crean una experiencia totalmente distinta en el jugador. Su única constante son las mecánicas más básicas. Juegos como Minecraft o el esperado No Man’s Sky utilizan la generación procedimental para crear mundos enteros de forma dinámica.. Figura 5: Generación procedimental de Minecraft.. 21.

(30) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.6.4. Algoritmos de generación procedimental En cuanto a los algoritmos usados para crear contenido de manera procedimental, en la mayoría de los casos los desarrolladores crean su propio algoritmo de generación procedimental. Sí cabe distinguir que existe una clasificación para los algoritmos de generación procedimental en función de su modo de crear contenido: secuencial y mapeado. La generación procedimental secuencial se basa en el uso de una semilla aleatoria, un primer dato a partir del cual se generan el resto de manera secuencial. Un ejemplo de esto puede ser el uso de la secuencia de Fibonacci [13], en la que dado un número inicial, se calculan los siguientes mediante el orden de la secuencia. En cuanto a la generación procedimental para mapeados, existen diversas técnicas. Una de las principales es el Algoritmo de Perlin Noise [14] sobre mapas de alturas aplicando ruido, el cual desordena el orden inicial de los datos en función de las zonas de ruido en las distintas capas, alterando el resultado final del mapa y creando así uno totalmente nuevo. Este algoritmo es usado en juegos como Minecraft para crear el mapa. Aun distinguiendo entre estas dos formas de generación, es imprescindible decir que los algoritmos de generación de mapeados en parte usan generación secuencial también para crear las capas del mapa. Como ejemplo de distinción entre las dos generaciones, podemos imaginar un mapa totalmente plano. Si aplicamos el Algoritmo de Perlin Noise sobre dicho mapa con ciertas zonas de ruido, en función del ruido de cada zona, se desordenaran las capas, lo cual provocará la formación de montañas y altitud del terreno. En cualquier caso, a la hora de elegir en qué punto está situada una montaña, en que puntos están los enemigos o en qué punto del mapa se genera un lago, todas estas elecciones se harán a partir del uso de la generación secuencial siguiendo ciertas restricciones. En el caso de este proyecto, al tratarse de un videojuego basado en mazmorras, hemos optado por crear un algoritmo de tipo secuencial propio para crear cada nivel. En el capítulo correspondiente se detalla el funcionamiento de dicho algoritmo.. 22.

(31) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 2.7. Controladores Cuando hablamos de controladores dentro de un videojuego, nos referimos a las respuestas que el juego da frente a la interacción del jugador con el mismo juego. En la programación de videojuegos siempre se habla de estados y comportamientos a la hora programar los controladores.. 2.7.1. Comportamientos y estados Un comportamiento es la rutina que se está llevando a cabo continuamente, de manera cíclica, de cualquier objeto del juego, desde un enemigo hasta el propio tiempo dentro del juego. Un estado puede definirse como la etiqueta que identifica dicho comportamiento. La mejor manera de comprenderlo es mediante un ejemplo. Si el cielo está soleado, el comportamiento que está teniendo el objeto o conjunto de los mismos que representan al cielo dentro del videojuego será el correspondiente a dicho estado, que en este caso sería mostrar un sol y una luz más fuertes. Si cambiamos dicho estado de soleado a lluvia, el comportamiento de los objetos del cielo cambiará: el cielo quizás no muestre el sol y muestre nubes oscuras, la intensidad de la luz bajará y se activarán unas partículas que simulen la lluvia mientras dicho estado se mantenga. Intentando simular la realidad, la programación se basa en un sistema de estados y comportamientos para que el juego interactúe con el usuario y así pueda causar sensación de inmersión y crear las experiencias deseadas.. Figura 6: Diagrama de estados del jugador. 23.

(32) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Lo más usual y fácil de observar son los comportamientos de los enemigos en los videojuegos. Pueden diferenciarse por su rutina por defecto, dependiendo de si están patrullando, parados en cierto punto, durmiendo, etc. También pueden diferenciarse en su reacción hacia el jugador, por ejemplo cómo reaccionan ante un ataque. El campo de estudio de la Inteligencia Artificial para comportamientos y estados es grandísimo, aunque en los últimos años en el desarrollo de videojuegos no ha avanzado demasiado. La tecnología actual permite ampliar el número de comportamientos y estados de los objetos en un videojuego en gran medida, pero bajo el mismo precepto de comportamiento y estado.. 2.7.2. Controladores de NPCs Respecto a los controladores de los NPCs, lo primero que tenemos que hacer es describir qué es un NPC. Un NPC (Non Playable Character) es precisamente un personaje, amigo o enemigo, que no es controlado directamente por el jugador. Para que estos personajes puedan actuar como tal e interactuar con el jugador son controlados por el computador (COM). Normalmente todos los NPCs tienen ciertas rutinas: - Patrulla: Estado normalmente por defecto/inicial de muchos NPCs, los cuales muestran un comportamiento de paseo por el escenario, ya sea buscando al jugador o simplemente para ambientar la escena. - Huida: Estado que adoptan algunos NPCs como reacción ante un ataque del jugador o de otro NPC. Su comportamiento suele hacer que se dirijan en dirección contraria a la de su atacante y mantenerse a cierta distancia de él. - Ataque: Estado de NPCs cuando son atacados o si ven al jugador. Su comportamiento es atacar al jugador, ya sea a distancia o cuerpo a cuerpo, o tal vez perseguirlo si huye. También existen ciertos tipos de NPCs que pueden salirse de estas rutinas y tener otras totalmente diferentes. Algunos de estos NPCs son: - Comerciante: NPCs que usualmente está parado en alguna zona y sirve como tienda al jugador. Podría decirse que su comportamiento es único, que es vender cosas al jugador. - Compañero: NPC más complejo que ayuda al jugador y le hace experimentar que no está jugando solo. Estos NPCs suelen tener bastantes más estados e incluso en ciertos juegos se permite al jugador modificar el comportamiento de los compañeros a su gusto.. 24.

(33) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. - Bosses: Los famosos jefes de nivel o enemigos especiales suelen caracterizarse por ser más fuertes que el resto poseer unos patrones que no son tan sencillos y suelen ser más espectaculares. Suelen tener varios estados o fases, que a su vez implican varios comportamientos y que suelen en función de su vida máxima.. 2.7.3. Controladores de objetos interactivos Aparte de los objetos cuyo único propósito es participar en la ambientación del videojuego, existe ciertos objetos que son interactivos y que pueden ser “usados” por el jugador. Este tipo de objetos suele tener un único comportamiento ya que no simulan algo que tenga estados, simplemente funcionan más como acción-reacción ya sea del jugador al objeto o del objeto al jugador. Una posible clasificación de estos objetos interactivos sería dividirlos en dos categorías: positivos y negativos de cara al jugador. Los objetos positivos son todos aquellos que el jugador quiere encontrar y que pueden marcar una dinámica dentro del juego. Ejemplos de este tipo de objetos pueden ser cofres donde se encuentran mejoras, una puerta para pasar al siguiente nivel, una fuente que recupera la salud, etc. Simplemente estos objetos reaccionan ante cierta acción del jugador, que puede ir desde simplemente acercarse hasta pasar por encima y pulsar cierta tecla. Los objetos negativos son aquellos que el jugador quiere esquivar y al igual que los positivos puede marcar una dinámica en el juego. Ejemplos pueden ser las trampas en el suelo, una bala disparada por un NPC cuyo único comportamiento es detectar la colisión con el jugador para restarle puntos de vida, etc. En este caso, al contrario que en los positivos, se podría decir que el jugador reacciona ante las acciones de este tipo de objetos.. 25.

(34) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 3. DESARROLLO DEL TRABAJO En este apartado se describe todo lo relacionado con el desarrollo del proyecto que se ha presentado en los puntos anteriores, así como el modo en que ha sido ejecutado el planteamiento y objetivos del mismo.. 3.1. El juego Antes de hablar concretamente de nuestro caso, para situarnos, debemos poner un contexto a nuestro juego. En este caso, antes de describir nuestro juego, conviene presentar su género y los ejemplos y referencias principales usadas durante el desarrollo del mismo. En nuestro caso, hemos elegido un juego de genero Rogue-Like ya que es un género que está basado totalmente en la generación procedimental de cara a crear partidas aleatorias. A la hora de crear el juego, hemos tenido en cuenta algunos de los títulos más icónicos de este tipo en la industria para conocer diversas formas de aprovechar el género tanto en temática como en jugabilidad (combate, movimiento, desarrollo, etc.). El primer videojuego que hemos usado como referencia ha sido el que es considerado la raíz y origen de este género, el videojuego Rogue [15], de 1980.. Figura 7: Rogue, 1980. 26.

(35) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Este videojuego aprovechaba la generación procedimental como medida de ahorro de memoria y como medida de rejugabilidad. Según Ken Arnold, uno de sus creadores, su intención era la de generar un juego que compitiera en horas de entretenimiento con las Arcade del momento con los recursos limitados que ofrecían los ordenadores personales de la época. Hemos tenido en cuenta este clásico durante la planificación de nuestra generación procedimental de niveles y a la hora de definir las mecánicas de nuestro juego. El segundo videojuego, y el que más referencia nuestro trabajo, es el título The Binding of Isaac, creado por Edmund McMillen y lanzado en 2011 para la plataforma de distribución de videojuegos Steam. A diferencia de Rogue, este título fue creado únicamente con la intención de, entre dos personas, crear un videojuego que se sintiera fresco y diferente con cada nueva partida. Para crear esta experiencia de cara al jugador, la aleatoriedad de las partidas es una de las claves, dado que de este modo un jugador no puede conocer a priori como va a desarrollarse dicha partida, lo que puede repercutir en las horas de entretenimiento que puede ofrecer el juego.. Figura 8: The Binding of Isaac, 2011. También se han contemplado otros casos pertenecientes al mismo género, pero como principales referencias se han usado los anteriormente nombrados. Una vez descrito el contexto, podemos comenzar a describir nuestro proyecto.. 27.

(36) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. El videojuego desarrollado durante nuestro proyecto intenta combinar dos ideas básicas, la aleatoriedad al generar la partida y la adaptación de la misma partida al propio modo de interacción del jugador. También está incluido en el desarrollo del juego el estudio y, en caso afirmativo, la implementación de un sistema que explota la posible simbiosis entre la aleatoriedad y la adaptación. Para entender las razones que nos llevan a tener interés en este estilo de videojuego, debemos conocer el panorama actual dentro del mercado. Actualmente, las barreras entre tipos de jugadores son bastante difusas. El boom del mercado en dispositivos móviles ha generado un aumento de jugadores “casuales” [16]. Aunque, por otro lado, podemos decir que el término jugador “casual” es bastante heterogéneo, dado que no es restrictivo respecto a otros tipos jugadores. Decir que un jugador es casual no es discriminante respecto a qué tipo de videojuegos le gustan, sino que puede ser una asignación establecida según las circunstancias y entorno del videojuego. Respecto a este punto, podemos destacar la importancia actual de las reglas de adaptación de un juego ante el comportamiento o estilo de un jugador. Durante la historia de los videojuegos, han existido muchos títulos que usan métodos de adaptación para generar un efecto deseado en sus videojuegos. Un sistema de adaptación puede favorecer la experiencia ofrecida al jugador, ya sea adaptando el modo de jugar a sus preferencias, o retando al jugador. La adaptación más básica puede ser encontrada en los juegos de aventura gráfica actuales, en los que en función de las decisiones que eliges el juego cambia y se “adapta” a tu decisión. Otros juegos, como Metal Gear, adaptan las IA de los enemigos al comportamiento del jugador. Por ejemplo, si siempre eliminas a los enemigos con sigilo, comienzan a hacer rondas por parejas. Si sueles eliminarlos con disparos en la cabeza, empezarán a usar casco. Basándonos en estos sistemas de adaptación, en el proyecto se ha desarrollado uno basándose en etiquetas que identifican el tipo de jugador según su comportamiento. Para generar aleatoriamente cada nivel, se ha creado un algoritmo propio de generación de salas, las cuales están basadas en las de The Binding of Isaac. Como resumen, nuestro juego consiste en un rogue-like que se adapta al comportamiento del jugador.. 28.

(37) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 3.2. Herramientas y tecnología Antes de comenzar con los puntos de desarrollo del proyecto, conviene tener conocimiento de las tecnologías utilizadas para llevarlo a cabo y por qué se han usado estas y no otras.. Unity Versión: 5.3.2 En este caso existían tres opciones claras de cara a elegir un motor: Unity, Unreal Engine y CryEngine. Hemos elegido Unity debido a que no hemos enfocado nuestro TFG al desarrollo de un juego muy complejo gráficamente. Unity presenta una mayor sencillez tanto a nivel de interfaz como de manejo. Unreal Engine permite una mayor libertad en el manejo del motor, permitiendo al programador una mayor flexibilidad en su desarrollo del videojuego. El lenguaje C++ (usado en Unreal Engine) permite a su vez una mayor libertad en cuanto al manejo de memoria del programa. Hemos elegido Unity debido a que era el único motor con el que todos los miembros del proyecto habían trabajado anteriormente y por la sencillez que lo caracteriza.. Blender Versión: 2.76 En cuanto al apartado artístico del proyecto, aparte de los Assets gratuitos que ofrece Unity a través del Asset Store, hemos usado Blender para el modelado, rigging y animado de los diferentes objetos del proyecto (personaje, enemigos, objetos, etc.). Unity detecta automáticamente los objetos de blender (.blend) y los adapta a prefabs en el propio motor. El concepto prefab es el más utilizado en Unity cuando hablamos del equivalente a un objeto que podemos instanciar en la escena.. 29.

(38) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. Trello Para seguir un esquema de trabajo por objetivos, hemos usado Trello para montar un panel/pizarra de etiquetas siguiendo el modelo de trabajo de SCRUM. Las tareas y objetivos se han dividido en arte y programación, y al ser a través de la nube, el grupo entero ha podido acceder al proyecto a través de Trello para dar parte de sus avances.. Slack Para la comunicación y coordinación de los miembros del proyecto, se ha creado un equipo en la aplicación de Slack, a través de la cual, por medio de chats, los miembros pueden comunicarse, transferir archivos y dejar anotaciones sobre el proyecto o apartado del mismo al que se haya dedicado el chat en el cual sea añadida la anotación. Slack destaca por el uso de plugins que puede hacerse a través de él, como añadir Skype, Dropbox, Drive o incluso el propio Trello anteriormente nombrado.. 30.

(39) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. 3.3. Diseño del juego El apartado de diseño de un videojuego es esencial para poder definir su base y así comenzar con el desarrollo. Aunque no necesita un gran conocimiento técnico, requiere un gran conocimiento sobre videojuegos. Según el libro Challenges for Game Designers [17] escrito por Brenda Brathwaite y Ian Schreiber, Game Design es el proceso de creación del contenido y reglas de un juego. Como aclaración, un buen diseño es el proceso de crear objetivos dentro del juego que motiven a los jugadores a alcanzarlos y de crear reglas que un jugador obligatoriamente seguirá para tomar decisiones lógicas para perseguir dichos objetivos. De esto podemos deducir que en cuanto un juego no es divertido, o no consigue despertar ese afán de alcanzar objetivos por parte del jugador, se trata de un fracaso en su diseño. Muchos consideran esta etapa del desarrollo de un videojuego como aquella en la que “fallar”. Ken Levine cuenta en su charla de GDC 2014 [18] acerca del aspecto narrativo de los videojuegos y la importancia del Game Design cómo esta etapa debe ser en la que fallar, sacar todas las ideas, sean malas o buenas y probar una y otra vez las combinaciones posibles de las que dispongas para conseguir un resultado original e innovador. El diseño afectara en futuras fases del desarrollo a más personas, en su caso incluso a más de doscientas, y no se deben dejar fallos en el diseño que puedan traspasarse de esta fase a las sucesivas del desarrollo. Por ello, esta fase requiere su tiempo y pruebas hasta encontrar aquello que estás buscando, el momento en el que las piezas encajan y se puede pasar de manera segura a las siguientes fases del proyecto. En nuestro caso, el diseño del videojuego me ha llevado muchas más horas de aprendizaje e instrucción que de creación. Esta etapa se ha centrado en el estudio del diseño de cara a poder desarrollar uno completo y poder documentarlo correctamente. Antes de comenzar con los principales puntos de los que consta nuestro propio diseño nombraré los principales libros que he leído, así como la información que he consultado de cara a crear un Game Design Document (GDD) de manera correcta. Como principal fuente de aprendizaje, me ha resultado especialmente útil la lectura de tres grandes libros acerca de Game Design.. 31.

(40) Alberto Castaño Burgos Game Design e IA para desarrollo de un videojuego. El primero de ellos, y más importante, es el libro de Jesse Schell titulado The Art Of Game Design. Este libro no solo se centra en los componentes de un diseño o guía sobre su elaboración. Este libro intenta educar a los diseñadores respecto a su manera de pensar, intenta realizar un cambio en la mentalidad del diseñador. Resalta cosas importantes como el pensar en un jugador a la hora de diseñarlo (no estás creando un juego para ti) o pensar en que necesitas destacar sus bondades para poder venderlo a un cliente. En este libro también se habla acerca de las responsabilidades de un Game Designer dentro de un equipo de proyecto, etc.. Figura 9: The Art Of Game Design. Tras “aprender” a pensar como un Game Designer, he pasado a intentar aplicar dichos conocimientos adquiridos a pruebas reales. Para ello, el libro Challenges for Game Designers [19] de Brenda Brathwaite y Ian Schreiber es especialmente útil. Este título intenta proponer situaciones de juegos clásicos (no necesariamente relacionados con la industria de los videojuegos) como medio para destripar el diseño y, reto a reto, ir conociendo los componentes (Atoms) de un videojuego. También dedica gran parte del libro a diferenciar entre lo que es diseño y lo que no, así como lo que es un juego y lo que no. La opinión sobre esto puede ser subjetiva actualmente con todos los experimentos que se están viendo en el mundo de los videojuegos, pero he de reconocer que en el libro lo justifican Figura 10: Challenges for Game Designers. correctamente.. 32.

Referencias

Documento similar