Potapota rule · 常時進行する世界

ぽたぽたの世界

このサイトのトップページには、放っておいても止まらない世界がひとつあります。 粒が生まれ、歳を取り、消え、寿命が尽きたものは弾けて水面に波紋を残す。 その波紋が周りに新しい粒を生み、また次の世代が始まる —— 止まらないように作られたぽたぽたルールの世界です。

実際に動いています。トップページと同じ規則のコードで計算しています。

図はすべて実物の規則で計算しています

これは何か

眺めるためだけの、ひとつの世界

トップページにあるのは 256 × 144 のセルでできた世界です。 上下と左右がつながったトーラスなので端がありません。 画面はその一部を切り取った窓で、スクロールするとどこまでも続きます。

世界は0.5秒に1世代のペースで進みます。 操作するところはありません。眺めるだけのページです。

いまのところ、世界はあなたのブラウザの中だけで動いています。 ページを閉じると、そこで時間も止まります。 サーバー側に世界をひとつ置いて、誰も見ていない間も進み続けるようにするのは、これからの予定です。 規則の計算は、そのときサーバーとブラウザで同じコードを動かせるように作ってあります —— このページの図が、まさにその同じコードで動いています。

4つの基本規則

生まれる、生き残る、消える、歳を取る

それぞれのセルは 0 から 3life(残り寿命)を持ちます。 life > 0 が「生きている」。まわりの8マスのうち生きているセルの数を近傍数と呼び、 生き死にの判定はこの数と自分の life だけで決まります (このあと出てくる加齢と着火には、別の条件が加わります)。 life の値は近傍数に影響しません——弱った粒も1つは1つと数えます。

各カードは、実際の規則のコードに左の盤面を入れて1世代進めた結果です。 加齢は「1世代ごとに一定の割合で」起こりますが、カードでは分かりやすさのために 加齢だけを止めたり、必ず起こるようにしたりしています。

破裂と波紋

寿命が尽きた粒は、弾けて輪を残す

加齢で life0 になった瞬間、そのセルは破裂します。 破裂した点からは波紋が生まれ、 毎世代 半径が1ずつ広がっていきます。 波紋のリング上にあるセルは、そこが空いていて、かつ隣に生きた粒が残っていれば life = 1着火します。 波紋が、生きた粒の残る場所のそばにだけ新しいしずくを落としていくイメージです。

ただし新しい粒が生まれるのは半径 5 までのリングだけです。 それより外側まで広がった輪は、通り過ぎるだけで何もしません。 遠くまで着火させると、ひとつの破裂で6万マス以上に生命が広がって盤面が埋まってしまうからです。

ほとんどの波紋は、半径 5 で消える —— 生命の供給源

着火の範囲を出たところで役目を終えます。数のうえでは大多数がこちらで、 世界に新しい生命を配っているのはこの波紋です。

中央の4つの粒が寿命を迎えて破裂 → 輪が広がる → 第6世代で右の塊のふちに新しい粒が生まれる → 輪は消える。

48回に1回だけ、世界の端まで届く —— 見せ場

破裂のうちおよそ48回に1回は、着火の範囲を出ても消えずに広がり続けます。 遠ざかるほど薄くなり、やがて水面に溶けます。 半径 5 までの振る舞いは上とまったく同じで、違うのはその先だけ。 どちらになるかは破裂した座標と世代から計算で決まります(さいころは振っていません)。

同じ破裂・同じ着火。第6世代までは上と見分けがつかず、そこから先が違う。

2種類に分けているのは、両立しないからです。すべての波紋を端まで広げると、 同時に3,000本の輪が重なって水面が見えなくなります。 かといって波紋そのものを 48分の1 に間引くと、着火も 48分の1 になって 生存率が 20% から 4% まで落ちます。 近くに生命を配る役と、遠くまで見せる役を分けることで、賑やかさと静けさを両立させています。

色の意味

若いほど濃く、老いるほど淡い

粒の色は life の残りを表しています。生まれたては濃い青、 歳を取るにつれて水面の色へ近づき、最後は消えます。 波紋は2種類で色が違うので、いま生命を配っている輪と、遠くまで旅している輪を見分けられます

なぜこのルールなのか

放っておくと、世界は止まってしまう

よく知られたコンウェイのライフゲームは、ランダムな盤面から始めても 数百世代で静物と振動子だけが残った静止画に落ち着きます。 もう何も起こらない。「ずっと進み続けている世界」を置きたいのに、これでは困ります。

そこで寿命を入れました。生き残った粒も少しずつ歳を取り、回復はしません。 どんなに安定した塊でも、いつかは寿命が尽きて破裂します。 破裂は波紋を生み、波紋は周りに新しい粒を生み、その粒がまた育って崩れる。 崩れる → 破裂 → 波紋 → 新しい生命の循環が、世界を止めないための仕掛けです。

256×144 の世界を実際に進めて計測した値。生存率は「生きているセルの割合」。
世代1003005007001000
生存率19.0%21.2%18.9%21.4%20.4%
波紋の数131180144175189

1,000世代進めても生存率は 19〜22% で落ち着き、減り続けることも埋め尽くすこともありません。 3,000世代まで進めても同じでした。

はじめに戻る

そもそも、ライフゲームとは

ぽたぽたルールは、1970年に John Horton Conway が考案した ライフゲームを土台にしています。 誕生の条件(近傍がちょうど3)と生存の条件(近傍が2か3)は、そのままの引き写しです。 元のゲームがどれだけ単純な規則からできているかは、こちらのページで説明しています。

世界を見に戻る