Star Stuff

今輝いてない奴は、過去苦労していない

Star Stuff

Steam

回答となるプログラムの行数が決まっていることで、短いプログラムで実現するために様々なオブジェクトの動きを並列化して考えることを強要される感じが難しおもしろかった。

この手のゲームは難易度が高くなってくるほど問題が複雑になり、回答としてのプログラムも行数が長くなるものだけど、このゲームはそこが真逆で、難易度が高い問題ほど行数が短い。短い行数をカバーする方法として、強引な並列化や奇妙なジャンプ命令、レジスタの再利用といったボットのプログラム最適化も必要なんだけど、それだけじゃなくてプレイヤーキャラクターであるミーハを積極的に介入させなくちゃいけない。なのでゲーム中に書くプログラム単体で問題が閉じてなくって、自分自身も並列化したプロセスの一つとして考えて問題を解く必要がある。

プレイヤーは自分自身の動きも並列プロセスの一つとして「プログラミング」しなくてはいけないが、それはゲーム中で明示されないので、リアルタイムでミーハを操作しながら試行錯誤する必要がある。このリアルタイム性(動きを考えて操作してそのフィードバックを受け取るループまでが短いこと)がいわゆるプログラミングをテーマとしたパズルゲームから感じる味気無さみたいなものを少なくしている気がした。(なんか、自動化せず、一つ一つ手入力したデータは温かみがあるみたいな話になってきた。)

温かみ云々は置いといて、ミーハをどう動かすかという問題は自分の中でずっと盲点になっていた。ボットができることはコマンド一覧に表れているが、ミーハがやれることはほぼゲーム中に説明がない。ミーハの行動が問題解決の手がかりとなる場合、それはコマンドとしてすでに表れているボットよりも暗黙的であり、だからこそ発見したときの喜びも大きかった。

明示的に提示された新しい要素を使って暗黙的にプレイヤーが気付くべき要素を示唆するような仕掛けが、このボットとミーハの役割分担でうまく実現されている気がした。例えば、「待機中」の「妨害」ではミーハが同じトリガーを2回起動することでボットの移動を遅らせる必要があったけど、「チームワーク」の「ローンチシーケンス」では同じトリガーをミーハとボットで1回ずつ起動する必要があったり、その逆で、ミーハでやるべきことを過去のボットの動きから類推したり、そういうヒントも巧妙だった。

こういうヒントや先の問題の答えを示唆しているものを1ステージごとに調べていったら楽しそう。