『Factorio』をビデオプレイヤーにしてしまう猛者が現る。自動化と効率化を極めた男がたどり着いた境地


『Factorio』にて生産ラインの自動化と効率化を極めた男が生み出したのは、ゲームという枠組みを越えた思いも寄らぬアイデアだった。ベテランプレイヤーのDaveMcW氏が『Factorio』内のツールを駆使して、ゲーム内にビデオプレイヤーを作り上げたのだ。下記の動画は一見解像度の低いミュージックビデオのように見えるが、拡大するとゲーム内のツールであるランプが無数に並べられており、その点滅でビデオが出来上がっていることが分かる。なおオリジナル版のミュージックビデオはこちらから確認できる。

『Factorio』というと、資源の採掘、クラフト、建築といった『Minecraft』のようなサンドボックス要素を、手動でコツコツとこなすのではなく、機械に任せてとことん自動化していく2D見下ろし視点のストラテジーゲームだ。プレイヤーが操作するのは未知の惑星に不時着したエンジニア。惑星の資源を活用し、機械を組み立て、最終的には人工衛星を打ち上げるべく生産ラインの構築と点検に勤しんでいく。プレイヤーの手ですべてをつくりあげることが醍醐味である『Minecraft』に対し、「自分は何もしないで済む」を目指すのが『Factorio』だ。『Minecraft』の工業化Modに近い発想で出来ている。

本作ではオートメーションを図るための機械やツールが多数揃えられており、その中でも論理回路の設計に役立つコンビネーターは使いこなせるとゲームの可能性が大きく広がる。DaveMcW氏の作品もコンビネーターをフル活用したものである。氏の作品を理解するための前提知識として、本作のコンビネーターには固定のインプット値とアウトプット値を指定できる「Constant Combinator」、条件指定が可能な「Decider Combinator」、四則演算が可能な「Arithmetic Combinator」が存在することを知っておかなければならない。DaveMcW氏の作品もこの3つを活用している。

まずはDaveMcW氏がGitHub上に公開したエンコーダ「Factorio Movie Maker」で指定の画像・動画を符号化する。このエンコーダにより178 x 100の3bit画像・動画を『Factorio』内にエンコードできる。次に各種コンビネーターを組み合わせることで『Factorio』のマップ上にメモリとデコーダをつくりあげる。符号化したデータをデコーダのインプットとして扱い、復号化したデータをアウトプットする。そしてアウトプット値は「Electronic Circuit」を介してディスプレイとなるランプへと運ばれていく。これはかなり簡略化した説明であり、具体的な設計内容については『Factorio』のフォーラムから確認できる。途方もない作業のように思えるが、本作にはネットワークの一部を構築してしまえば、あとはコピー&ペーストで拡張していけるブループリント機能が備わっている。

ゲームを別の用途に利用するという意味では、インディーゲーム『Back Into Orbit』の開発者であるr00nk氏が、『Minecraft』を『Back Into Orbit』のレベルエディターとして活用する方法を編み出したという事例がある。下記はr00nk氏が実践として披露した動画である。

『Minecraft』や『Factorio』には、ゲームという枠組みを越えたクリエイティブな発想を誘う「サンドボックス」としての魅力が詰まっている。なお『Factorio』の事例を目にすると、とんでもなくハードルの高いゲームのように映るかもしれないが、コンビネータを使いこなせなくてもクリアできるだけのツールが整っているのでご安心を。