UMA ANÁLISE MAIS DETALHADA DA GERAÇÃO DE PAISAGENS NO HYTALE

Olá! Nesta postagem, vamos analisar mais de perto o sistema de geração de mundo de Hytale – especificamente, as várias técnicas que usamos para criar paisagens dramáticas e geradas proceduralmente em cada uma das zonas do modo aventura.

Discutimos este tópico pela primeira vez em janeiro de 2019, e você pode querer reler nossa  introdução à geração de mundos para ter uma ideia geral de como nosso sistema de geração baseado em regras funciona e o que pretendemos alcançar com ele. Hoje, vamos entrar em mais detalhes e demonstrar como os modders de Hytale poderão personalizar a geração de mundos para atender às suas próprias necessidades.

Primeiro, porém, precisamos falar sobre ruído.

INTERPRETAÇÃO DE MAPAS DE RUÍDO E MAPAS DE ALTURA

No contexto de nossos sistemas de geração procedural, um ‘mapa de ruído’ é um conjunto de números aleatórios que pode ser combinado com diversas funções para suportar uma vasta gama de tipos diferentes de geração.

Usamos mapas de ruído para diversos aspectos do sistema de geração de conteúdo de Hytale, incluindo todos os vários sistemas relacionados à paisagem que detalharemos mais adiante neste artigo. Um dos usos mais marcantes é na formação das próprias zonas.

Esta imagem foi gerada por uma ferramenta de visualização simples e mostra uma prévia do resultado da combinação de mapas de ruído com outro recurso importante na geração de paisagens: a interpretação de mapas de altura. Neste caso, os ambientes simulados são os planaltos rochosos da Zona 2.

A interpretação de mapas de altura envolve conjuntos adicionais de números que nos permitem estabelecer a altura em que certas feições do mapa de ruído aparecerão no terreno gerado. Ajustando os limiares de interpretação do mapa de altura, podemos, por exemplo, pegar um conjunto de mapas de ruído que criaria um curso d’água sinuoso e adaptá-los para produzir cânions fluviais impressionantes.

“Nossos artistas técnicos aprendem a composição de mapas de ruído como uma arte”, diz Slikey, programador de geração de mundos. “Eles têm um vasto conjunto de ferramentas com diferentes tipos de ruído e operações para combiná-los. Leva tempo para aprender a equilibrar complexidade, desempenho e design – estamos constantemente descobrindo novas maneiras de combinar mapas de ruído para gerar terrenos únicos ou posicionar pré-fabricados de maneiras inesperadas.”

Quando estamos satisfeitos com a configuração dos mapas de ruído e dos limites de um bioma, implementamos essas regras no próprio jogo.

— Vídeo removido —

Este vídeo mostra vários mapas de ruído sendo adicionados a uma paisagem, um após o outro, começando com uma paisagem geral e, em seguida, introduzindo as regras para os biomas de rio e montanha da Zona 2. O aumento gradual na complexidade que você vê neste vídeo é para fins ilustrativos: na realidade, uma vez que os mapas de ruído e os limites para uma área são estabelecidos, a paisagem é gerada de uma só vez.

CAMADAS, COBERTURAS E PRÉ-FABRICADOS

Nesta fase, temos uma paisagem com muitos blocos e alguns elementos principais, como rios, montanhas e litorais. O processo de dar personalidade aos ambientes ocorre em várias etapas, cada uma com seus próprios processos de geração procedural.

Começamos com as ‘camadas’. Estas são outro tipo de mapa de ruído usado para especificar tanto a profundidade de certos tipos de blocos no terreno, quanto os tipos de blocos que aparecerão na superfície. A captura de tela acima mostra as várias camadas que compõem uma paisagem na Zona 3, com plantas e vegetação removidas para facilitar a visualização dos materiais subjacentes.

O próximo passo envolve as ‘coberturas’. ‘Cobertura’ refere-se a detalhes ambientais incidentais como grama, folhagem, cogumelos, afloramentos cristalinos e assim por diante. Ao configurar as coberturas para uma determinada área, podemos informar ao sistema de geração de mundo que tipos de plantas devem aparecer em quais camadas. Por exemplo, podemos definir que arbustos densos devem aparecer apenas em camadas gramadas, enquanto musgos podem ocorrer em superfícies rochosas subterrâneas.

Os prefabs dão o toque final e são frequentemente o que conferem aos ambientes sua identidade específica. Os prefabs são conjuntos de blocos, criados por nossos artistas técnicos, que são distribuídos por todo o ambiente pelo sistema de geração de mundo.

Elementos pré-fabricados incidentais, como árvores, são encontrados frequentemente pelo jogador e são distribuídos como outros tipos de cobertura do solo.

Eis um exemplo da transformação que ocorre quando camadas, cobertura e prefabs incidentais são aplicados a uma nova paisagem:

— Vídeo removido —

O sistema de pré-fabricados também suporta estruturas maiores e pontos de interesse, como você deve se lembrar  deste post do blog  de março do ano passado. Criamos milhares de pré-fabricados para dar suporte ao sistema de geração de mundo do modo aventura, e os modders terão a liberdade de usar esses ou criar os seus próprios ao personalizar o mundo.

Os prefabs são configurados separadamente para garantir que sua aparência no mundo seja crível e pareça especial. As zonas onde prefabs maiores podem aparecer são mapeadas usando um tipo diferente de mapa de ruído:

Este é um exemplo de ruído de Voronoi, que cria padrões semelhantes a células. No Hytale, usamos essas “células” para estabelecer onde grandes prefabs podem ou não ocorrer. Na imagem acima, os pontos roxos representam áreas onde um grande prefab pode ser encontrado e, coletivamente, correspondem a cerca de 20% do espaço gerado. Se quiséssemos, poderíamos aumentar ou reduzir essa densidade.

Em conjunto, camadas, coberturas e pré-fabricados nos ajudam a criar ambientes que combinam o dinamismo da geração procedural com o senso de propósito que vem da incorporação de edifícios e elementos ambientais projetados manualmente.

“O Worldgen é um sistema incrível”, diz a artista técnica Amber. “Ele nos dá muito controle e nos permite ser incrivelmente criativos com o sistema. Muitas vezes criamos paisagens e as mostramos para o Slikey, e ele disse: ‘Nossa, eu não fazia ideia de que vocês conseguiam fazer isso!’”

Existem outros aspectos da geração de mundo que não abordamos no post de hoje — particularmente sistemas de cavernas, masmorras e as formas como as zonas se interconectam. Esses são assuntos complexos por si só, então planejamos abordá-los separadamente em nossa próxima análise detalhada dos sistemas de geração de Hytale.

Esperamos que este artigo tenha ajudado você a entender um pouco mais sobre como o mundo de Hytale é criado. Todos os sistemas que descrevemos nesta publicação estarão acessíveis aos modders por meio de arquivos de configuração altamente personalizáveis. Combinando a criação de recursos no Hytale Model Maker, nossas ferramentas de construção com blocos e o sistema de geração de mundo subjacente, você poderá gerar ambientes únicos.

Aqui está um que nós mesmos criamos!

Esta paisagem personalizada utiliza todas as técnicas descritas nesta publicação – incluindo novos prefabs – para criar um cenário de ficção científica dentro do sistema de geração de mundo do Hytale. Mal podemos esperar para ver o que os modders de Hytale serão capazes de fazer!