2017-03-27 9 views
0

手続き的に生成された惑星上で設定がオープンな世界であるローグライクを作っています。私はそれぞれの生物の分布を有機的にしたい。 5つの異なるバイオームがあります。巨大な複雑なアルゴリズムを使わずに有機的にそれらを配布する方法はありますか?私は、それぞれのバイオームが占めるスペースの量をほぼ同じにしたい。2つ以上の状態(生きたものや死んだもの以上のもの)を持つセルオートマトン

私はバイオメーターごとにテレインジェネレータを作成する前に、セルオートマトンで作業しました。タイルごとに2つの異なる州がありました。 5を行う効率的な方法はありますか?

私はPython 2.5を使用していますが、特定のコードは必要ありません。それに関するプログラミング理論はうまくいきます。

質問があまりにも終わった場合、私はこの種の問題を探すことができるリソースはありますか?

答えて

0

セルオートマトンは、任意のセル状態空間で定義できます。ちょうどF:Q^n->Qとして細胞の更新機能を定式化してください。ここで、Qはあなたの状態空間です(Q={0,1,2,3,4,5})、nはあなたの近所のサイズです。スタートとして

は、ただ何も存在しない場合F(c)が最高の近所のカウント、および01-5に値を返す必要があり、0が中立状態であること、つまり、多数決としてFを記述します。平等の場合は、最大で1つをランダムに選ぶことができます。

最初の状態では、状態が1-5の比較的等距離の5つのセルから構成を開始します(シフト/ミラーリングできる固定位置を使用して決定論的に構築するか、これらの点をランダムに生成することができます)。

すべてのセルの値が0以外の場合は、マップがあります。

ルールを所定の確率で適用するなど、更新機能を自由に改善することができます。

関連する問題