Jestem programistą i chętnie piszę własne gry.
Na razie wybrałem JavaScript i canvas
element.
Chcę wygenerować taki teren w Scorched Earth.
Moja pierwsza próba uświadomiła mi, że nie mogę po prostu losowo ustalić y
wartości; w szczytach i dolinach musiało być trochę zdrowego rozsądku.
Trochę googlowałem, ale albo nie mogę znaleźć czegoś wystarczająco prostego, albo używam niewłaściwych słów kluczowych.
Czy możesz mi pokazać, jakiego rodzaju algorytmu użyłbym do wygenerowania czegoś w tym przykładzie, pamiętając, że jestem zupełnie nowy w programowaniu gier (od czasu zrobienia Breakout w 2003 roku z Visual Basic)?
Jak na temat korzystania przemieszczenie punktu środkowego algorytm ewentualnie następnie lekkim wygładzania np dolnoprzepustowego filtrowania , aby usunąć zbyt ostre kolce? To podejście nie jest takie samo jak w Spalonej Ziemi, ale powinno zapewnić podobne wyniki.
Wierzę, że Spalona Ziemia w jakiś sposób symulowała grawitację i opadający brud. Na przykład nie możesz mieć zbyt stromego wzniesienia, ponieważ w przeciwnym razie brud spadłby i stworzyłby mniej strome zbocze.
źródło
Istnieje inne podejście, którego możesz użyć. Możesz dodać kilka losowo generowanych fal sinusoidalnych, a następnie skalować wynik, aby dopasować go do ekranu. Jest to naprawdę łatwe w praktyce i daje dobre wyniki, choć płynniejsze i być może bardziej sztuczne niż twój przykładowy zrzut ekranu.
Możesz zobaczyć źródło w javascript tutaj. Naprawdę łatwo jest manipulować niektórymi parametrami, aby uzyskać różne rodzaje terenu.
https://github.com/fmstephe/Tankwars
źródło