Ich bin ein Webentwickler und möchte gerne meine eigenen Spiele schreiben.
Aus Gründen der Vertrautheit habe ich mich für JavaScript und canvas
Element entschieden.
Ich möchte in Scorched Earth ein solches Terrain erzeugen.
Bei meinem ersten Versuch wurde mir klar, dass ich den y
Wert nicht einfach nach dem Zufallsprinzip bestimmen konnte . Die Gipfel und Täler mussten vernünftig sein.
Ich habe ein bisschen gegoogelt, aber entweder finde ich nichts Einfaches für mich oder ich verwende die falschen Keywords.
Können Sie mir bitte zeigen, welche Art von Algorithmus ich verwenden würde, um etwas in dem Beispiel zu generieren, wobei zu berücksichtigen ist, dass ich in der Spieleprogrammierung völlig neu bin (seit ich Breakout 2003 mit Visual Basic sowieso gemacht habe)?
Wie wäre es mit Algorithmus zur Verschiebung des Mittelpunkts , möglicherweise gefolgt von einer leichten Glättung, z. B. Tiefpassfilterung , um zu scharfe Spitzen zu entfernen? Dieser Ansatz ist nicht derselbe wie bei Scorched Earth, sollte jedoch ähnliche Ergebnisse liefern.
Ich glaube, dass Scorched Earth die Schwerkraft und den fallenden Schmutz simuliert hat. Sie können zum Beispiel keinen zu steilen Hang haben, da sonst der Dreck herunterfallen und einen weniger steilen Hang erzeugen würde.
quelle
Es gibt einen anderen Ansatz, den Sie verwenden können. Sie können eine Anzahl zufällig erzeugter Sinuswellen addieren und das Ergebnis dann so skalieren, dass es auf Ihren Bildschirm passt. In der Praxis ist es sehr einfach und führt zu einigen schönen Ergebnissen, obwohl es geschmeidiger und vielleicht künstlicher ist als Ihr Beispiel-Screenshot.
Sie können die Quelle in Javascript hier sehen. Es ist wirklich einfach, mit einigen Parametern zu fummeln, um verschiedene Geländearten zu erhalten.
https://github.com/fmstephe/Tankwars
quelle