スクリーンショット_2018-08-14_20

ローグライク(仮)でのセルオートマトン研究

友人に紹介してもらったこのツイートが面白くて、ダンジョン生成に使えないか検討するためにツールを作った。

これは Golly というセルオートマトンの実行環境で動いているのだが、ルールの表記がとても複雑である。というのも、これは一般的に広く知られている『総和型(totalistic)』ルールではなく、『非総和型(non-totalistic)』というルールで、ぼくもあまり触れてこなかったルールである。

今回このルールをいろいろ試したいと思い、ルール自体を自動的に生成して Golly で簡単に確認できるツールを作った。

技術者向けだが、github で Ruby で動作するスクリプトを置いている。まだバグってるが、まあ使える。下の画像はこの自動生成ツールで見つけたちょっと面白そうなパターンである。殆どが面白くない結果になるのだが、自動化することで面白いルールの発見を早めている。

本プロジェクトで早く活かせるルールが見つかると良いのだが。
ちなみに、ルールのパターン数はざっと計算した限りで 3.3065476e+30 種類、つまり 3.3 * (10 の 30 乗)、約331穣種類ということになるらしいが・・・。
一応計算式は以下

この表の組み合わせのパターンは 1 から 7 までそれぞれ 5, 65, 1025, 8193, 1025, 65, 5 となり、また 8 は存在するかしないかの 2 パターンあるため、これらをすべてかけ合わせると 5 * 65 * 1025 * 8193 * 1025 * 65 * 5 * 2 = 1.8183915e+15 となる。これをさらに B(born) と S(survive) の組み合わせだけ存在するため、更に2乗すると 1.8183915e+15 ^ 2 = 3.3065476e+30 である。計算間違いがあればご指摘をいただきたい。

応援してくださると嬉しいです。よろしくお願いいたします!