ゲーム保存コミュニティは、2000年代初頭の人気 Game Boy Advance タイトル「 Sonic Advance 2 」の完全デコンパイルという新たなマイルストーンを達成しました。このプロジェクトは、ビルドマッチング100%、コードマッチング92%に達し、このクラシックな Sonic タイトルを Linux 、 macOS 、 Windows などの最新プラットフォームでネイティブに実行できるようになりました。
デコンパイルプロジェクトがクラシックゲームに新たな命を吹き込む
Sonic Advance 2 のデコンパイルは、ゲーム保存活動における成長する潮流の一部です。コミュニティメンバーは、スプライトアニメーション、タイルマップ、MIDIミュージックファイルなど、オリジナルゲームのすべての要素を丹念に抽出し、文書化しました。このプロジェクトは、オリジナルのアメリカ版、ヨーロッパ版、日本版のゲームと一致する ROM を正常にビルドし、さらに最新システム向けの追加ポートも提供しています。特筆すべきは、これらのポートが426x240解像度のワイドスクリーンサポートを特徴とし、ゲームを GBA の小さな画面の制約から解放していることです。
「 GBA の Sonic ゲームはしばしば見過ごされがちですが、オリジナルの Mega Drive ゲームの感覚を素晴らしく再現し、優れた音楽とスプライトワークも備えていたと思います。長い間、これらのゲームは Sonic 1 Forever や Sonic Origins のようなスタイルで現代の PC 向けにポートされ、狭い GBA 画面から解放されるべきだと考えていました。」
このプロジェクトは、クラシックゲームを最新ハードウェアでプレイ可能にする、増え続けるデコンパイル活動のリストに加わります。コミュニティディスカッションでは、「 The Legend of Zelda: Ocarina of Time 」、「 Majora's Mask 」、「 Perfect Dark 」、「 Sonic Unleashed 」などのタイトルに対する同様のプロジェクトが紹介されています。これらのプロジェクトは通常、オリジナルハードウェアでは不可能だった超ワイドモニターサポート、より高いフレームレート、改良されたコントロールなどの機能強化を可能にします。
プロジェクトの状況
- ビルドマッチング:100%
- コードマッチング:92%
- 貢献者数:10名
- 互換性のあるROM:
sa2.gba
(米国版)sa2_europe.gba
(欧州版)sa2_japan.gba
(日本版)(進行中)
- 現代プラットフォーム向けポート:
- Linux/MacOS SDL 64ビット
- Windows SDL 64ビット
- Win32 ネイティブポート(機能していない)
- 解像度:ワイドスクリーンポート(426x240)
ファンプロジェクトに対する SEGA の寛容なアプローチ
このプロジェクトを取り巻く議論の注目すべき点は、ファンメイドコンテンツに対する SEGA の比較的寛容な姿勢です。DMCAテイクダウンで知的財産を積極的に保護する一部のパブリッシャーとは異なり、 SEGA は歴史的に、会社の IP から利益を得ない限り、ファンプロジェクトの発展を許可してきました。この寛容なアプローチにより、 Sonic ファンゲームと保存プロジェクトの活気あるコミュニティが育まれてきました。
コミュニティメンバーは、これを Nintendo の典型的により厳格な著作権執行と対比しています。プロジェクト開発者自身は、法的課題に直面した場合、アセットを直接配布するのではなく、アセットを自動的に抽出するツールの開発に方向転換する計画があると述べています。しかし、彼らは SEGA の長い寛容の歴史を指摘し、2000年代初頭から干渉なく存在してきた Sonic Robo Blast 2 のようなファンプロジェクトを例に挙げています。
デコンパイルの技術的課題
デコンパイルプロセスには、コンパイルされたコードを人間が読めるソースコードに逆エンジニアリングする綿密な作業が含まれます。プロジェクト貢献者たちは、人工知能ツールが現在このプロセスに限定的な助けしか提供しないことを明らかにしました。AIは関数レイアウトの大まかな概要を提供できますが、アセンブリコードから推測する必要がある合理的な人間らしい構造体の作成に苦戦しています。
代わりに、開発者はデコンパイル支援に Ghidra などのツールに頼りましたが、これらにも限界があります。このプロジェクトは、コンパイル時に同一のバイナリ出力を生成するようなゲームコードを再作成するために、何千時間もの手作業を表しています。このマッチングデコンパイルアプローチにより、ゲームはオリジナルとまったく同じように動作しながら、最新システム向けの修正が可能になります。
議論ではゲームエンジン自体にも触れられました。 Sonic Advance 2 は、 Dimps によって開発された最小限のエンジン上に構築され、最初に Sonic Advance 1 で実装され、その後のゲームで改良されました。このエンジンは、スプライトと背景のレンダリングのための基本的な機能と、 GBA のネイティブスレッディング機能の欠如を補うためのタスクシステムを提供しました。
ゲーム保存とソースコードの保持
コミュニティディスカッションの興味深い派生点は、ゲーム会社が歴史的なソースコードをどのように管理しているかに関するものでした。いくつかのコメンターは、業界の初期の頃はゲームがしばしば使い捨てプロジェクトとみなされていたため、多くの古いゲームのソースコードが失われていると推測しました。今日標準となっているバージョン管理システムは、 DOOM のような主要タイトルでさえチームメンバー間でソースファイルのディスクを渡すことで開発されていたように、比較的最近までゲーム開発ではまれでした。
2000年代初頭の一部のゲームは CVS や SVN などのバージョン管理システムで開発されていた可能性がありますが、 Sonic Advance 2 の所有権状況は複雑です。このゲームは西洋では後に破産した THQ によって発行されており、現在誰が権利を所有しているかについて疑問が残っています。この不確実性により、公式の再リリースの可能性は低く、コミュニティによる保存活動の重要性がさらに強調されます。
Sonic Advance 2 デコンパイルプロジェクトは、技術的な成果だけでなく文化的保存も表しています。この古典的な GBA タイトルを機能強化した最新システムでプレイ可能にすることで、このプロジェクトは新世代のプレイヤーが Sonic の歴史の中でしばしば見過ごされるこの章を体験できるようにしています。あるコメンターが指摘したように、 Advance シリーズは2D Sonic ゲームの議論でしばしば忘れられていますが、オリジナルゲームを特別なものにした本質をキャプチャしています。このコミュニティの努力のおかげで、これらのゲームは、やや意外なことに、これらの古い Sonic ゲームの多くをプレイするための決定的なプラットフォームとなった PC で新たな観客を見つけるかもしれません。
参考: Sonic Advance 2