Algoritmo para criação de mapas

Alguém sabe o algoritmo usado na geração de mapas no Minecraft ou algum parecido? To quebrando a cabeça pra pensar num e não consigo. Já pensei em criar o mapa apartir das cores dos pixeis de uma determinada imagem, mas mesmo que eu faça isso e vá incrementando a imagem à medida que vou avançando no mapa eu ainda não teria uma solução quanto a geração do mapa no eixo Y. O jogo será em 2D estilo Final Fantasy, mas com um sandbox estilo Minecraft.

Desde já agradeço.

Tenta dar uma olhada nesse: https://www.assetstore.unity3d.com/en/#!/content/11333

Como é 2D dá para fazer por tile.

Não entendi muito bem mas para geração de mapas usaria Perlin noise ou Simplex noise, ou uma adaptação de geração de labirintos


1 curtida

Explicando melhor: O jogo será sandbox como Minecraft, ou seja, o mundo gerado será completamente editável, entretanto será como Final Fantasy, com gráficos 2D e câmera topográfica. A tridimensionalidade do mapa será abstrato quanto a renderização, pois não será desenhado o que tiver abaixo da superficie, mas será armazenado informações a respeito do subsolo, para que quando for removido um “bloco”(não será exatamente um bloco), o “bloco” abaixo apareça. Ou seja, só será renderizado quando visível ao usuário.
Quanto a geração do mapa, que é o que me interessa, dei uma olhada nos artigos, porém não entendi uma coisa: os bitmaps gerados são para criação de mapas superficialmente tridimensionais, ou são completamente tridimensionais? Por exemplo: o primeiro é costumeiramente utilizado na geração de mapas com relevos, montanhas, depressões, etc. Porém não gera um mapa 3D literal, pois usa a escala de cinza para determinar o valor do eixo Y superficialmente. Já o segundo seria um mapa 3D literal onde seria possível gerar até mesmo cavernas e determinar todos os eixos com base na posição de um pixel.
O jogo será mais ou menos um Minicraft (uma versão 2D de Minecraft que Markus “Notch” Person fez em 2011 para concorrer a um concurso de criação de jogos, onde deveria ser feito um jogo em 48h) com mais liberdade.

O perlin noise pode ser usado para criar mapas tridimensionais, bidimensionais e também para criação de texturas, na verdade, tem muitas utilidades. Sei que também é possível criar mapas completamente em 3D, mas não me lembro do algoritmo para isso. O Perlin noise é extremamente pesado, talvez seja por isso que não é usado muito no 3D, talvez o Simplex Noise seja mais utilizado, mas não conheço artigos sobre este outro.

Um artigo melhor:

O segundo é sobre geração de labirintos em 2D, também é possível gerar mapas 2D ou 3D se for adaptado.

2 curtidas

Outro algoritmo que poderia ser usado, seria a interpolação, mas também teria que adaptar. A mais usada seria a interpolação bilinear.

Não conheço algoritmos específicos para criação de mapas.

A interpolação é usada no Perlin Noise.

1 curtida