迷路ゲーム『Entombed』の謎のコード
今回研究者たちが謎のコードを発見したのは、ATARI2600で1982年に発売されたゲーム『Entombed』です。
これは上から下へと画面が移動していく縦スクロールアクションゲームで、プレイヤーは画面に押しつぶされないようにルートを選んで迷路を攻略していきます。
後戻りはできないため、行き止まりにぶつかってしまうとゲームオーバーです(アイテムにより決められた回数だけ壁は破壊できます)。
このゲームの迷路はひどく単純なものに見えますが、当時のゲームカートリッジのメモリでは、予めデザインした迷路セットを保存し、後から読み出して表示するということができませんでした。
そのためこのゲームは、迷路を設定された「手続き」に従ってランダム生成しています。
問題は、このゲームの迷路がどうやって無用な壁の生成や、侵入できないようなエリアの生成を避けているのかという部分です。
このゲームでは、進行に合わせて迷路を連続生成しています。プログラムは現在描画されている迷路を解析し、次に現れるスペースそれぞれに壁を描画するかしないか判断します。
問題は、この壁の配置を決定する基礎理論が、どうやって作られているのか理解できないことです。
壁の配置決定に使われているパラメータテーブルの値が、どうやって導き出されたものなのか全くわからないのです。研究者たちは、テーブルに含まれる値のパターンを見つけようと試みましたが、無駄に終わりました。
しかし、このテーブルの値が僅かに異なったりすると、もう迷路は通行可能な形で描画されません。
研究者たちは後に、このゲームの開発者の1人と接触することに成功しましたが、その開発者も迷路生成のアルゴリズムは当時から理解できなかったと話します。
彼の話によると、担当したプログラマーは「酔って頭をぶつけた拍子に、このアルゴリズムを思いついた」と語ったそうですが、研究者らは問題のプログラマーと接触することはできなかったとのこと。