Asignatura: Trabajo Final de Grado (TFG) de Videojuegos
Grado o Máster de la asignatura: Grado Multimedia
Nombre del estudiante: Toni Regordosa Motos
Consultor y profesor: Ester Arroyo Garriguez / Joan Arnedo Moreno
Introducción
Este proyecto, elaborado como Trabajo Final de Grado, se basa en la creación de un videojuego 3D de acción en tercera persona orientado a un público infantil. El título del videojuego es Els gegants perduts, en castellano Los gigantes perdidos, y tiene una referencia explícita en videojuegos como Sonic the Hedgehog. Convergen en él muchas de las habilidades aprendidas a lo largo del grado y además de entretener, también quiere destacar la cultura popular de Cataluña.
La temática del videojuego se centra en las tradiciones ancestrales de la ciudad de Igualada, utilizando como personaje principal un gigante de la imaginería festiva de la ciudad. Otro vínculo con Igualada y sus fiestas populares es que los más pequeños aprovechan el pasacalle de la Fiesta Mayor para desprenderse de los chupetes haciendo entrega de ellos a los gegantons; dos de los personajes de la imaginería festiva de Igualada, con forma de bebé gigante, que hacen el pasacalle junto con los gigantes, el águila de la ciudad, los diablos y muchos más.
La idea del juego es que, en un traslado de los gigantes con camión, el gigante se ha caído del vehículo por el camino, así como algunos petardos y chupetes. El personaje deberá llegar a la ciudad por su propio pie. El usuario podrá elegir si quiere ser el gigante o la gigante y deberá seguir la carretera superando obstáculos: coches, petardos y jabalíes. Por el camino se encontrará un hoverboard; se subirá a él y seguirá el camino recogiendo los chupetes que encuentre y esquivando bacterias. Si llega a Igualada, su pareja le estará esperando para hacer juntos un baile de bienvenida. Su puntuación dependerá de los chupetes recogidos.
El videojuego se crea utilizando Unity; motor de videojuego multiplataforma. En las escenas se incorporan GameObjects con componentes y scripts que gestionan las mecánicas de juego. Algunos de los GameObjects, como la figura de los gigantes o el hoverboard, están creados con el programa de modelado 3D Blender y otros están descargados del Asset Store de Unity. Es un videojuego diseñado para ser publicado en una web con la intención de crear un espacio virtual interactivo y divertido, haciendo uso del simbolismo cultural catalán para darle ese valor añadido.
Etapas y retos
El proyecto se divide en dos etapas. En la primera se define la idea del juego, la conceptualización y una planificación de objetivos. La segunda etapa engloba todo el desarrollo del videojuego, que va desde una primera versión parcial hasta la versión final.
En la primera etapa ya se presenta uno de los retos más importantes del proyecto, pues el conocimiento del autor sobre Unity y Blender es muy escaso. Como es lógico en cualquier proyecto, se requiere definir cómo va a ser el videojuego: la historia, los personajes, el estilo, etc. El verdadero reto se presenta al tener que planificar los objetivos y su cuantificación de tiempo al no conocer las posibilidades reales de crear lo deseado con Unity, ni la carga de trabajo que puede conllevar cada objetivo. Se hace un planteamiento lo más aproximado posible a lo que a lo largo del trabajo se va desarrollando.
Existe un trabajo previo al inicio del proyecto de documentación y de ensayo y error que permite concretar algunos de los aspectos más importantes, como son el hecho de colocar la figura del gigante sobre un personaje, definir los límites por donde se podrá desplazar o la puesta en escena de coches circulando sobre una carretera. La primera de las pruebas previas fue para crear al personaje principal. El personaje del gigante se compone de un Third Person Controller descargado del Asset Store de Unity, el cual ya viene con los componentes necesarios para poderlo mover con el teclado. Sobre él, como en la vida real, se acopla la figura del gigante.
En la segunda etapa, se empieza creando lo que también significó un reto inicial: hacer que el gigante siguiera la dirección correcta para llegar a Igualada. Para ello se decidió posicionar el personaje al inicio del juego sobre la calzada de una carretera, delante de un túnel por el cual el gigante no puede pasar debido a su tamaño. A su lado, una señal de tráfico indica la dirección que debe seguir para llegar a Igualada. En los laterales, a unos metros de la calzada, unas vallas de madera impiden al personaje ir más allá de un límite físico. De esta manera el gigante se ve obligado a seguir una dirección.
El usuario debe avanzar y esquivar los coches que van y vienen por la carretera y los petardos que se va encontrando. El componente Capsule Collider del gigante detecta las colisiones con ambos y, por consiguiente, al colisionar con ellos se le quita vida. Para hacerlo más divertido los petardos se mueven de un lado a otro, utilizando animaciones, y explotan al colisionar con el gigante. Como resultado del impacto, se le aplica una rotación al gigante para que caiga al suelo y se levante pasado un breve periodo de tiempo; se hace una copia de la posición antes de la rotación para devolverlo al mismo punto en el que estaba antes de la explosión.
En esta fase del juego el personaje podía ser arrastrado por un coche o al explotarle un petardo caerse encima de otro petardo, con lo cual se le iría restando vida sin justificación. Para solucionar este inconveniente se decidió utilizar corrutinas en los scripts; funciones de código las cuales se utilizan aquí para desactivar la detección de colisiones durante un breve periodo de tiempo.
El trazado que siguen los coches, al igual que la carretera, se crea utilizando el componente Path Follower, descargado del Asset Store de Unity. Este componente fue un elemento clave, ya que permite dibujar trazados usando curvas de Bézier y se le puede adjuntar un material para que el trazado tenga una forma gráfica, en este caso la carretera. También permite que se añada a GameObjects como un componente más para que estos sigan el recorrido del trazado; sistema utilizado para indicar el camino que siguen los coches sobre la calzada de la carretera.
Los coches se crean automáticamente cada cinco segundos. Este hecho podría ser perjudicial en lo que a rendimiento de la CPU del ordenador se refiere, ya que hacen falta una gran cantidad de coches para abastecer al juego y además van quedando coches en el escenario sin necesidad, porque pasado cierto punto de profundidad en el eje X de coordenadas ya no son visibles. La solución fue crear clones de los coches con código, para así poderlos eliminar y crearlos de nuevo de manera ilimitada.
El gigante avanza por la escena hasta llegar a una zona en la que el espacio por el que puede desplazarse se ensancha. Las vallas de madera delimitan un espacio más amplio en el cual entran en juego unos jabalíes que atacan al gigante. Estos jabalíes están dotados de inteligencia artificial utilizando el componente NavMesh Agent, al cual se le indica que tenga como Target al gigante. Este comportamiento les afecta sobre un plano invisible, marcado con la propiedad de Navigation Static, que coincide con la zona ensanchada.
Con estas directrices conseguimos que los jabalíes persigan al gigante en esta zona y cumplimos así con uno de los planteamientos iniciales de conseguir que el gigante fuese atacado por algún enemigo. Si chocan, al gigante se le quita vida y al jabalí que colisiona se le aplica una fuerza física hacia la dirección contraria a la que tiene al colisionar y, a la vez, una fuerza empuja al gigante en la misma dirección que tiene el jabalí al colisionar. Así conseguimos simular lo que sería un choque entre masas.
Al gigante se le da la propiedad de girar sobre sí mismo mientras esté presionada la tecla Q. Se trata de un mecanismo de defensa para cuando le ataquen los jabalíes. Si colisiona un jabalí con el gigante mientras se mantiene presionada la tecla Q y el gigante está dando vueltas, al gigante no se le quita vida y al jabalí se le aplica una fuerza física de alejamiento muy superior a la que se le aplicaría en una colisión normal. De esta forma el gigante tiene más margen para escapar. Al pasar esta zona, en la que coinciden coches, petardos y jabalíes, el gigante llega a un punto en el que se encuentra con un hoverboard y a partir de ahí cambian las dinámicas del juego; ya no se crean más coches y no aparecerán más petardos ni jabalíes.
El gigante sube al hoverboard automáticamente y se desactivan los componentes del Third Person Controller que permiten controlar al personaje con el teclado. El control del jugador ya no va a ser sobre el gigante sino sobre el hoverboard. Se habilitan las teclas derecha e izquierda para desplazarlo hacia un lado u otro de la carretera, ya que el hoverboard, con el gigante montado encima, avanza ininterrumpidamente hacia delante sin necesidad de presionar ninguna tecla. Por el camino se va encontrando los chupetes que debe de ir recogiendo y las bacterias que debe esquivar para no perder vida. Ambos están suspendidos en el aire dando vueltas sobre sí mismos y afectan al gigante en el momento de colisionar.
A medida que el gigante va recogiendo chupetes van apareciendo iconos en el Canvas de la escena, bajo la barra de vida, con forma de chupete. Al llegar a Igualada el gigante baja automáticamente del hoverboard y se coloca delante de su pareja, que le está esperando en la entrada de la ciudad. En este momento se desactivan las funcionalidades de las teclas y simplemente se ve cómo hacen un baile el gigante y la gigante uno delante del otro y dando vueltas sobre sí mismos, igual que lo hacen en la vida real. El jugador ha conseguido su misión y puede disfrutar durante unos segundos del espectáculo. Al terminar, aparece la pantalla final con un mensaje que dependerá de la cantidad de chupetes que se hayan recogido.
Conclusiones
Todo el proyecto en sí ha sido un reto, ya que han ido surgiendo inconvenientes que he ido solucionando de la mejor manera posible. Si de una cosa estoy seguro es de que hacen falta muchas horas para el desarrollo de un videojuego que sea funcional. El hecho de no tener una base de conocimientos sobre Unity ha dificultado todo el proceso y quizás sea este el aspecto que más ha entorpecido la evolución del proyecto. He de decir, también, que esta ha sido la manera de adentrarme en el mundo de la creación de videojuegos con Unity, del cual aún tengo mucho que aprender.
Sin duda alguna estoy satisfecho con los resultados, aunque cambiaría algunas funcionalidades, como por ejemplo añadiría el hecho de quitar vida a los jabalíes cuando el gigante colisiona con ellos. De todos modos, es un proyecto no acabado y no descarto implementar esta característica. También están pendientes de acabar algunos aspectos como el modelado de la figura de la giganta o añadir detalles que mejoren los gráficos. Mi satisfacción será plena cuando por fin pueda publicar el videojuego en la web. En mi próximo videojuego elaboraré una planificación mucho más concisa y más práctica para llegar antes al usuario final con unos resultados óptimos.
Enlaces relacionados
https://unity.com: página oficial del popular motor de videojuegos Unity.
https://www.blender.org: página oficial del programa de diseño 3D Blender.
http://dessota.org: asociación gestora de la imaginería festiva de Igualada.
Cita recomendada: REGORDOSA MOTOS, Toni. Rompiendo moldes con el videojuego Els gegansts perduts. Mosaic [en línea], febrero 2021, no. 190. ISSN: 1696-3296. DOI: https://doi.org/10.7238/m.n190.2107
Deja un comentario