東方Project作品群の隠しコマンドが発見される。『東方紅魔郷』など最古のものは19年越し
上海アリス幻樂団のZUN氏が手がけたWindows版東方Project作品のほとんどに、隠しコマンドが存在することを海外ユーザーが発見。コミュニティの話題を呼んでいる。そのうちもっとも初期のものは『東方紅魔郷 ~ the Embodiment of Scarlet Devil.(以下、東方紅魔郷)』。リリースから19年越しでコミュニティに知られたことになる。東方我楽多叢誌が報じている。
隠しコマンドを発見したのはRevenant氏。ゲームの未使用コンテンツやデバッグメニューなどを探求、共有する海外サイトThe Cutting Room Floorの管理者のひとりで、自身も多数のゲームを解析している。今回の発見も、サイトへの貢献のひとつとして本人により各作品ページに投稿されている。
Revenant氏のツイートによれば、隠しコマンドはこれまで文章化されていない。これが事実ならば、『東方紅魔郷』については発売から実に19年を経ての新発見となる。
先月3月29日、Revenant氏がWindows版東方Project初期3作に存在する隠しコマンドを投稿。こちらはShiftキーおよびCtrlキーと、一連の特殊なキー入力によってアンロックされる方式。今月4月21日には、新たに11作のコードが追加で発見され、こちらは“beerislife(ビールは人生)”など、ビールを好むZUN氏らしいパスワードを特定画面で入力するかたちになっている。
Revenant氏の活動履歴から察するに、今回の発見は「逆アセンブル」と呼ばれる手法などを利用しておこなわれたと推測できる。ビデオゲームは内部的には数の演算で成り立っている。スコアも、残り体力の値も、キャラの位置や動きでさえ、数値の保存と演算で管理されている。この数の演算は主にCPUという密度の高い回路で高速におこなわれている。
大ざっぱにいえば、「決定ボタンを押す」「マウスをクリックする」などの入力をプレイヤーがおこなうと、それに応じた演算がCPUでおこなわれる。そして、結果のうちプレイヤーに見せたいものが映像となりモニターに映し出される。PCやモバイル、コンソールゲーム機いずれも、この基本の仕組みはおおむね同一だ。
これは通常のプレイではあまり意識することのない部分だ。それにコンピューターは設計上、0と1の羅列に変換(アセンブル)されたものを元に演算をするので、人間がそのまま見ても理解することはむずかしい。しかし、解析ソフトを利用すればこの数値や演算の内容を、比較的人間に理解しやすいかたちで利用することができる。それが本稿における「逆アセンブル」なわけだ。
Revenant氏が具体的にどういった手順で解析をしたかは定かではないが、さまざまなゲームを解析した経験とノウハウあってこその発見だろう。また、立て続けに多くの作品の隠しコマンドを発見したところからすると、一連の作品にはゲーム内部の構造に共通点があったのかもしれない。なお、バージョンの違いなどで動作しない場合もあるようで、Revenant氏は投稿後も調査をおこなっている。
発見されたコマンドをゲーム中で検証するユーザーも現れている。コマンドは実際に動作するようで、迫力のあるSEと共にコマンドが受け付けられ、あらゆる要素が開放されている様子などが投稿されている。
おそらく今回のコマンドはデバッグ用、もしくはお遊びとしてゲームに仕込まれたものだろう。プレイヤーから発見されることは予期していなかったかもしれない。それにコマンドによる全解除はいわゆる「チートコード」と呼ばれるものだ。
しかし、ZUN氏のパーソナリティーも垣間見える今回の発見は興味深いものである。20年近く見つかっていなかった隠しコマンドというのも知的好奇心をそそる。コマンドが発見された東方Project諸作品はいずれも基本的にシングルプレイ作品であり、オンラインゲームなどで不当な改造をして優位を得る「チート」とは性質が異なるといえるだろう。
The Cutting Room Floorでは東方Project関連作やほかのゲームについて、たくさんの興味深い報告がなされている。ゲームの裏側に隠された存在に興味がある方は、一度覗いてみてはいかがだろうか。