Doomは動く
2D特化ハードNEO GEOで『Doom』動作、“不可能”をハッカーらが覆す

YouTubeチャンネルModern Vitage Gamer(MVG)は、先月「Doomはどこでも動作する…NEO GEOを除けば」と題した動画を公開した。
その動画は、1993年にオリジナルのMS-DOS版が発売された3Dシューティングゲーム『Doom』が、ディスプレイを搭載するあらゆるデジタル機器で動作する移植性の高さを誇っているにもかかわらず、なぜかNEO GEOでだけは動かないと述べ、その理由について解説するものだった。
SNKが1990年に発売したゲーム機NEO GEOは、同社のアーケードゲーム基板と互換性あるハードウェアを搭載し、ゲームセンターにあるゲームをほぼそのままの形でプレイできるという画期的なハードウェアだった。
しかしMVGは、NEO GEOは確かに優れたゲーム用ハードウェアであるものの、設計コンセプト的にスプライトと呼ばれるタイル状の画像を動かす機能を主体とした2Dゲームに特化しており、3D描画に用いられるフレームバッファ機能が存在せず、Amigaのように画面上のピクセルを自由に読み書きするビットプレーンと呼ばれる機能も持たないことが、Doomを再現できない原因になっていると説明した。
ところがその動画から約1か月半が経った今週月曜日、MVGは新たな動画を公開。DoomがNEO GEO上でも動作し始めており、自らの主張が誤りだったことを認めた。
MVGは現在、2つのハッカーグループがNEO GEO上でDoomを動かすプロジェクトを立ち上げ、すでにそれが形になり始めていると述べている。
もちろん、2Dしかない描画機能で3DのDoomの世界を表現するため、2つもプロジェクトはいずれもまだグラフィック面ではかなり妥協を強いられていることは否定できない。
しかしそれでも、8088や80286といった16bit CPUを持つハードに移植された以前のDoomプロジェクトを改良したFrenkelSと称するハッカーのプロジェクト「Doom 64KB」は、NEO GEOが持つ固定レイヤー(ゲームメニューやHUD情報を表示するディスプレイメモリー領域)を利用して擬似的なフレームバッファを作り、それを利用してDoomの世界を画面上に表示する方法を編み出した。

ただ難点は、この機能を使った描画では3Dマップが最大でも80×56解像度でしか表示できないため、画面全体がモザイク処理されたかのような有様だということだ(昭和のモザイク除去トリックよろしく、薄目を開けてみればそれっぽく見える…かもしれない)。
一方、「Doom-NG」プロジェクトと称するグループは、独自のレンダラーを使い、プレイヤーの視点から見える壁やその他のオブジェクトを特定することで、より複雑なジオメトリを処理することを可能とした。このレンダラーはNEO GEOが持つハードウェア機能を利用してスプライトを16px幅の垂れ幕のように画面上に描き、それを拡大縮小することで擬似的に奥行き感を表現している。またその動作は比較的滑らかに見える。
FrenkelSのプロジェクトによるDoomに比べ、Doom-NGのDoomは明らかにDoomとわかるものになっている。だが、壁やドアに近づいた場合、テクスチャが拡大表示されてギザギザ感が非常に強くなってしまうのが惜しいところだ。
いずれのプロジェクトもまだ初期段階であるため、敵キャラクターの動きや武器選択、BGMなどまだまだ足りない要素がたくさんある。それでも、1か月半でここまで動くものが作れるのだから、「NEO GEOで『Doom』は不可能」という見解は、確かに誤りだったようだ。
- Source: Modern Vintage Gamer(YouTube)
- via: Ars Technica
