Explorando el diseño procedural en Mundo Lluvia: El Vigilante

“Un enorme buitre se lanza desde el cielo hacia su presa, solo para ser atrapado por algas y arrastrado a un abismo acuático para ser devorado por sanguijuelas. Un carroñero agarra un espora insecticida y se lanza a una multitud de langostas carnívoras para rescatar a su compañero. Una lagartija sumerge a su presa en un vat de ácido para asegurarse de que esté muerta antes de llevarla de regreso a su guarida.” – Andrew Marrero, Líder de Desarrollo, Akupara Games
Mundo de Lluvia’s juego de supervivencia agotador prospera en escenarios inesperados. Si bien cada una de estas situaciones es posible en el juego, ninguna de las interacciones son acciones o eventos programados explícitamente – son el resultado natural de sistemas de comportamiento dinámico cuidadosamente elaborados y sistemas de relación entre criaturas.
Entrevistamos a desarrolladores de Videocult, Akupara Games, y la comunidad de modding de Mundo de Lluvia para aprender más sobre las criaturas y entornos en el juego y su último DLC El Vigilante, y el diseño y sistemas procedimentales que les dan vida.
Estableciendo principios de diseño fundamentales
El bucle de juego central de Mundo de Lluvia implica navegar por un ecosistema complejo y peligroso como un solitario slugcat separado de su familia. Los jugadores deben cazar criaturas más débiles para alimentarse, evitar y superar a los depredadores, y buscar refugio de las regulares lluvias ácidas.
“Desde el principio, queríamos un juego improvisado y desordenado centrado en el sigilo y ocasionales explosiones de supervivencia a toda costa,” dice Joar, consultor de criaturas en Videocult. “El juego es muy basado en el conocimiento, utilizando prueba y error para aprender los mecanismos de las criaturas y el ecosistema, y ganando una sensación de cómo manipularlo todo a tu favor.”

Animando al slugcat
Aprender a controlar efectivamente al slugcat es una gran parte de este viaje. En el juego, el slugcat se mueve con una calidad resbaladiza y líquida, y puede rebotar en las paredes, deslizarse por el suelo y atravesar túneles estrechos. Aunque difícil de comprender completamente al principio, el sistema de movimiento único del slugcat le da a las secuencias de acción de Rain World una sensación de "lucha desesperada" y permite "algunas interacciones interesantes que no serían posibles si el personaje fuera solo una caja alineada en el eje."
Visualmente, todo esto es posible gracias a la animación procedural. El modelo de personaje del slugcat consiste en dos trozos esféricos bloqueados entre sí a una distancia fija, lo que le permite rodar y rotar. Las extremidades y la cola son adiciones cosméticas dibujadas sobre esta base, animándose proceduralmente según las entradas del jugador.
"Nunca realmente me propuse hacer animación procedural," dice Joar. "Me enfrenté al problema de hacer que las extremidades del slugcat se movieran, y dado que el código es cómo haces que las cosas se muevan en un juego de computadora, eso es lo que hice. Al principio usé una mezcla de animación clásica y procedural, pero más tarde me incliné más hacia lo procedural."
Las animaciones del slugcat en acción
Construyendo un bioma
El bestiario de Rain World incluye más de 100 criaturas con apariencias, comportamientos y hábitats significativamente variados. Si bien comparten algunos scripts base de criaturas en común, en su mayor parte, cada uno se aborda como un proyecto completamente nuevo y se codifica desde cero. Esto añade trabajo extra de desarrollo, pero permite la biodiversidad que hace que el juego sea tan atractivo.
"Algunas criaturas tienen patas cortas y regordetas, mientras que otras tienen patas de araña de pesadilla largas, aletas, propulsión a chorro, tentáculos y alas," dice Benjamin, consultor de criaturas en Videocult. "Debido a que los diseños de las criaturas varían tanto entre sí, requieren código único para formar sus cuerpos y manejar sus formas únicas de movimiento."
Este enfoque de diseño ecléctico se refleja en una configuración de Editor poco convencional. "Rain World es muy extraño en la forma en que utiliza el Editor de Unity," dice Benjamin. "Básicamente, solo hay scripts de MonoBehaviour para manejo de entrada/salida en unos pocos GameObjects vacíos, siendo los principales el panel de pantalla, el administrador de pool de sonido y el administrador de controladores. Nuestras criaturas se crean casi en su totalidad a partir de scripts, excepto por los sprites, que se posicionan y colorean a través del script gráfico de la criatura. Cada criatura hereda de scripts base de criaturas, que manejan colisiones y otras tareas de propósito general que todas necesitan, como sistemas de salud, objetos sostenidos y su guardado/carga."

