初代PlayStation向けに発売されたカーコンバットゲーム『Twisted Metal 4』を、Windows、Linux、Macで動作させることを目指した静的再コンパイルプロジェクト『TwistedMetal4 Recompiled』がGitHubで公開されています。
本プロジェクトは、PlayStation用の実行ファイルをPC向けのプログラムへ変換する『PSXRecomp』をベースにしたもの。将来的には、ロールバック方式のネットコードを使用したオンライン対戦への対応も計画されています。
●TwistedMetal4Recomp(GitHub)
https://github.com/TechnicallyComputers/TwistedMetal4Recomp
PS1用のプログラムをPC向けに再コンパイル
『TwistedMetal4 Recompiled』で使用されているのは、初代PlayStation向けの汎用静的リコンパイラー『PSXRecomp』です。
●PSXRecomp(GitHub)
https://github.com/mstan/psxrecomp
初代PlayStationには、MIPS R3000A系のCPUが搭載されています。そのため、ゲームのプログラムを現在のx86-64系PCでそのまま実行することはできません。『PSXRecomp』では、PlayStation用ゲームに含まれるMIPS命令をC言語へ変換し、それをWindowsやLinux、Macで動作するネイティブプログラムとしてコンパイルします。
一般的なエミュレーターのようにPlayStation本体を丸ごと動かして、その上でゲームを実行する方式とは異なり、ゲームのプログラム自体をPC向けに変換して動かすのが特徴です。ただし、PlayStation用ゲームの中には、ゲームの進行に合わせてディスクから追加のプログラムを読み込む「オーバーレイ」と呼ばれる仕組みを利用しているものがあります。
事前に確認できないオーバーレイについては、最初は小型のMIPSインタープリターで実行し、読み込まれたコードを取得してネイティブコードへ変換。次回以降は変換済みのコードを利用する仕組みが『PSXRecomp』に組み込まれています。
オリジナル版と同じ最大4人プレイに対応する構成
『Twisted Metal 4』は、989 Studiosが開発し、1999年に北米で発売したカーコンバットゲームです。プレイヤーはミサイルや爆弾などの武器を搭載した車両を操作し、広大なアリーナでライバルの車両と戦います。シリーズのマスコット的存在であるSweet Toothが大会を乗っ取るという、これまでの作品とは異なる設定も特徴でした。
オリジナル版はマルチタップを利用した最大4人プレイに対応しています。今回公開されたプロジェクトでも、ゲームの最大プレイヤー数は4人に設定されており、マルチタップを使用するための項目も用意されています。
対応しているのは、北米向けリビジョン1の『Twisted Metal 4』で、ゲームIDは「SCUS-94560」です。日本版はもともと発売されていないため、利用には北米版ディスクから作成したイメージファイルが必要になります。
ゲームデータは含まれず利用者のPC上で変換
リポジトリには、『Twisted Metal 4』のディスクイメージやゲームプログラムなどは含まれていません。利用者自身が所有するゲームディスクから作成したBIN/CUE形式のイメージを用意し、自分のPC上でゲームのプログラムを変換・コンパイルする仕組みになっています。
これは、市販ゲームから生成されたC言語コードを開発者側が直接配布することを避けるためです。
プロジェクトでは、PlayStation用ゲームの再コンパイル版を管理する『RetComM Launcher』にも対応。ゲームのインストールやアップデート、ディスクイメージ、BIOS、セーブデータの管理といった作業をまとめて行えるように設計されています。
●RetComM Launcher(GitHub)
https://github.com/TechnicallyComputers/RetComM-Launcher
『RetComM Launcher』では、利用者のPC上で必要なコードを生成してコンパイルするため、初回のインストールには5~10分ほどかかる場合があるとのことです。
オープンソースBIOSを利用可能
『PSXRecomp』は、PCSX-Reduxプロジェクトから生まれたオープンソースのPlayStation用BIOS『OpenBIOS』に対応しています。そのため、通常はPlayStation実機から吸い出したBIOSを用意しなくても、『OpenBIOS』を利用してゲームを起動できます。
希望する場合は、利用者自身が用意した北米版PlayStation用BIOS「SCPH1001.BIN」を使用することも可能です。ディスクイメージについては、北米版リビジョン1のデータトラックに加えて、音楽を含む全23トラックがそろったCUEファイルが要求される設定になっています。
これは、オンライン対戦時に参加者の使用しているディスク構成を一致させ、CDオーディオやゲームの進行に違いが発生することを防ぐためのものです。
ロールバック方式のオンライン対戦にも対応予定
プロジェクトの説明では、『TwistedMetal4 Recompiled』の大きな目標として、ロールバックネットコードを使用したオンライン対戦への対応が掲げられています。ロールバック方式では、通信相手からの入力が届くまでゲームを停止するのではなく、相手の入力を一時的に予測してゲームを進めます。
実際の入力が届いたときに予測と違いがあった場合は、保存しておいた状態へ戻り、正しい入力を使ってゲームを高速に再計算します。通信の遅延を感じにくいことから、現在の対戦格闘ゲームなどで広く利用されている方式です。
『PSXRecomp』のネットプレイ機能では、ロールバック方式に加えて、遅延を固定する従来型の同期方式も選択可能。2人プレイではP2P通信、3人以上ではホストやサーバーを中継する仕組みも用意されています。
ただし、『TwistedMetal4 Recompiled』の現在のビルド設定を見ると、ネットプレイ機能を有効化する項目はまだコメントアウトされた状態です。
設定ファイルにも「テスト完了後に有効化する」と記載されているため、現時点でロールバック方式のオンライン対戦が完成しているわけではなく、今後の実装目標として捉えた方がよさそうです。
現時点では開発者向けの初期プロジェクト
GitHubのリポジトリには、ゲームを変換するための設定ファイルやシンボル情報、ビルドスクリプトなどが公開されています。
一方、記事執筆時点では『TwistedMetal4 Recompiled』単体の正式なReleaseパッケージは公開されておらず、ゲームがどこまで正常に動作するのかを示す詳しい互換性情報も掲載されていません。
設定ファイルにも、自動生成したプロジェクトの骨格を基にしており、ゲーム固有の処理やオーバーレイについては手作業での調整が必要と記載されています。そのため、現段階では誰でも簡単に遊べる完成版というより、『Twisted Metal 4』をPCへ移植するための開発環境が公開された段階と見るのが正確です。
とはいえ、最大4人で遊べるカーコンバットゲームにロールバックネットコードを組み合わせるという構想は、かなり魅力的です。今後、一般向けビルドの公開や実際のゲームプレイ、オンライン対戦の動作などが確認できる状態まで発展するのか注目したいところです。















ダンジョンズ&ドラゴンズ ビジュアル大全 半世紀を超えるその歴史とアート









ゲームコンソール2.0