Momentan arbeite ich an einem kachelbasierten 2D-Plattformer, der Terraria in gewisser Weise ähnelt, obwohl ich Probleme mit der Geländegenerierung habe. Ich habe einige Grundlagen gemacht, obwohl sie nicht als nützlich herauskommen.
Ich habe ein paar verschiedene Techniken wie Perlin Noise ausprobiert und über einige andere wie Midpoint Displacement gelesen, obwohl ich nicht sicher bin, welche am besten geeignet ist, oder eine Kombination verschiedener Techniken, um verschiedene Bereiche zu erzeugen. (Zum Beispiel Mittelpunktverschiebung für die allgemeine Form des Geländes und Perlin-Rauschen für die Höhlen.)
Ich habe eine hervorragende Erklärung gefunden, wie ich es mit der Accidental Noise Library kombinieren kann , obwohl es sich in C ++ befindet, und ich kenne nicht genug C ++, um es in eine DLL zu kompilieren, die ich in C # verwenden kann. Ich habe versucht, dies in C # zu kopieren, obwohl ich nicht weiß, wie ich zwei Effekte zusammenführen kann (den Farbverlauf für die allgemeine Basis und dann das Fraktal für Details).
Derzeit verwende ich ein Plasma-Fraktal und die Ergebnisse sind äußerst unterschiedlich. Zum Beispiel kann es Terrain erzeugen, in dem es kaum eine Oberfläche gibt, oder es kann Terrain erzeugen, in dem es überhaupt keine Oberfläche gibt.
Ein Beispiel für eine ordentliche Karte wäre jedoch besser, wenn noch weitere Verbesserungen vorgenommen würden. (Schwarz ist fest, Weiß ist Luft):
Und ein Beispiel für eine schreckliche Karte. (Schwarz ist fest, Weiß ist Luft):
Grundsätzlich möchte ich wissen, wie man das Terrain besser generieren oder zwingen kann, eine angemessene Oberfläche zu gewährleisten, wobei die Generierungszeit so schnell wie möglich ist. Oder alternativ, wie ich in der Lage wäre, dasselbe Ergebnis wie die Accidental Noise Library zu erzielen, jedoch in C #.
Alle Beispiele wären sehr dankbar.