Programando el comportamiento de las criaturas
Para establecer comportamientos específicos de las criaturas, cada una recibe una tabla que catalogará sus relaciones con otras criaturas, objetos y ubicaciones, siendo esta información la base del ecosistema de Rain World. “A nivel de comportamiento, las criaturas utilizan una colección modular de módulos de IA que se pueden adjuntar y configurar opcionalmente para cada criatura para cambiar sus posibles comportamientos y prioridades”, explica Andrew, líder de desarrollo en Akupara.
Algunos de estos módulos incluyen:
• PreyTracker para cazar presas cercanas
• ThreatTracker para huir de depredadores cercanos
• FriendTracker para formar escuadrones cooperativos con otras criaturas afines
• ItemTracker para encontrar objetos utilizables en el suelo para recoger y llevar
• DenFinder para darle a la criatura un sentido de un hogar al que puede regresar después de ciertas tareas
• DiscomfortTracker para definir qué áreas u objetos la criatura evita típicamente
La credibilidad del ecosistema de Rain World depende en gran medida de los comportamientos emergentes que estos sistemas permiten, sorprendiendo incluso a los desarrolladores: “Estaba creando una criatura parecida a una oruga venenosa, y otro desarrollador en el proyecto tuvo la gran sugerencia de hacer que el veneno fuera una forma de eliminar parásitos”, dice Benjamin. “Terminó haciendo que su veneno pudiera funcionar como una especie de medicina – ¡pensé que eso era realmente genial!”
El veneno de la oruga puede usarse como un medicamento antiparasitario
Cultivando interacciones emergentes
Mantener este intrincado sistema requiere un equilibrio entre interacciones impulsadas puramente por sistemas y ocasionales intervenciones manuales de los desarrolladores. “Como el programador detrás de estos comportamientos, nunca vi nada que no pudiera explicar, pero a menudo me sorprendía por las diferentes formas en que las cosas se entrelazaban”, dice Joar. Recuerda una instancia en la que un gran enemigo tentacular, el Daddy Long Legs – destinado a ser una gran amenaza – se obsesionó con cazar pequeños gusanos e ignoró por completo al slugcat, un problema resuelto con algunos ajustes menores en el código.
Si bien el objetivo era crear la menor cantidad posible de estas interacciones hechas a mano, Joar reconoce que algún nivel de entrada directa hace que los entornos de Rain World sean más realistas: “En su mayor parte, intentamos dejar que el sistema se desarrollara como debía, pero eventualmente cedimos y creamos una herramienta donde ciertas habitaciones podían ser asignadas como más atractivas para ciertas criaturas, para dar un poco de cohesión al mundo.”
Un buitre roba el almuerzo del slugcat
Introduciendo nuevas especies
El último DLC de Rain World, The Watcher, introduce 25 criaturas adicionales, nuevos biomas y otro slugcat jugable equipado con habilidades únicas. “Nuestro nuevo slugcat Watcher tiene la capacidad de ocultar temporalmente su forma visual completamente de la mayoría de las otras criaturas,” dice Benjamin – por supuesto, esto no garantiza su supervivencia. “Sin embargo, hay algunas criaturas que tienen formas de sortear eso, como cazar por sonido, o pintar al slugcat con sus propios pigmentos naturales.”
El slugcat Watcher también viene con una nueva habilidad de “Ripple”, un buff acumulativo que desbloquea nuevos poderes a medida que los jugadores avanzan. Ongomato, artista técnico en Akupara Games, describe cómo crearon VFX para el “Efecto Ripple” distorsionando, recoloreando o incluso reemplazando partes del entorno usando una máscara de intensidad:
“Esta máscara se renderiza primero, se captura y luego se limpia el marco. Un Command Buffer luego distorsiona o reemplaza la textura del nivel basado en esta máscara. La escena del juego real se renderiza usando esta textura alterada, asegurando que otros efectos que muestrean la textura del nivel se dibujen correctamente y los personajes permanezcan sin afectar para la visibilidad,” explica Ongomato. “La estela de distorsión del jugador utiliza el mismo efecto: Su silueta se añade a una textura en cada cuadro, distorsionándose lentamente y disminuyendo en intensidad, creando una estela orgánica que actúa como fuente de distorsión para el efecto ripple.”
El “Efecto Ripple” renderizado en el juego
Outro
La filosofía de diseño de Rain World, arraigada en sistemas procedimentales e interacciones emergentes, asegura que cada partida ofrezca una experiencia fresca, reforzando su atractivo y valor de repetición. Esto ha nutrido una comunidad de jugadores dedicada, que dio nueva vida al juego cuando Videocult abrió el proyecto a los modders. El contenido generado por los jugadores resultante generó aún más interés en Rain World, siendo los mods más populares integrados en el proyecto como expansiones oficiales: Lluvia en 2022, y hoy, El Vigilante.
Al finalizar la entrevista, preguntamos al equipo de desarrollo de Mundo Lluvia cómo mantuvieron el alcance tan ambicioso de este juego bajo control a lo largo de los años. ¿Su respuesta? “Nunca lo hemos hecho.” Durante el desarrollo, se nos ocurrieron diez mil ideas geniales que ampliaban el alcance, y luego las pusimos todas en el juego. Nota: no es un consejo.”
Mundo Lluvia: El Vigilante se lanza hoy en plataformas de escritorio y consola. Échale un vistazo en Steam, y explora más juegos Hechos con Unity en nuestra página oficial de Curador de Steam. Lee más historias de desarrolladores en la comunidad de Unity en nuestra página de Recursos.
