わかりました、私は 2D ダンジョン クローラーを作成しており、マップをランダム化したいと考えています。今のところ、パスにランダム ウォーク アルゴリズムを使用し、さまざまなアンダーワールド環境にパーリン ノイズを組み合わせて使用するように見えます (現在、ルークが 1 つだけで構成された独自の見栄えの悪いタイル セットを使用しているため、現在は 1 つだけです)。画像と1つの草の画像、しかし何でも:D)
したがって、ランダムウォークがどのように機能するかを理解するには、次のように何かを行う必要があるようです。
*マップに合わせたサイズの二次元配列を作成します。
* ランダムな開始位置と終了位置を選択します (マップの両側にランダムに配置することにしました。
*ゴール地点に到達するまで、次の手順に従います。
*ランダムに「歩く」方向を選択します(上、下、左、右のみです。そうしないと、プレイヤーが通り抜けることができない斜めのパスが残ってしまいます)
* ランダムな歩数でその方向に「歩く」 (単に線を引くのではなく、最初に歩数をランダム化し、後でバウンド チェックのために 1 つずつ歩きます)。
*タイルの上を「歩く」たびに、そのタイルを元の0から1に変えます。
※上記の手順をゴールまで繰り返します。
これにより、あまりにもオープンな地面とあまりにも多くの閉じた地面が残ります。私が探しているのは、一種の部屋で覆われた道ですが、「部屋」の大きさを制御したいと考えています。「部屋」が大きくなりすぎないようにしたいのです。密閉された空間にいるような感覚が欲しいのですが、できるだけ多くのマップ グリッドを使用したいと考えています。
ランダムウォークはこれに適していませんか? すべてのステップに一定の幅を持たせることを考えていましたが、うまくいくかもしれません。
それとも、私はそれを間違って実装しているだけかもしれません! 私は悲しいことに数学の天才ではありません ;P