lifegame

2016.11.22

生命の衰勢のシミュレーションで有名な「lifegame」です。
「boids」と同様に、「誕生」「生存」「過疎」「過密」の単純な4つのルールによって動作します。
処理対象セルと近傍セルの状態によって処理対象セルの状態が変化します。
生きたセルが隣り合うと生き残るか次世代が生まれますが、セルが過密すぎたり、間が空きすぎると死滅します。
セル・オートマトンと呼ばれる種類のロジックです。

セル分割

画面サイズから全体のセルの数を求めて各セルの近傍を設定します。

処理

描画処理内で実行されます。
各セルの生死判定を行います。


ソース全文はこちらです。

[lifegame.js]

パフォーマンス

セルの分割数はPCであれは400000くらいは耐えられました。
スマホの場合は10000くらいです。
ビジュアル表現として利用する場合は個性が強いので使いどころが難しいなと思います。