Categorías
Informática Universitario Videojuego

Invasión Androide

Yo, Robot (I, Robot en inglés) es una película de ciencia ficción estadounidense dirigida por Alex Proyas en 2004. Como en otras historias ambientadas en el universo de Isaac Asimov, se especula con el avance tecnológico futuro y con la proliferación de androides (robots con apariencia humana) por todas partes, ayudando a los seres humanos en la realización de toda clase de tareas. El peligro que acecha en estas historias es que estos androides se “descontrolen” y se conviertan en una seria amenaza para la Humanidad.

Control de mando quiere que luchemos como máquinas, que tomemos decisiones frías y calculadas. Pero no somos máquinas. Y si actuamos como ellas, ¿por qué motivo luchamos?

John Connor en Terminator Salvation

Esta temática será la base sobre la que diseñar y desarrollar un juego algo más complejo, con una dinámica de combate con elementos de sigilo, y mecánicas más avanzadas que incluye enemigos inteligentes con comportamiento similar al del jugador humano. En el apartado estético, contaremos con una interfaz virtual práctica e inmersiva.

Propuesta

La práctica consiste en desarrollar el prototipo ejecutable de un videojuego de disparos 3D para un sólo jugador, con elementos tácticos como guardar cierto sigilo frente a los enemigos, fuertemente inspirado en los robots y la interacción con ellos y con el entorno.

El punto de partida es la plantilla First Person que ofrece Unreal Engine, que recrea un mundo 3D con vista en primera persona y la mecánica del disparo. Además se podrá usar contenido del paquete Starter Content, la plantilla Third Person, la biblioteca de Quixel Megascans, y tres recursos gratuitos del Unreal Engine MarketplaceAnimation Starter Pack, Modular SciFi Season 1 Starter Bundle y Modular Scifi Season 2 Starter Bundle.

Las características principales del prototipo son:

A. Hay un mundo virtual consistente en un nivel principal que representa un centro de desarrollo tecnológico de androides usado como base de operaciones de un ejército de androides “malvados” que planean invadir la Tierra. Está dividido en tres grandes estancias, iluminadas con lámparas automáticas, a las que se accede secuencialmente atravesando unas puertas de seguridad automáticas también. El jugador controla a un androide “bueno”, al servicio de la Humanidad, cuya misión es infiltrarse en esta base, llegar a la última estancia y destruir todos los prototipos de los perversos androides gigantes que están construyendo allí.

B. El androide protagonista interactúa con distintos objetos, como recargas de munición, activadores de puertas o luces, un arma adicional como el aturdidor o una herramienta como las gafas de visión nocturna; todo ello para mejorar su rendimiento en combate y alcanzar sus objetivos. Muchos de estos objetos se añaden al inventario del protagonista o modifican directamente su estado, y todo eso se refleja en la interfaz virtual.

C. El androide destruye enemigos y cabinas generadoras de enemigos si les dispara varias veces. Hay dos tipos de armas -que se usan con acciones diferentes- y de munición, siendo los aturdidores nada ruidosos pero únicamente dejando fuera de combate al enemigos durante unos segundos. El androide que controlamos recibe daño de los proyectiles enemigos, aunque si sobrevive, se recupera de esa pérdida de energía simplemente dejando pasar unos segundos.

D. Los androides enemigos patrullan por sus estancias y con su comportamiento inteligente son capaces de detectar (mediante percepción visual, si hay luz en la estancia, o sonora, si se hace algún ruido), perseguir y hasta disparar desde cierta distancia al androide protagonista, con el objetivo de causarle daño con sus proyectiles.

E. El juego es fácil de superar si avanzamos con cuidado, reduciendo las detecciones por parte del enemigo (moviéndose con sigilo, apagando luces y usando gafas de visión nocturna), dejando fuera de combate a algunos enemigos y generadores de enemigos, y destruyendo finalmente los prototipos. Sin embargo, se vuelve difícil si jugamos de manera imprudente, simplemente avanzando y disparando a todos los enemigos sin ton ni son. Cada vez que completamos el nivel principal, este se reinicia aunque en un supuesto “siguiente nivel” (Nivel 1, Nivel 2, Nivel 3… sin límites cercanos); en cada repetición hay más enemigos sueltos, en lugares variados, los enemigos se generan con más frecuencia, son más rápidos moviéndose y disparando, etc.

Ejemplo de mapa esquemático del Centro de Desarrollo Tecnológico de Androides.

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_P3). 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 restricciones 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-P3 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-P3) 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.

  • Metal Gear Solid (Konami, 1998)
  • Wolfenstein 3D (id Software, 1992)
  • Yo, Robot (20th Century Fox, 2004)

Se pueden realizar ampliaciones para ir más allá en el aprendizaje.

  • Crear un entorno lo más variado posible (con varias plantas, partes generadas procedimentalmente, distintos rótules o luces de colores, etc.) usando casi exclusivamente los recursos modulares de lo paquetes Modular Sci.
  • Cambiar el modelo 3D del arma, el del proyectil y la animación de disparo cuando se utiliza el aturdidor o cualquier otro arma distinto al rifle habitual.
  • Que los enemigos den la voz de alarma a sus compañeros, convocándolos y organizándose para hacerte emboscadas.