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.
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.
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.