Recursed: 再帰する思考

Recursed

値段 クリア状況 実績 プレイ時間
820 クリア 17 / 17 20時間
お勧め度 コスパ
★★★★★★★★☆☆ ★★★★★★★☆☆☆

パズルゲームという砂場は様々な概念を変換しうる土壌を持っています。同じ倉庫番でも、そこにキャラクター性を足せばHellTakerとなり、ルール構築という概念を入れればBaba Is Youとなります。
このゲーム、Recursedはパズルゲームに再帰をはじめとしたプログラミングの概念を組み入れた作品です。

ルールはシンプル、経路は複雑

ルールはシンプル 宝箱を持って入る

ゲームのルールはいたってシンプルであり、物をつかむ、直線上に投げる、ジャンプの3つのアクションを使って、ステージにある宝石をとればクリアとなります。
さらに、ステージはいくつかの部屋に分かれており、宝箱に入ることでその部屋に入ることができます。

しかし、このゲームは単純に一筋縄で解けるものではありません。物をつかむというアクションが、このゲームを複雑怪奇なものにしています。
このアクションでつかめるのは扉を開ける鍵や、足場となるブロックだけではありません。なんと部屋の入り口である宝箱すら掴んで持ち運べるのです。

また、部屋に入り直すことで、その部屋の状態は初期状態にリセットされます。例えば、ブロックが一つ置いてある部屋に入ってブロックを掴んで持ち出しても、入り直せばまたブロックが復活しているのです。

これらの性質をうまく活用していくことがこのゲームを攻略するカギとなっていきます。
ある部屋でブロックが複数必要なら、その部屋にブロックが一つ置いてある宝箱を持ち込んで、その宝箱からブロックを必要な数取り出すといったように、課題を解決するには複雑なアプローチが必要になっていくでしょう。

プログラムとの連関

static スレッド

そして、ここまでの説明で勘の良い方はお気づきかもしれませんが、この性質はプログラミングの概念として解釈できます。
部屋に入ることのできる宝箱は一つの引数(持ち運び)、一つの返り値(持ち出し)を持つ関数ポインタと考えることができます。
そう考えれば宝箱を持って入るのは関数ポインタを引数として渡したと解釈できますし、入るたびに状態がリセットされるのはローカル変数が初期化されたとでも解釈できます。

さらにステージを進むにつれて、より複雑な概念が現れていきます。ステージに必ず一つしか存在しなくなる緑色のオーラ(static)、水に沈めると状態が変わる宝箱(仮想関数?)、亀裂から出ることでその部屋で行った行為を状態保存して入り口を持って出てこれる瓶(継続)、入るとそれまでのすべての行為は保存されたままそれの対が置かれた別の部屋に入ることのできる大釜(スレッド)。
様々なプログラミングの概念がパズルに綺麗に落とし込まれています。

プログラミングにおいてカバレッジを100%にすることが難しいように、あらゆる可能性を考慮してRecursedのパズルを解くのは難問となります。
その分、結果からの逆算をちゃんと行ってクリアできた時の達成感は筆舌に尽くしがたいものがあります。

隠し要素もある

????

また、このゲームを進めていくと、ある条件下ではグリッチが起こせることに気づくでしょう。
このグリッチを見つけ出すことで、さらなる難問へとチャレンジすることもできます。

グリッチをステージから見つけ出すということも難しければ、グリッチのその先をクリアすることはさらに難しいものとなっています。最後まで歯ごたえのあるパズルを楽しめることでしょう。

再帰する思考

Recursedは再帰をパズルのギミックとして取り入れ、あたかもプログラムの様に解くパズルゲームとなっています。
一方で、このゲームはプログラムの知識を必要とするわけではありません。あくまで概念として取り入れて、パズルへと昇華した作品ですので、プログラマーの方以外でも気軽にプレイしてみてください。

感想

プログラマーが好きそうなパズルゲームという意味で、Induction なんかと軌を一にするゲームだと思っています。
別にプログラム的な知識を要求されたりはしませんが、思考の過程はかなりプログラマー寄りになってきそうな作品なので。

出来の良いパズルゲームをやると、クリアしたときに製作者は天才かと呟く時が来るんですが、この作品も例にもれずそういうタイプです。発想が天才的で、めちゃくちゃ美しく解けます。The Void の Escalate は控えめに言っても作った人は天才。

Interlock の複雑具合も、Escalate の頭がぶっ壊れそうな構成も、Flight の凄まじさも、大体全部好きです。好きなステージが結構多いゲームでした。