Categorías
Informática Juegos Universitario

Asalto al Castillo

Fūun! Takeshi Jō (que en japonés significa ¡Diversión! El Castillo de Takeshi) era un concurso de televisión japonés de los años 80 en el que su presentador, Takeshi Kitano, sometía a los participantes a humorísticas pruebas de destreza física en las que estos solían sufrir ridículas caídas y golpes. El objetivo era tomar por la fuerza el castillo de Takeshi, superando las pruebas, para conseguir un millón de yenes.

Si no construyes castillos en el aire, no construirás nada en el suelo.

Víctor Hugo

La dinámica del juego es relativamente simple: avanzar corriendo y saltando sin caerse ni recibir demasiados golpes hasta llegar al final, recogiendo el cuantioso premio. Y la estética era bastante alocada y absurda, con disfraces y escenografía de todo tipo.

Este planteamiento de juego sirve como excusa para desarrollar algunas mecánicas sencillas que se encuentran en muchos videojuegos, principalmente del género de plataformas como es el caso de Fall Guys.

Propuesta

La práctica consiste en desarrollar el prototipo ejecutable de un videojuego de plataformas 2D para un sólo jugador con mecánicas inspiradas en algunas pruebas de El Castillo de Takeshi.

El punto de partida es la plantilla Side Scroller que ofrece Unreal Engine, que recrea un mundo 3D con vista lateral en tercera persona, aunque el movimiento del avatar está restringido únicamente a 2 dimensiones; además se podrá usar el contenido del paquete Starter Content. Para la documentación se puede tomar como ejemplo la de este repositorio, a modo de Práctica 0.

Las características principales del prototipo son:

A. Hay un mundo virtual por explorar que consiste en un único nivel donde está el castillo con sus pruebas, que sólo se pueden superar con el movimiento lateral y el salto del avatar que controla el jugador.

B. El avatar debe interactuar con ciertos objetos para activar mecanismos que eliminan los obstáculos del escenario, para hacer factible la victoria. Concretamente hay pócimas mágicas que aumentan la fuerza del avatar y le permiten empujar obstáculos muy grandes.

C. La primera parte del juego consiste en cruzar el foso del castillo dando saltos sobre troncos que resultan resbaladizos y pueden hundirse bajo nuestros pies.

D. La segunda parte consiste en escalar la muralla del castillo aprovechando salientes y empujando obstáculos, con ayuda de los mecanismos y las pócimas mágicas antes mencionadas.

E. La tercera y última parte consiste en atravesar las estancias interiores hasta el corazón del castillo, con puertas falsas y algunas trampas. No hay “enemigos” como tales, sólo objetos con movimiento que resultan molestos e incluso peligrosos para el jugador. De todas formas si el avatar cae o recibe daño, el castigo no debe ser excesivo ni suponer la muerte o el reinicio del juego; es suficiente con tener que repetir el último tramo jugado. Finalmente al coger el gran lingote dorado en el interior del castillo, la partida termina.

Condiciones

A la hora de desarrollar el proyecto es obligatorio:

  • No utilizar herramientas o plugins de terceros, ni reutilizar código distinto del proporcionado por Unreal Engine o el propio profesor.
  • Limitarse a los recursos de la plantilla y el paquete Starter Content. Personalizar el contenido con el número de grupo, nombre de los alumnos u otros rasgos inequívocos que subrayen la autoría sobre el resultado. Evitar en cualquier caso un uso excesivo de recursos audiovisuales que hagan el proyecto pesado o su ejecución lenta. 
  • Documentar en el repositorio el proceso de producción, incluyendo los algoritmos y las estructuras de datos más importantes (mediante enlaces a Blueprints), así como el reparto del trabajo y el esfuerzo.
  • Programar los diagramas en lenguaje Blueprint de la manera más organizada, genérica y elegante posible. Sin olvidar los comentarios.
  • El prototipo debe ser funcional y su manejo usable, preferiblemente con mando y con teclado, para poder realizar de manera rápida, intuitiva y frecuente todas las pruebas necesarias.

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 DEV22-G02, la del grupo 2 del curso Desarrollo de Videojuegos 2022-2023) donde se encontrarán los repositorios de las prácticas (DEV22-G02-P1, DEV22-G02-P2, etc.).

Los entregables son:

  • Todos los ficheros de código fuente y recursos del proyecto Unreal Engine. Se incluirá un enlace a la carpeta compartida con el profesor de Google Drive (llamada por ejemplo DEV22-G02-P1) desde donde descargar todo lo que por peso o problemas de licencia no deba mantenerse alojado en GitHub vía Git LFS. Supone un 20% de la nota.
  • Documentación del proceso de producción según la estructura habitual, en el README.md. Supone un 10% de la nota.
  • Fichero con la versión ejecutable para Windows de 64bits (llamado por ejemplo DEV22-G02-P1 1.0.0.zip), publicada como lanzamiento en el repositorio. Cada característica del prototipo (A, B, C, D y E) correctamente implementada supone un 10% de la nota.
  • Enlace a un video oculto en YouTube (llamado por ejemplo DEV22-G03-P1), de menos de 5 minutos de duración, donde queden documentadas y comentadas por voz y/o subtítulos las pruebas realizadas. 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.

  • Crear un cronómetro de manera que el jugador pierde si no consigue llegar a la meta a tiempo.
  • Desarrollar un total de 5 pruebas, escogiendo algunas algo más complejas de entre las pruebas que ofrece el juego Fall Guys.