Explorando design procedural em Rain World: The Watcher

“Um enorme abutre mergulha do céu em direção à sua presa, apenas para ser preso por algas e arrastado para um abismo aquático para ser devorado por sanguessugas. Um carniceiro agarra um esporo inseticida e corre para uma nuvem de gafanhotos carnívoros para resgatar seu companheiro de tribo. Um lagarto mergulha sua presa em um tanque de ácido para garantir que esteja morta antes de levá-la de volta para sua toca.” – Andrew Marrero, Líder de Desenvolvimento, Akupara Games
Rain World’s jogabilidade brutal baseada em sobrevivência prospera em cenários inesperados. Embora cada uma dessas situações seja possível no jogo, nenhuma das interações são ações ou eventos explicitamente programados – são o resultado natural de sistemas comportamentais dinâmicos cuidadosamente elaborados e sistemas de relacionamento entre criaturas.
Entrevistamos desenvolvedores da Videocult, Akupara Games, e da comunidade de modding de Rain World para aprender mais sobre as criaturas e ambientes do jogo e seu mais recente DLC The Watcher, e o design procedural e sistemas que os trazem à vida.
Estabelecendo princípios de design fundamentais
O loop de jogabilidade central de Rain World envolve navegar por um ecossistema complexo e perigoso como um slugcat solitário separado de sua família. Os jogadores devem caçar criaturas mais fracas para se alimentar, evitar e superar predadores, e buscar abrigo de chuvas regulares de chuva ácida.
“Desde o início, queríamos uma jogabilidade improvisada e ousada focada em furtividade e explosões ocasionais de sobrevivência a todo custo,” diz Joar, consultor de criaturas da Videocult. “O jogo é muito baseado em conhecimento, usando tentativa e erro para aprender os mecanismos das criaturas e do ecossistema, e ganhando uma noção de como manipulá-lo a seu favor.”

Animando o slugcat
Aprender a controlar efetivamente o slugcat é uma grande parte desta jornada. No jogo, o slugcat se move com uma qualidade escorregadia e líquida, e pode quicar nas paredes, deslizar pelo chão e se espremer por túneis estreitos. Embora difícil de entender completamente no início, o sistema de movimento único do slugcat dá às sequências de ação de Rain World uma sensação de "corrida desesperada" e possibilita "algumas interações interessantes que não seriam possíveis se o personagem fosse apenas uma caixa alinhada ao eixo."
Visualmente, tudo isso é possibilitado pela animação procedural. O modelo de personagem do slugcat consiste em dois pedaços esféricos presos um ao outro a uma distância fixa, permitindo que ele role e gire. Os membros e a cauda são adições cosméticas desenhadas sobre essa base, animando-se proceduralmente com base nas entradas do jogador.
"Eu nunca realmente me propus a fazer animação procedural," diz Joar. "Eu enfrentei o problema de fazer os membros do slugcat se moverem, e como o código é como você faz as coisas se moverem em um jogo de computador, foi isso que eu fiz. No início, eu usei uma mistura de animação clássica e procedural, mas depois me inclinei mais para a procedural."
As animações do slugcat em ação
Construindo um bioma
O bestiário de Rain World inclui mais de 100 criaturas com aparências, comportamentos e habitats significativamente variados. Embora compartilhem alguns scripts básicos de criaturas em comum, na maior parte, cada um é abordado como um projeto totalmente novo e codificado do zero. Isso adiciona trabalho extra de desenvolvimento, mas permite a biodiversidade que torna o jogo tão atraente.
"Algumas criaturas têm pernas curtas e gordinhas, enquanto outras têm pernas de aranha pesadelo longas, nadadeiras, propulsão a jato, tentáculos e asas," diz Benjamin, consultor de criaturas da Videocult. "Como os designs das criaturas variam tanto entre si, eles requerem código único para formar seus corpos e lidar com suas maneiras únicas de se mover."
Essa abordagem de design eclética é refletida em uma configuração de Editor não convencional. "Rain World é muito estranho na maneira como usa o Editor da Unity," diz Benjamin. "Basicamente, existem apenas scripts MonoBehaviour de manipulação de entrada/saída em alguns GameObjects vazios, sendo os principais o painel de tela, o gerenciador de pool de som e o gerenciador de controle. Nossas criaturas são criadas quase inteiramente a partir de scripts, exceto por sprites, que são posicionados e coloridos através do script gráfico da criatura. Cada criatura herda de scripts básicos de criaturas, que lidam com colisões e outras tarefas de uso geral que todas precisam, como sistemas de saúde, itens mantidos e salvamento/carregamento deles."

