エミュレータなしでNintendo 64の经典作を现代のハードウェアで动かす方法
かつてSuper Mario 64で星をすべて集めるために、大型CRTテレビにかがみ込んで何時間も過ごしたことを覚えていますか?エミュレータはノスタルジアの問題を部分的に解決しましたが、いつも独自の欠点セットを抱えていました:入力遅延、グラフィックスのグライド、プラグインのエンドレスな調整など。最近、HarbourMastersチームによるGhostshipプロジェクトを見つけました。これは根本的に異なるアプローチを提供します。エミュレータではなく、ゲームを現代プラットフォームに完全ネイティブ移植したもの です。
ネイティブポートの魅力とは
エミュレータ経由でゲームを実行すると、コンピュータはコンソールを「真似する」ためにリソースを消費します。Ghostshipは異なるルートを取ります。開発者は逆コンパイルされたゲームコードを取り、Windows、Linux、macOSで直接実行できるようにしました。
これにより、いくつかの素晴らしい利点が得られます。まず、DirectX 11、OpenGL、Macユーザー向けのMetalサポートが適切に得られます。次に、プラットフォームゲームにとって重要な最小限の入力遅延でゲームが実行されます。しかし、最も興味深いのはMODとカスタムアセットのサポートで、ファイルをフォルダにドロップするだけで有効にできます。
このプロジェクトできること
Ghostshipはlibultrashipエンジン上に構築されています。Nintendo 64ハードウェア呼び出しを現代のAPIの言語に変換するレイヤーです。
箱から出してすぐに得られるもの:
- 画像を引き伸ばすことのない真のワイドスクリーン解像度。
- モダンなゲームパッドサポートと柔軟なキーボード設定。
- .o2rおよび.otrファイルによるMODシステム。
- Tabキーを押すだけでゲームプレイ中に標準アセットと代替アセットを切り替え可能。
興味深いことに、開発者はハンドヘルドコンソールについても考慮しています。Nintendo Switch用のビルドがありますが、ゲーム資産を生成するには依然としてPCが必要です。
法を破らずに実行する方法
プロジェクト作者は著作権を非常に真剣に取り組んでいます。リポジトリには任天堂の保護されたコンテンツが1バイトも含まれていません。プレイするには、自分でゲームダンプ(ROM)を取得する必要があります。
プロセスは以下の通りです:
- .z64形式でゲームイメージを取得します(アメリカ版と日本版がサポートされています)。
- SHA-1チェックサムを検証します。US版の場合、値は
9bef1128717f958171a4afac3ed78ee2bb4e86ceです。 - Ghostship.exeを起動し、ROMを指すと、プログラムは自動的に必要なリソースを抽出して動作するバージョンを構築します。
ちなみに、画像が.n64形式の場合は、まず.z64に変換する必要があります。READMEに変換用のシンプルなユーティリティへのリンクがあります。
技術的な内部構造とカスタマイズ
設定をいじることに決めたら、graphics.iniファイルを見てください。そこではグラフィックスバックエンドを手動で切り替えられます。例えばWindowsでクラッシュする場合は、バックエンドIDを3(OpenGL)に変更してみてください。デフォルトではDirectX 11(ID 2)を使用します。
さらに進んで独自のMODを作成したい人のために、HarbourMastersチームはツール一式を提供しています。retroアーカイブジェネレータ、さらにはBlender用のfast64プラグインもあります。つまり、3DエディタでレベルやキャラクターをLiterally再設計して、ゲームに組み込むことができます。
試す価値はあるか
5分だけプレイして忘れるなら、エミュレータの方が速いです。しかし、快適さ、高フレームレート、MODに全力投球する能力を気にするなら、Ghostshipは必須です。プロジェクトは活発で、コミュニティによって積極的に開発されており、creditsにはクラシックをリバースエンジニアリングするために何十年も費やしてきた人々が列表されています。
これが向いている人:
- PCやSteam Deckベースのレトロゲームステーションを構築している人。
- 古いコードを現代のハードウェアに適応させる方法に興味がある開発者。
- Blenderでマリオのエンジンで作業することを夢見るMODメーカー。
唯一の欠点は、初心者向けのソースからのビルドに関するドキュメントが少ないことです。しかし、Releasesセクションのビルド済みバイナリが99%のユーザーにとってこの問題を解決します。
ROMハッシュで困ったらDiscordを確認してください。海賊版ゲームのダウンロード先を聞かない限り、そこにいる人々はかなり協力的です。
関連プロジェクト