クラシックゲームのコードを解析して現代の機器向けに移植する取り組みが広がり、『Halo』はブラウザーでのプレイや最大128人の対戦に対応しています。こうしたプロジェクトでは、元のゲームをエミュレーターで動かす方法とは異なる仕組みが使われます。

出典: platform.theverge.com

『Halo』はブラウザーや異なるOSでプレイ可能に

『Halo: Combat Evolved』の非公式移植版OpenHaloCEは、Windows、Linux、Androidに加え、ブラウザーでも動作します。ブラウザー版ではキャンペーンやマルチプレイを始められます。

OpenCEは、Xbox版のゲームを解析したプロジェクトを土台に、Windows、Linux、Android向けの移植版を開発しています。各OS向けのビルドはプロジェクトの継続的インテグレーションで作成され、リリース版とデバッグ版が用意されています。

移植版はゲームデータを同梱せず、プレイヤーが用意した『Halo: Combat Evolved』のXboxディスクイメージからマップを取り出して使います。欧州版と北米版のマップは、両地域のプレイヤーが一緒に遊べるよう調整されます。OpenHaloCEは、元のゲームを所有していることの確認をプレイ前に求めています。

出典: platform.theverge.com

最大128人の対戦とクロスプラットフォーム

OpenCEのマルチプレイは、ローカルネットワークとインターネットで利用できます。1つのシステムリンクゲームに最大128人、最大128台のマシンが参加でき、Windows、Linux、Androidの端末を同じゲームに接続できます。

インターネット上のゲームには招待リンクで参加でき、OpenCE独自のサーバーを必要としません。ネットコードは新たに作られており、各端末が自分のプレイヤーを動かし、ホストがゲーム内の判断を担います。

このほか、1999年発売の『Lego Racers』を再現したファンプロジェクトは、ブラウザーでのプレイに加え、画面分割とオンライン対戦に対応しています。デスクトップやスマートフォンで動作し、Android、Mac、Windows、Linux向けのビルドもあります。

エミュレーターと再構築型移植の違い

エミュレーターは、元のゲーム機のハードウェアをソフトウェアで再現し、ゲームの命令を実行時に処理します。再構築型の移植では、ゲーム機の命令を実行時に再現する代わりに、元のプログラムからソースコードを復元して現代の機器向けにビルドします。

デコンパイルとは、コンパイル済みのゲームから、元のソースコードを再構成する作業です。復元したコードを移植して実行ファイルを作る方法は、元の機器を再現するエミュレーションとは技術的な出発点が異なります。

一方、リコンパイルではソースコードの復元を経ずに、元のゲームの機械語を現代のプロセッサーで実行できるコードへ変換します。デコンパイル由来の移植はコードを変更しやすく、リコンパイルは元のバイナリーを基に変換する方式です。

『ゼルダ』などにも広がる移植

『ゼルダの伝説 時のオカリナ』には、ゲームキューブを起動せずPCで遊べる非公式移植版「Ship of Harkinian」があります。Vergeのレビューでは、数カ月にわたってこの移植版でプレイする様子が取り上げられています。

これらは公式版ではなく、著作権上の扱いが不明確な場合があります。