Programando o comportamento das criaturas
Para estabelecer comportamentos específicos de criaturas, cada uma recebe uma tabela catalogando suas relações com outras criaturas, objetos e locais, com essas informações formando a base do ecossistema de Rain World. “Em um nível comportamental, as criaturas usam uma coleção modular de módulos de IA que podem ser opcionalmente anexados e configurados para cada criatura para mudar seus possíveis comportamentos e prioridades,” explica Andrew, líder de desenvolvimento na Akupara.
Alguns desses módulos incluem:
• PreyTracker para caçar presas próximas
• ThreatTracker para fugir de predadores próximos
• FriendTracker para formar esquadrões cooperativos com outras criaturas afins
• ItemTracker para encontrar itens utilizáveis no chão para pegar e carregar
• DenFinder para dar à criatura uma sensação de uma base que pode retornar após certas tarefas
• DiscomfortTracker para definir quais áreas ou objetos a criatura normalmente evita
A credibilidade do ecossistema de Rain World depende fortemente dos comportamentos emergentes que esses sistemas possibilitam, com alguns surpreendendo até os desenvolvedores: “Eu estava criando uma criatura parecida com uma lagarta venenosa, e outro desenvolvedor do projeto teve a ótima sugestão de fazer o veneno ser uma forma de remover parasitas,” diz Benjamin. “Acabou fazendo com que seu veneno funcionasse como uma espécie de remédio – eu achei isso realmente legal!”
O veneno da lagarta pode ser usado como um medicamento antiparasitário
Cultivando interações emergentes
Manter esse sistema intrincado requer um equilíbrio entre interações puramente impulsionadas por sistemas e intervenções manuais ocasionais dos desenvolvedores. “Como o programador por trás desses comportamentos, eu nunca vi nada que não pudesse explicar, mas frequentemente ficava surpreso com as diferentes maneiras que as coisas se encaixavam,” diz Joar. Ele se lembra de uma ocasião em que um grande inimigo tentacular, o Daddy Long Legs – destinado a ser uma grande ameaça – ficou fixado em caçar vermes pequenos e ignorou completamente o slugcat, um problema resolvido com alguns ajustes menores no código.
Embora o objetivo fosse criar o menor número possível dessas interações feitas à mão, Joar reconhece que algum nível de input direto, em última análise, torna os ambientes de Rain World mais realistas: “Na maior parte, tentamos deixar o sistema se desenrolar como deveria, mas eventualmente cedemos e criamos uma ferramenta onde certas salas poderiam ser designadas como mais atraentes para certas criaturas, para dar um pouco de coesão ao mundo.”
Um abutre rouba o almoço do slugcat
Introduzindo novas espécies
Rain World’s mais recente DLC, The Watcher, introduz 25 criaturas adicionais, novos biomas e outro slugcat jogável equipado com habilidades únicas. “Nosso novo slugcat Watcher tem a capacidade de esconder temporariamente sua forma visual completamente da maioria das outras criaturas,” diz Benjamin – claro, isso não garante sua sobrevivência. “Existem algumas criaturas com maneiras de contornar isso, como caçar pelo som ou pintar o slugcat com seus próprios pigmentos naturais.”
O slugcat Watcher também vem com uma nova habilidade “Ripple”, um buff empilhável que desbloqueia novos poderes à medida que os jogadores progridem. Ongomato, artista técnico da Akupara Games, descreve como eles criaram VFX para o “Efeito Ripple” distorcendo, re-colorindo ou até mesmo substituindo partes do ambiente usando uma máscara de intensidade:
“Esta máscara é renderizada primeiro, capturada e então o quadro é limpo. Um Command Buffer então distorce ou substitui a textura do nível com base nesta máscara. A cena real do jogo é renderizada usando esta textura alterada, garantindo que outros efeitos que amostram a textura do nível sejam desenhados corretamente e que os personagens permaneçam inalterados para visibilidade,” explica Ongomato. “A trilha de distorção do jogador usa o mesmo efeito: Sua silhueta é adicionada a uma textura a cada quadro, distorcendo lentamente e diminuindo em intensidade, criando uma trilha orgânica que atua como uma fonte de distorção para o efeito ripple.”
O “Efeito Ripple” renderizado no jogo
Outro
A filosofia de design de Rain World, enraizada em sistemas procedurais e interações emergentes, garante que cada partida ofereça uma experiência nova, reforçando seu apelo e valor de replay. Isso nutriu uma comunidade de jogadores dedicada, que deu nova vida ao jogo quando a Videocult abriu o projeto para modders. O conteúdo gerado pelos jogadores resultante gerou ainda mais interesse em Rain World, com os mods mais populares sendo integrados ao projeto como expansões oficiais: Downpour em 2022, e hoje, The Watcher.
Encerrando a entrevista, perguntamos à equipe de desenvolvimento de Rain World como eles mantiveram o escopo extremamente ambicioso deste jogo sob controle ao longo dos anos. A resposta deles? “Nós nunca.” Durante o desenvolvimento, tivemos dez mil ideias legais de escopo, e então colocamos todas no jogo. Nota: não é um conselho.”
Rain World: The Watcher lança hoje nas plataformas desktop e console. Confira no Steam, e navegue por mais jogos feitos com Unity em nossa página oficial do Curador do Steam. Leia mais histórias de desenvolvedores na comunidade Unity em nossa página de Recursos.
