Estou projetando um jogo que está trabalhando em um mecanismo de blocos clássico, mas cujo mundo é gerado aleatoriamente. Existem jogos ou algoritmos existentes que fazem isso? Os algoritmos de geração de procedimentos que eu encontrei nunca usam um sistema de blocos ... Qual seria a melhor maneira de gerar um "mundo" inteiro usando um sistema de blocos? Não estou falando de labirintos de blocos, mas de um "mapa do mundo" geral, graças
22
Respostas:
Sua pergunta leva você ao campo da geração de conteúdo processual.
Geração mundial baseada em blocos, derivada de métodos contínuos / analógicos
Por contínuo, quero dizer algo que não é lado a lado, algo que é analógico, um exemplo sendo um mapa vetorizado. Você pode usar qualquer técnica contínua para geração e depois quantificá-la. Por exemplo, gere uma imagem de ruído Perlin de alta resolução, reduza a resolução para ajustar o tamanho do seu mapa de mosaico e experimente os pixels para fornecer um mapa de altura. (Os mapas de altura podem ser um excelente ponto de partida para o seu mundo.) Isso porque você mencionou ter visto fontes que não mostravam o que fazer em relação a como aplicá-lo a blocos.
Geração mundial baseada em blocos usando uma abordagem de escultura "piscada"
Com uma abordagem baseada em bloco (célula), você pode fazer uma espécie de geração cega em que gera o mundo pouco a pouco, sem olhar além do que, por exemplo. os azulejos diretamente vizinhos, mas isso tende a parecer com o trabalho de um inseto. Isso é típico da CA (autômato celular) e exibe uma inteligência de escala pouco maior.
Geração de mundo baseada em blocos usando uma visão mais ampla do mundo, de cima para baixo
Isso requer uma abordagem mais inteligente para a construção do mundo lado a lado, pois ele primeiro será construído região a região. Desta forma, você obtém controle sobre, por exemplo. diferentes biomas, regiões políticas, etc., como Tarn Adams fez em Dwarf Fortress. Claro que isso exige que você pense um pouco sobre como gostaria de dividir seu mundo. Existem muitas maneiras de você fazer sua própria pesquisa.
A geração de conteúdo processual é um tópico bastante amplo, portanto você precisará ler bastante antes de ter uma idéia sólida do que realmente deseja e como proceder - o diabo está sempre nos detalhes . Por esse motivo, algumas boas fontes para isso são a lista de discussão rec.games.roguelike.development (uma tonelada de informações sobre mundos procedimentais baseados em blocos ), as páginas de programação de jogos do AmitP (consulte "Outros tópicos") e, por último, mas não menos importante, o Wiki de geração de conteúdo processual .
fonte
A geração processual é um tópico imenso. Quão profundo você está disposto a ir?
As respostas de Nick Wiggill são excelentes. Eu acrescentaria isso sugerindo que você analise alguns métodos matemáticos de criação de terrenos aleatórios coerentes.
O ruído Perlin oferece uma ótima maneira de criar aleatoriedade suavizada e funciona muito bem para todos os tipos de terreno. Simular a erosão pode dar uma impressão realista da altura (embora você não precise disso, pois está fazendo um jogo baseado em blocos)
Muitas das técnicas discutidas em artigos como este de Oddlabs , criadores do Tribal Trouble, funcionam bem em 2D e em baixa resolução também. Se você se sentir mais confortável com esse tipo de abordagem, vale a pena aprender essas técnicas.
fonte
O espaço processual de Spelunky - uma ótima introdução à geração de conteúdo processual por Darius Kazemi
Spelunky é um jogo 2D de Derek Yu que possui ótimos níveis de procedimento.
Há também um wiki de conteúdo processual http://pcg.wikidot.com/
fonte