私は(ごくわずかな)自由な時間にローグライクゲームに取り組んでいます。各レベルは基本的に、パスで接続されたいくつかの長方形の部屋になります。でも、部屋の間の小道は自然に見えて風が強いようにしたいと思います。たとえば、私は次の自然な見た目を考慮しません。
B
X
X
X
XX
XX
XX
AXX
私は本当にこのようなものが欲しいです:
B
X
XXXX
X
X
X
X
AXXXXXXXX
これらのパスは、いくつかのプロパティを満たす必要があります。
- 私はそれらが境界を定められている領域を指定できなければなりません、
- 私は彼らがどれほど風が強くて長いかをパラメータ化できなければなりません、
- 線は、一方のパスで開始し、もう一方のパスで終了したように見えるべきではありません。たとえば、上記の最初の例は、Aで始まり、Bで終わるように見えます。これは、基本的に、Bと並ぶまで方向を繰り返し変えてから、そこにまっすぐ進むためです。
A *を使用したいと思っていましたが、正直なところ、ヒューリスティックがどうなるかわかりません。遺伝的アルゴリズムの使用も検討しましたが、その方法がどれほど実用的かはわかりません。
私の質問は、私が望む結果を得るための良い方法は何ですか?「A*」や「ダイクストラのアルゴリズム」のような方法を指定するだけでなく、優れたヒューリスティックの支援も必要です。