Fantasía es la tercera película de animación hecha por los estudios Disney, estrenada en 1940. Se trata de una obra clásica de la animación, basada en ocho piezas musicales. El aprendiz de brujo es una de estas piezas, en la que Mickey Mouse, tras tomar sin permiso el gorro mágico del brujo, realiza un hechizo para “programar mágicamente” a una escoba para que lleve cubos de agua desde la fuente, se duerme y pierde el control de la situación.
Lo más difícil de aprender en la vida es qué puente cruzar y qué puente quemar.
David Russell
La dinámica del juego se basa en resolver pequeños puzles dentro de un juego basado en física: manejamos al aprendiz en las inmediaciones del caserón del brujo y tendremos que usar nuestros poderes para realizar todas las tareas domésticas que nos ha encargado nuestro maestro. La estética será de ambientación medieval fantástica, cuidando la coherencia del escenario, que estará estilizado como en los dibujos animados, y el detalle y funcionamiento de los objetos interactivos.
Este planteamiento de juego sirve como motivación para seguir trabajando en mecánicas de interacción con objetos y con el escenario, teniendo en cuenta distintas cámaras y niveles.
Propuesta
La práctica consiste en desarrollar el prototipo ejecutable de un videojuego para un sólo jugador en forma de aventura con pequeños puzles físicos basados en realizar “mágicamente” tareas domésticas, tomando la inspiración de la película de Fantasía.
El punto de partida es la plantilla Top Down que ofrece Unreal Engine, que recrea un mundo 3D con vista cenital en tercera persona, con el movimiento del avatar controlado por el ratón. Además se podrá usar contenido del paquete Starter Content, la biblioteca de Quixel Megascans, y un par de recursos gratuitos del Unreal Engine Marketplace: concretamente Stylized Fantasy Provencal (requiere activar en el proyecto el soporte para textura virtual) y Advanced Cel Shader Lite.
Las características principales del prototipo son:
A. Hay un mundo virtual por explorar que consiste en 3 niveles diferentes representando el caserón del brujo y sus alrededores, con distintas tareas domésticas a realizar. Estas se superan con el movimiento del avatar que controla el jugador (seguido por una cámara cenital en tercera persona), pudiendo entrar y salir de los distintos niveles libremente e interactuar con ciertos portales mágicos del caserón, atravesándolos para activarlos o desactivarlos, cuya combinación -representada por la emisión de luz de colores- habilita el uso de distintos hechizos por el mundo.
B. Según el hechizo habilitado en el caserón del brujo, podremos dar vida a distintos objetos inanimados, que se mueven en parte gracias a la física y en parte gracias a la “posesión” del jugador (ocasionalmente usando otros tipos de cámara y controles de entrada). Esto permite eliminar obstáculos del escenario y realizar las tareas encomendadas por el brujo, para fabricar harina, porque le encanta hacer repostería cuando necesita relajarse de sus brujerías. En este juego no hay enemigos ni posibilidad de recibir daño o morir.
C. La primera tarea se realiza enfrente del caserón y consiste en reparar el carro, al que se le ha estropeado una rueda y está tirado en el suelo. Cuando hayamos activado el hechizo de levitación, activando los portales que haga falta, la cámara se queda fija en perspectiva hacia el carro, y con el mismo movimiento del ratón dejamos de mover al avatar y pasamos a “mover telepáticamente” una rueda nueva hasta su posición en el carro, reparándolo en cuanto consigamos colocarla aproximadamente en su sitio y hacer clic, como si fuera la pieza de un rompecabezas.
D. La segunda tarea se realiza en el granero ubicado en una loma arriba a la izquierda del caserón, desde donde podemos ver el carro abajo. Consiste en cargar al menos 3 barriles de cereales en el carro (sólo funcionará cuando esté ya arreglado y listo para recibirlos). Hay un montón de barriles disponibles pero pesan demasiado, por lo que hay que ponerse cerca de ellos, encarando en dirección al carro y “empujarlos” loma abajo mediante el hechizo de propulsión, que tendremos que haber activado previamente en el caserón, tratando de que vayan rodando y acaben justo en el destino deseado (el carro reparado). Cuando un barril se choca contra otros objetos del escenario (incluido el propio carro, cuando está sin reparar), va cambiando de color hacia rojo y acaba por destruirse o desaparecer una vez pasado un cierto tiempo.
E. La tercera y última tarea se realiza cerca del molino, a la derecha del caserón. A este nivel sólo se puede acceder cruzando un puente que aparece mágicamente cuando hayamos completado la primera tarea. El trabajo aquí consiste en conducir el carro (que ya está arreglado) a lo largo de un camino hasta el molino. Se trata de un camino bastante tortuoso que, cuando tengamos el carro cargado de barriles y hayamos activado el hechizo de conducción, empezaremos a recorrer “tomando el control” del carro con una cámara muy cercana, casi en primera persona, y haciendo que este se mueva sólo, mágicamente. El movimiento del ratón permite girar nuestro vehículo-avatar levemente a izquierda o derecha, mantener el clic pulsado hace que el carro acelere y soltarlo permite disminuir la velocidad, aunque hay bastante inercia. Al brujo , pero si nos “perdemos” saliéndonos del camino, la posición del carro se reinicia, vaciándose de barriles y el juego nos vuelve a ubicar en el caserón del brujo, donde al principio, para repetir la segunda y tercera tarea de nuevo. Cuando se consigue completar esta tercera tarea, el juego se reinicia, aunque veremos un saco de harina añado como trofeo a un lado del caserón.
Revisión
Tener el repositorio a disposición del profesor con todos los entregables, preparados en tiempo y forma por todos los miembros del grupo de manera equitativa, supone un 10% de la nota de la práctica. El profesor tendrá una lista con los datos de todos los grupos y los enlaces a las organizaciones en GitHub (por ejemplo DEV23-G02, la del grupo 2 del curso Desarrollo de Videojuegos 2023-2024) donde se encontrarán los repositorios de las prácticas (DEV23-G02-P1, DEV23-G03-P2 y DEV23-G03-P3).
Revisión de la documentación
En esta primera fase de revisión hay un único entregable:
- Documento de producción según la estructura habitual en el README.md. Supone un 10% de la nota.
Revisión del resultado
En esta segunda fase de revisión los entregables son estos:
- Proyecto con todos los ficheros de código fuente y recursos de la implementación en Unreal Engine (llamado por ejemplo DEV23_G02_P2). Se incluirán enlaces a documentos compartidos en abierto (o con el profesor) mediante Google Drive, desde donde descargar todo lo que por peso o problemas de licencia no pueda mantenerse alojado en GitHub vía Git LFS. Supone un 20% de la nota.
- Fichero con la versión ejecutable para Windows de 64bits (llamado por ejemplo DEV23-G02-P2 1.0.0.zip), publicada como lanzamiento (release) en el repositorio. Cada característica del prototipo (A, B, C, D y E) correctamente implementada supone un 10% de la nota, sumando un total de 50%.
- Documental con las pruebas del juego, añadiendo al documento de producción el enlace a un video oculto en YouTube (llamado por ejemplo DEV23-G03-P2) de 5 minutos de duración, donde quedan documentadas y comentadas por voz y títulos de texto las pruebas realizadas. Lo habitual será realizar el montaje de varios planos en varios momentos de la partida, evitando las partes menos relevantes. El documental tiene tantas secciones como características a probar (esto es A, B, C, D y E). Supone un 10% de la nota.
Más información
Además de la bibliografía recomendada, se pueden investigar las siguientes referencias. En ningún caso se debe replicar código de terceros sin entenderlo bien y “hacerlo nuestro”, y siempre asegurándonos de que funciona exactamente como se requiere en esta práctica.
Se pueden realizar ampliaciones para ir más allá en el aprendizaje.
- Darle vida al entorno con movimiento de flora y fauna, cambio de iluminación según pasa el tiempo, cambiar la apariencia del personaje, etc.
- Incluir efectos de parpadeo intermitente, efectos de partículas y similares en los portales mágicos o en aquellos objetos del escenario que se ven afectados por los hechizos.
Esta página está licenciada bajo CC BY-NC-SA 4.0 por Laboratorios Narratech.