Geração cíclica de masmorras no exemplo de Inexplorado

imagem

Pare de criar caminhos ramificados, comece a usar a geração cíclica de masmorras. Seus níveis se tornarão muito mais semelhantes aos criados manualmente.

Na maioria das vezes, para gerar masmorras em jogos do gênero roguelike, fragmentos gerados ou pré-criados da masmorra são adicionados ao mapa. A masmorra cresce a partir do ponto de partida como uma árvore. No entanto, as árvores terminam em galhos, o que leva à criação de muitos becos sem saída. Para contornar esse problema, a maioria dos geradores de masmorras procura lugares onde você pode conectar ramificações aleatoriamente para que o jogador possa se mover em círculo, em vez de retornar constantemente.

O rastreador de masmorra inexplorado usa uma abordagem fundamentalmente diferente (veja a Figura 1). Em vez de caminhos lineares, inicialmente usa loops como a estrutura mais básica. A diferença é impressionante: com a abordagem antiga, ciclos bons e interessantes poderiam ocorrer por acaso, mas no inexplorado, eles são uma característica planejada do resultado do gerador.

https://i1.wp.com/ctrl500.com/wp-content/uploads/2016/07/basic-cyclic-explantion.png

Figura 1 - ciclos contra árvores.

Como isso funciona? Quando o inexplorado começa a gerar uma masmorra, ele começa a partir de um ponto de partida arbitrário no mapa. Mas, em vez de criar uma ramificação para o ponto de destino, ele cria um ciclo que consiste em dois caminhos que conectam a entrada e o ponto final. Esses loops são muito mais adequados aos padrões de projeto de nível padrão do que os caminhos lineares.

Cada ciclo tem um caminho A que leva da entrada até o ponto final e um caminho B que leva de volta. Dependendo dos comprimentos absolutos e relativos dos caminhos A e B, cada ciclo pode ser transformado em um padrão de design (veja a Figura 2). Por exemplo, quando A é curto e B é longo, você pode colocar uma porta fechada no ponto final do ciclo e colocar a chave no final de B, imediatamente antes de retornar ao caminho principal. Isso criará um nível em que o jogador vê pela primeira vez a porta trancada e, quando encontra uma chave adequada, não precisa ir muito longe para encontrar a porta que está abrindo. Obviamente, isso requer que o jogador não possa alcançar B diretamente da entrada do ciclo, embora possa ser interessante se ele puder ver imediatamente B e a tecla.

Outro exemplo que funciona bem com A longo e B curto - você pode colocar uma porta secreta entre a entrada e B, criando uma fatia oculta. Ou B pode ser simplesmente uma rota mais arriscada que A, porque tem um inimigo perigoso ou uma sala com muitas armadilhas. Existem muitas possibilidades, a Figura 2 mostra algumas delas.


Figura 2 - Exemplos de padrões de design cíclico.

Os resultados são surpreendentes. A Figura 3 mostra o nível gerado pelo jogo inexplorado . Consiste em um grande ciclo de chave de bloqueio com um ciclo cheio de um grande abismo. Para adicionar um pouco de interesse, um pequeno loop de jogo foi adicionado. O design é simples, mas eficaz. De fato, percebemos que, na maioria dos níveis, bastam alguns ciclos; já com alguns ciclos, os níveis adquirem uma estrutura e caráter únicos.

https://i1.wp.com/ctrl500.com/wp-content/uploads/2016/07/the-ring-level.png

Figura 3 - passando o nível.

Agradecimentos: A idéia da criação cíclica de masmorras surgiu durante um workshop de pesquisa no Canadian Banff Centre . Não posso me apropriar da autoria dessa idéia, por isso compartilho essa honra com todos que estavam no nosso grupo de trabalho.

Source: https://habr.com/ru/post/pt468957/


All Articles