Sou desenvolvedor web e estou ansioso para começar a escrever meus próprios jogos.
Por familiaridade, eu escolhi o JavaScript e o canvas
elemento por enquanto.
Quero gerar um terreno como esse na Terra chamuscada.
Minha primeira tentativa me fez perceber que não podia simplesmente aleatoriamente o y
valor; tinha que haver alguma sanidade nos picos e vales.
Pesquisei um pouco no Google, mas não consigo encontrar algo simples o suficiente para mim ou estou usando as palavras-chave erradas.
Você pode me mostrar que tipo de algoritmo eu usaria para gerar algo no exemplo, tendo em mente que sou completamente novo na programação de jogos (desde que fiz o Breakout em 2003 com o Visual Basic)?
Que tal usar o algoritmo de deslocamento do ponto médio , possivelmente seguido de uma ligeira suavização, por exemplo, filtro passa-baixo para remover picos muito acentuados? Essa abordagem não é a mesma que na Terra chamuscada, mas deve fornecer resultados semelhantes.
Acredito que a Terra Chamuscada simulou de alguma forma a gravidade e a sujeira que caía. Por exemplo, você não pode ter uma colina muito íngreme porque, caso contrário, a sujeira cairia e criaria uma inclinação menos íngreme.
fonte
Há outra abordagem que você pode usar. Você pode adicionar várias ondas senoidais geradas aleatoriamente e depois escalar o resultado para caber na tela. É realmente fácil na prática e produz alguns bons resultados, embora mais suave e talvez mais artificial do que a captura de tela de exemplo.
Você pode ver a fonte em javascript aqui. É realmente fácil mexer com alguns parâmetros para obter diferentes tipos de terreno.
https://github.com/fmstephe/Tankwars
fonte