PC移植版パーフェクトダークの遊び方

N64パーフェクトダークの逆コンパイルが実質100%完了し、PC移植という次の段階に進んでいます。
プレイに影響がある大きな不具合は全て解消され、ほぼほぼ問題ないレベルまで完成されています。
現在は、オンラインプレイ機能の開発が進められています。

【2025/05/05】更新
  1. 逆コンパイルプロジェクト
  2. PC版パーフェクトダークのソースコード
  3. 必要なもの
  4. 遊び方
    1. 実行ファイルのダウンロード
    2. 手動でビルドする場合
    3. ゲームの起動
  5. N64オリジナル版からの変更点
  6. 操作方法
  7. 設定ファイルの調整
  8. ゲーム内の設定画面
    1. 追加メニュー
    2. Extended Options
      1. Video
      2. Audio
      3. Mouse
      4. Controller
      5. Game
      6. Key Bindings
  9. N64コントローラでN64実機と同じ操作でプレイする場合
    1. N64コントローラの場合のスティック設定調整
      1. スティックが認識しない場合
      2. 操作設定「ext」の3Dスティックで移動と視点移動が同時に認識する場合
  10. コントローラが認識していない場合
  11. クリア済みセーブデータ
  12. Mod機能の遊び方
  13. オンラインプレイ対応版(※現状実験版のため注意)
    1. 注意点
    2. 現在判明している問題点(2024/05/05現在)
    3. オンラインプレイテスト動画
      1. 3人でオンライン対戦:キャリントン協会ビルでコンバット
      2. 3人でオンライン対戦:通常版/キャリントン協会ビルでコンバット/Perfect Dark Plus Mod
      3. 3人でオンライン対戦:GoldenEye X Mod その1
      4. 3人でオンライン対戦:GoldenEye X Mod その2
      5. 4人でオンライン対戦:GoldenEye X Mod
    4. 実行ファイルのダウンロード
    5. ゲームの起動
    6. オンラインプレイの遊び方
      1. ホストの場合
      2. クライアントの場合
    7. その他情報
  14. 動画
    1. テストプレイ1:データダイン本社<始動>/デバイスラボ/グラフィックテスト
    2. テストプレイ2:射撃訓練場(全ゴールド)/グラフィックテスト
    3. テストプレイ3:グラフィックテスト
  15. 更新履歴

逆コンパイルプロジェクト

N64パーフェクトダークの逆コンパイルのプロジェクトがあり、逆コンパイルが進められています。
現在逆コンパイルは実質100%完了し、要はパーフェクトダークの中身が丸裸となりました。
そのソースコードを利用し、PC版が開発されています。
ネイティブにPCで実行できるので、エミュレータによる制限はなくなりパフォーマンスを最大限に発揮することができます。
今後は、パフォーマンス改善や、オンライン対戦等の機能追加が期待できます!

逆コンパイルのプロジェクトについては、以下の記事にて説明していますのでご覧ください。

PC版パーフェクトダークのソースコード

逆コンパイルは、Ryan Dwyer氏によって実施され実質100%完了しました。
現在、fgsfds氏によってPC版のためのソースの改修が行われています。

ソースコードは、GitHub上で公開されています。
https://github.com/fgsfdsfgs/perfect_dark

ビルド(実行ファイルの作成)の手順も記載されているため、気になる方は試してみてください。

必要なもの

  • パーフェクトダークのROM
    ※ビッグエンディアン形式であること
    ※日本語版の場合、Good Nameが「Perfect Dark (J) [!]」のROM
     MD5チェックサム:538d2b75945eae069b29c46193e74790
    ※北米版の場合、Good Nameが「Perfect Dark (U) (V1.1) [!]」のROM
     MD5チェックサム:e03b088b6ac9e0080440efed07c1e40f
  • 実行ファイル
    GitHubからダウンロード可能(要ログイン)

基本的にはパーフェクトダークのROMさえ用意すれば遊ぶことができます。
ROMを吸い出すやり方や、エンディアン形式の変換方法については、以下の記事をご覧ください。

遊び方

実行ファイルのダウンロード

2024/05/15の更新により、北米版(NTSC)ROM用、欧州版(PAL)ROM用、日本語版ROM用、全ての実行ファイルが含まれたファイルがダウンロードできるようになりました。
実行に必要なDLLファイルも含まれているため、自分でビルドを行う場合もダウンロードしておきましょう。
2024/05/19追記:更に実行ファイルが「Releases」のページで配布されるようになり、GitHubへのログインは不要となりました。
(以前までは「Actions」のページからダウンロード)

  1. 以下のURLにアクセス
    プロジェクトページの右側メニュー「Releases」リンクをクリックしたページです。
    https://github.com/fgsfdsfgs/perfect_dark/releases
  2. 最新のリリース欄の「Assets」欄にあるリンクをクリック
    ビルド済みのファイルをダウンロードできます。
    Linuxの場合:pd-i686-linux.tar.gz、Windowsの場合:pd-i686-windows.zip
    本記事では、WIndows想定で進めます。

手動でビルドする場合

日本語版ROM用の実行ファイルは配布されていないため、ソースコードからビルドが必要です。
手順については、GitHubのプロジェクトページ上の「Building」の章で説明されています。
https://github.com/fgsfdsfgs/perfect_dark#building

2024/05/15の更新により、日本語版ROM用の実行ファイルもダウンロードできるようになりました。
そのため、本手順は不要です。上記手順の「実行ファイルのダウンロード」を行ってください。
以下は、参考用に残しておきます。

ここではそちらをベースに解説します。

  1. MSYS2(Windows用開発環境)をインストール
  2. 「MSYS2 MINGW32」を起動(MSYS、MINGW64では動きません)
    ※以降は、コマンドで操作します。
  3. 開発環境にビルドに必要なパッケージをインストール
    pacman -S mingw-w64-i686-toolchain mingw-w64-i686-SDL2 mingw-w64-i686-zlib make git
  4. ソースコードをダウンロード
    git clone https://github.com/fgsfdsfgs/perfect_dark.git
  5. ダウンロードした「perfect_dark」ディレクトリに移動
    cd perfect_dark/
  6. コンパイルを実行
    ※日本語版の場合「ROMID=jpn-final」が必要
    ※-j4:ジョブ数4で実行するオプション(並列処理となり時間短縮)
    make -f Makefile.port -j4 ROMID=jpn-final
  7. 実行ファイルの作成確認
    「build/jpn-final-port/pd.jpn.exe」が存在していれば成功
    ls -l build/jpn-final-port/pd.jpn.exe
  8. pd.jpn.exeを回収
    ファイルの実体は、Windows上にあり、デフォルトでは C:\msys64\home\%USERNAME%

今後、ソースコードが更新されていたら、以下のコマンドで更新を取り込み可能です。
git pull
4のソースコードのダウンロードを毎回実施する必要はありません。
「perfect_dark」ディレクトリに移動してから実行します。

ゲームの起動

  1. ダウンロードした「pd-i686-windows.zip」を展開
  2. 「data」フォルダ内に、以下のファイル名でROMを配置
    日本語版の場合:pd.jpn-final.z64
    北米版の場合:pd.ntsc-final.z64
  3. exeファイルを実行
    日本語版の場合:pd.jpn.exe
    北米版の場合:pd.exe

    一度実行するとセーブファイルの「eeprom.bin」が生成されます。
    また、閉じた際に設定ファイルの「pd.ini」が生成されます。

N64オリジナル版からの変更点

主に以下の修正が加えられています。(いくつかを抜粋)

  • PC版専用のオプションの追加(後述の「Extended」オプション)
    →キーボード、マウス操作に対応
    →しゃがみ専用のキー設定、しゃがみモードの変更可能
    →プレイヤーごとにFOV設定可能
    →HUDの中央配置オプション
    →60FPSを超える設定が可能
    →照準のサイズと色を設定可能
    →コンバット・シミュレータの倒された際のBGMを無効化設定可能
  • コンバット・シミュレータでクラシックウェポン設定可能
  • コンバット・シミュレータでリスポン時に目眩効果回復
    →これでNボムやトランキライザオンリーの戦いでも怖くないですねw
     ただし、これはシミュラントも同様のため、目眩効果を蓄積させることができません。
     チャレンジ18(トランキライザ+陣取り)とかは少し大変になるかもしれませんねw
  • コンバット・シミュレータで目眩効果をON/OFF可能
  • コンバット・シミュレータで初期装備オプションの追加
    →初期装備を素手で開始するか、ウェポン設定の1番の武器を自動で装備するか選べます。(シミュラントも同様)
     武器がなかなか拾えない場合の対策です。
  • チートの全開放オプションの追加

実は私も僭越ながら少し開発に参加させていただき、以下の内容を修正しています。(2024/05/19現在)

  • 日本語版でコンバットナイフを復活
  • チートの「暗闇モード」がONの状態で、コンバット・シミュレータで倒された際に毎回「ナイトアイ」が手に入るように修正
    →一度倒れると「ナイトアイ」が二度と手に入らない悲しい事象を修正しました。
  • コンバット・シミュレータのオプションに「味方への攻撃」オプションを追加
    →OFFにすると、同じチームメンバーには攻撃が当たりません。
     このオプションは、協力ミッションにありましたね。これで初心者の方も安心です。
  • コンバット・シミュレータにて、Xスキャンの外見がナイトアイとなっていたのを修正
    →地味に気になっていましたw
  • コンバット・シミュレータのウェポン選択に「Auto Random」オプションを追加
    →N64オリジナル版の「ランダム」は選択した時しかランダムにならず、次の回でもランダムにしたい場合は、毎回手動で選択する必要がありました。
     それを、コンバットの開始前もしくは開始後(選択式)に自動でランダムが再度選択されるように設定することが可能となりました。
     コンバットの開始前の場合は、設定内容の事前確認不可で試合後に振り返り可能となります。
     コンバットの開始後の場合は、設定内容の事前確認可能で試合後に振り返り不可となります。

操作方法

マウス+キーボード、XInput形式(Xbox 360コントローラ)、DirectInput形式(その他コントローラ)に対応しています。
初期設定は以下の通りですが、割り当ての変更が可能です。

操作マウス/キーボードXbox 360N64備考
撃つ/決定左クリック
スペース
RTZ
照準モード右クリック
Z
LTR
アクション/キャンセルEなしB
アクション/決定なしAA
しゃがみ順番なしL3特殊割当オプションのCrouch Modeを「Toggle + Analog」にするとR+C下がしゃがみになる
1段階しゃがみShiftなし特殊割当
2段階しゃがみCtrlなし特殊割当
リロードRXX
前の武器装備マウスホイール 前B十字左
次の武器装備マウスホイール 後YY
クイックメニューQLB十字下
武器モード切替FRBL
武器モード一時切替F + 左クリック
E + 左クリック
A + RT
RB + RT
A + Z
L + Z
起爆(リモート爆弾)E + Q
E + R
A + B
A + X
B + 十字下
A + X
https://github.com/fgsfdsfgs/perfect_dark#controls

設定ファイルの調整

「pd.exe」、「pd.jpn.exe」を実行して閉じた際に設定ファイルの「pd.ini」が生成されます。
そこには、ウィンドウサイズの設定やキー割り当ての設定が入っており値を変更することで設定が可能です。
現在ではほとんどの設定値はゲーム画面から設定できるようになったので、主要な項目のみ紹介します。

全ての設定項目は、以下のWikiにまとめられています。
https://github.com/fgsfdsfgs/perfect_dark/wiki/Config-variables

  • [Video]
    • DefaultHeight=480:起動時のウィンドウサイズ(高さ)
    • DefaultWidth=640:起動時のウィンドウサイズ(幅)

ゲーム内の設定画面

ほとんどの設定項目はゲーム内から設定できるようになりました。
こちらの画面から色々設定しましょう。
初期操作設定では、メニューの基本操作は、カーソル移動は矢印キーかWASD、Qで決定、Eで取消です。
項目名は、日本語化対応されておらず英語です。

追加メニュー

メインメニューの一番下に「Exit Game」、オプション画面に「Extended」が追加されました。

Extended Options

ここでは、PC版パーフェクトダーク用の設定項目があります。
キー割り当てや、画面の設定等を行うことができます。

Video

  • Full Screen:フルスクリーン(ON/OFF)
  • Texture Filterling:テクスチャフィルタリング(ON/OFF)
  • GUI Texture Filterling:GUIのテクスチャフィルタリング(ON/OFF)
  • HUD Centerring:HUD(弾薬表示等)を中心に固定(None/4:3/Wide)
  • Explosion Shake:爆発時の画面振動の強さ

Audio

  • DIsable MP Death Music:コンバット・シミュレータで倒れた時のBGM無効化(ON/OFF)

Mouse

  • Mouse Enabled:マウス操作の有効化(ON/OFF)
  • Mouse Aim Lock:照準モード時にマウスで視点移動する?(ON/OFF)
  • Grab Mouse Input by Default:デフォルトでマウス入力を取得?(ON/OFF)
  • Mouse Speed X:通常時のマウス速度(横軸)
  • Mouse Speed Y:通常時のマウス速度(縦軸)
  • Crosshair Speed X:視点移動時のマウス速度(横軸)
  • Crosshair Speed Y:視点移動時のマウス速度(縦軸)
  • Radial Menu Speed:クイックメニュー時のマウス速度

Controller

コントローラは、XInput形式(Xbox 360コントローラ)、DirectInput形式(その他コントローラ)に対応しています。
1P~4Pそれぞれで設定可能です。

  • Controller:コントローラのデバイスの選択
    ※コントローラが認識していない場合、「コントローラが認識していない場合」の章をご覧ください
  • Analog Movement:スティックをアナログとして認識(ON/OFF)
    ONの場合、スティックはそのままアナログスティックとして認識されます。
    OFFの場合、片方のスティックにCボタンが割り当てられます。
    例えば、操作設定1-1の場合は左スティックに3Dスティック、右スティックにCボタンが割り当てられます。
    操作設定1-2の場合は、Cボタンで移動なので、右スティックでデジタルに移動が可能となります。
    N64コントローラを使用する場合は、基本的にはONとなります。
  • Swap Sticks:左右のスティックの入れ替え(ON/OFF)
  • Stick Settings:スティックの感度の設定
    • LStick Scale X:左スティックの感度(横軸)
    • LStick Scale Y:左スティックの感度(縦軸)
    • RStick Scale X:右スティックの感度(横軸)
    • RStick Scale Y:右スティックの感度(縦軸)
    • LStick Deadzone X:左スティックの遊び幅(横軸)
    • LStick Deadzone Y:左スティックの遊び幅(縦軸)
    • RStick Deadzone X:右スティックの遊び幅(横軸)
    • RStick Deadzone Y:右スティックの遊び幅(縦軸)

Game

  • Crouch Mode:しゃがみの操作モード(Hold/Analog/Toggle/Toggle + Analog)
  • Vert FOV:視野角
  • Crosshair Sway:クロスヘア(十字の照準)の揺れ幅

Key Bindings

  • Fire [ZT]
  • Fire Mode [LT]
  • Aim Mode [RT]
  • Use / Accept [A]
  • Use / Cancel [B]
  • Pause Menu [ST]
  • D-Pad Up [DU]
  • D-Pad Right [DR]
  • Prev Weapon [DL]
  • Radial Menu [DD]
  • Forward [CU]
  • Backward [CD]
  • Strafe Right [CR]
  • Strafe Left [CL]
  • Reload [X]
  • Next Weapon [Y]
  • Cycle Crouch [+]
  • Half Crouch [+]
  • Full Crouch [+]
  • Reset to PC Defaults:PC版の操作設定でリセット
  • Reset to N64 Defaults:N64版の操作設定でリセット

キー割り当ての設定変更方法は、変更したいキーを選択するとBindの画面が表示されるので、そこで割り当てたいキーを入力します。
入れ替わり方式となります。
各キーに4つまで割り当てる枠があります。
ややこしいですが、1つ目の枠の内容しか表示されないため、ぱっと見割り当てできていないように見える場合もありますが、中身を見るとちゃんと設定できています。
ESCキーでキャンセル、DELキーで割り当て削除できます。

※N64コントローラでN64実機と同じ操作でプレイする場合は、操作設定の変更が必要です。
 詳しくは次の章をご覧ください。

N64コントローラでN64実機と同じ操作でプレイする場合

N64実機と同様の操作をする場合は、操作設定を「Ext」から変更します。
PC版の割り当てを使用する場合は「Ext」、N64版仕様で操作したい場合はそれ以外(1-1や1-2等)を選択します。
PC版の割り当てでは、一部の操作が廃止されているため、Aボタン長押しでクイックメニューや、Bボタン長押しで武器モード切替、B+Zで武器モード一時切替、A+Zで1つ前の武器に戻す、A+Bで起爆等が使えません。
使いたい場合は、操作設定を変更しましょう。
※操作設定を変更しても反映しないことがあるため、その場合は pd.exe を一度閉じてから再度起動してください。

操作設定を変更した後に「Key Bindings」の設定画面を開くと、N64ボタンに割り当てる形式になっています。
ここで割り当てを実施します。
初期設定で色々入っていますが、ずれている場合があります。
まずは、DELキーで削除するのがいいかと思います。
削除しなくても基本的には、JOY~と書かれているキーを修正していく感じでいいかと思います。

N64コントローラの場合のスティック設定調整

PC版パーフェクトダークは、スティック2本のコントローラに対応しています。
N64コントローラの場合、スティックが1本しかないため一部動作がおかしくなる場合があるので調整が必要となります。

スティックが認識しない場合

N64コントローラではスティックが1本しかないので、存在しないもう片方のスティックがメインで認識してしまっている場合があります。
オプション→Extended→Controllerで「Swap Sticks」のON/OFFを切り替えると、スティックの左右を逆にできるので認識する可能性があります。

操作設定「ext」の3Dスティックで移動と視点移動が同時に認識する場合

N64コントローラで操作する場合、基本的には操作設定「1-1」や「1-2」に設定すればいいのですが、PC版特有の操作を行いたい場合は「ext」に設定します。
基本的には、片方のスティックが移動、片方のスティックが視点移動になりますが、N64コントローラではスティックが1本しかないので、2本のスティックが同時に認識してしまう場合があります。
オプション→Extended→Controller→Stick Settingsで片方のスティックの感度を0にすることで片方のみにできます。

以下の例では「Swap Sticks」がON(スティックの左右が逆):左スティックが移動、右スティックが視点移動の状態です。
その状態で、LStick Scale X、LStick Scale Yを0に設定すると、3Dスティックが視点移動のみとなります。(操作設定1-2と同様)

コントローラが認識していない場合

コントローラが認識していない場合、ゲームコントローラのデータベースファイル「gamecontrollerdb.txt」を実行ファイル(pd.exe)と同じフォルダに配置することで認識する可能性があります。

このファイルは別のプロジェクトのファイルで、以下のGitHubのプロジェクトページからダウンロードする必要があります。
https://github.com/gabomdq/SDL_GameControllerDB
gamecontrollerdb.txt」をダウンロードします。

「gamecontrollerdb.txt」にもデータがないコントローラの場合は、自分でプロファイルを作成する必要があります。
上記プロジェクトページの、「Create New Mappings」の章を参考に作成することができるようです。(未検証)

クリア済みセーブデータ

テストも兼ねてPC版で一通りプレイし、協力ミッション以外は全てクリア状態のセーブデータを作成しました。
良かったらお使いください。

セーブデータファイル:pd_pc_port_save_file_20230913.zip

  • ソロ・ミッション 全クリア
  • チート 全取得
  • チャレンジ 全クリア(1P分のみ)
  • 射撃訓練 全クリア
  • デバイスラボ 全クリア
  • ホロ・トレーニング 全クリア
  • 協力ミッション 未クリア
  • ミッションフラグ状態
    • シカゴ<潜入>:リモート爆弾を2Fに設置(3Fに設置すればG5ビル<盗撮>で秘密武器取得可能)
    • エリア51<突破>:対空迎撃ロボを操作している作業員を生かす(エリア51<救出>で秘密武器取得可能)
    • エリア51<脱出>:ホバーバイクルートでクリア(キャリントン協会ビル<防衛>でジョナサン出現)
    • アラスカ空軍基地<変装>:レーザーグリッドルートでクリア(大統領専用機<暴露>で下の階からスタート)
    • 大統領専用機<暴露>:ホバーバイクのリフトを下ろす(墜落現場<対決>でホバーバイク出現)

zipファイルを展開し「eeprom.bin」を「pd.exe」と同じフォルダ内に置いてください。
セーブデータファイルは共通のため、北米版でも日本語版でも適用可能です。

Mod機能の遊び方

一部のパラメータの修正と、内部ファイルの差し替えに対応したMod機能も実装されています。
詳細については、以下のドキュメントをご確認ください。
https://github.com/fgsfdsfgs/perfect_dark/wiki/Modding

また、少しMod機能の使い方を紹介している動画もあるため、こちらも良かったらご覧ください。

オンラインプレイ対応版(※現状実験版のため注意)

メインの開発とは別に、「port-net」ブランチにてオンラインプレイ機能の開発が進められています。
https://github.com/fgsfdsfgs/perfect_dark/tree/port-net
ただし、まだ初期段階で不具合も多いため、実行は自己責任でお願いします。(2025/05/04現在)

オンラインプレイは、プレイヤー同士が直接接続することで行います。
説明用に、接続される側を「ホスト」、接続する側を「クライアント」と呼びます。

以下のドキュメントに遊び方や、現在の開発状況が記載されています。
https://github.com/fgsfdsfgs/perfect_dark/blob/port-net/docs/netplay.md

注意点

オンラインプレイ版は実験版であり、おかしな動きとなる場合があるため、オンラインプレイ(Network Game)の用途以外では現状使用しない方が無難です。
例えば、操作設定の変更がソロ・ミッションの方に反映しないという不具合があります。
(具体的には操作設定を1-2に変更しているはずが、実際には1-1と同様の操作となる)
これに関しては、コンバット・シミュレータでは正常に動作するため、操作設定の動作確認は、コンバット・シミュレータの方で実施をお願いします。
また、オンラインでなくてもコンバット・シミュレータでシミュラントを入れると不具合が発生する場合があります。

オンラインプレイ以外の不具合は、通常版の方で発生しなければ現状問題ない不具合のため気にしないようにお願いします。
これらを理解いただいたうえで、使用をお願いします!

現在判明している問題点(2024/05/05現在)

上記ドキュメントより、現在判明している問題点は以下の通りです。
クライアントで動かないものが多く、現状ホストが有利な状況となっています。
プレイヤーのみのシンプルなコンバットなら動作し、8人まで参加可能となっています。

  • クライアントはラップトップガン自動機銃を投げられない
    →修正されました
  • クライアントはロケット弾の回転が正しく表示されない
  • クライアントはスレイヤーのロケットカメラが使用できない
    ホストが使用した場合も正常に同期しない
  • クライアントはファーサイトの第二武器モード(サーチ)が機能しない
    →確認したところ、使用可能でした
  • その他、クライアントは恐らくいくつかの第二武器モードが機能しない
  • ホスト、クライアント共にスパイクロークが同期しない
  • おそらくコンバット・シミュレータのみが正常に動作する(協力ミッション、敵対ミッションは不明)
  • オンラインプレイでは、シミュラントは機能しない(同期しない)
  • デフォルト設定では、特にプレイヤーが8人の場合、ホストの帯域幅の消費がかなり大きくなる

また、複数人でのオンラインプレイをテストした結果、以下が判明しました。

  • クライアントはオブジェクト(ガラス等)を破壊できない、同期されない
    →修正されました
  • クライアントは、プレイヤーの操作画面と、第三者から見たキャラクターの位置が一致しない幽体離脱のような現象が発生することがある
  • ブーストピルについてはホスト以外が使用すると、使用者とホストのみがスローとなる
    →ホストが使用すると全員に適用される
  • ブーストピル中にドアが開かないことがある?
  • 爆発は同期しないことがある

オンラインプレイテスト動画

3人でオンライン対戦:キャリントン協会ビルでコンバット

初めてMod機能とオンラインプレイを組み合わせたテストを行いました。
キャリントン協会ビルでコンバットするModを作成し使用しました。
録画設定ミスにより、ゲームの音声がありません。申し訳ありません。

3人でオンライン対戦:通常版/キャリントン協会ビルでコンバット/Perfect Dark Plus Mod

Perfect Dark Plus」は、追加アリーナやプレイアブルキャラクターにスケダーやドクター・キャロルが使用可能となるようなN64版用ハックロムです。(Wreck氏作成)
そちらのPC版用Modを作成し使用しました。
少し修正を加えて、血の色の修正やダメージボイスを追加しました。

3人でオンライン対戦:GoldenEye X Mod その1

GoldenEye X」は、パーフェクトダークのエンジンを使ってゴールデンアイ007を再現するN64版用ハックロムです。(Wreck氏作成)
そちらのPC版用Modを作成(まだ不完全)し使用しました。
「GoldenEye X」についてはこちらの記事でも紹介しています。

3人でオンライン対戦:GoldenEye X Mod その2

4人でオンライン対戦:GoldenEye X Mod

実行ファイルのダウンロード

手動でビルド、もしくは以下の手順で実行ファイルのダウンロードができます。
(北米版、欧州版、日本語版の実行ファイルが含まれています)

  1. GitHubのアカウントを作成
    実行ファイルのダウンロード時に必要なため、アカウントを持っていない方は作成しましょう。
  2. GitHubにログイン
  3. プロジェクトページの「Actions」にアクセス
    https://github.com/fgsfdsfgs/perfect_dark/actions
  4. 「port-net」ブランチの中で最新リンク(一番上)をクリック
    ※「port」がメインブランチです。
     「~:port」は、他の開発者の方のブランチのため、まだマージ前で不具合もある可能性もあります。
     「port-net」は、オンラインプレイ機能開発用のブランチです。
     「port-debugger」は開発者向けのデバッグツールを実装したブランチです。


  5. Name欄のリンクもしくは右側のダウンロードアイコンをクリック
    Linuxの場合:pd-i686-linux、Windowsの場合:pd-i686-windows
    本記事では、WIndows想定で進めます。
    ※64ビット版の場合「pd-x86_64-windows」

ゲームの起動

  1. ダウンロードした「pd-i686-windows.zip」を展開
    ※64ビット版の場合「pd-x86_64-windows」
  2. 「data」フォルダ内に、以下のファイル名でROMを配置
    日本語版の場合:pd.jpn-final.z64
    北米版の場合:pd.ntsc-final.z64
  3. exeファイルを実行
    日本語版の場合:pd.jpn.exe
    北米版の場合:pd.exe

    一度実行するとセーブファイルの「eeprom.bin」が生成されます。
    また、閉じた際に設定ファイルの「pd.ini」が生成されます。

オンラインプレイの遊び方

オンラインプレイは、プレイヤー同士が直接接続することで行います。
新規追加されたメニューは英語のままですが、そのうち翻訳されたものが追加する予定です。
(今後言語ファイル切り替えの機能が追加される予定とのことなので、それが追加されてから対応します)

ホストの場合

  1. UDPポート27100番を開放
    デフォルトが27100で、変更する場合はpd.iniのNet.Server.Portの値を変更します。
    ルータ側と、OS側のファイアウォールの設定が必要です。
    (ルータにてUDP27100番の受信を許可、その通信をPCのUDP27100番に転送設定、OS側でUDP27100番の通信を許可)
    ルータの設定変更に関しては、UPnPに対応していれば「UPnPCJ」や「開放くん」でも設定可能です。
    もしポート開放ができない場合、ZeroTierやHamachiといったVPNツールでも問題ないそうです。
  2. メインメニューから「Network Game」を選択
  3. 「Host Game」を選択
  4. Max Players(最大人数)を設定し「ゲーム開始」を選択
    ※Port(ポート番号)については、pd.iniで設定されるため、ここでは変更不可
  5. コンバット・シミュレータのメニューが開くため、ゲーム設定を実施
    ※現状、ホストしかゲーム設定はできません。
    左下に参加人数が表示されます。(現在の参加人数 / 最大人数)
  6. 参加者に接続先(IPアドレスもしくはホスト名)を伝える
  7. 参加者が全員揃ったらゲーム開始
    分割画面ではなく、それぞれ単独画面でプレイとなります。

クライアントの場合

クライアントはポート開放は不要です。

  1. コンバット・シミュレータの1Pに個人設定をロード
    クライアントは1Pの個人設定が使用されるため、事前にロードしておきます。
  2. メインメニューから「Network Game」を選択
  3. 「Join Game」を選択
  4. 「Address:」(接続先)を選択
    接続先は事前にホストから聞いておく必要があります。
  5. 接続先を入力し、[ESC]キーで決定
    この画面ではキーボード入力が可能で、[Ctrl]+ [V]キーで貼り付けができます。
    IPアドレスとポート番号を半角コロンで区切り「IPアドレス:ポート番号」という形式です。(例:192.0.2.1:27001)
    ※IPアドレスは例示用
  6. 接続先が入力されたことを確認し「ゲーム開始」を選択
  7. ホストがゲームを開始するまで待機
    クライアントはゲーム設定はできず、ホストがゲームを開始するのを待機する必要があります。
    ゲームを抜ける場合は、[ESC]キーを押下します。
    ゲームは分割画面ではなく、それぞれ単独画面となり、ゲーム終了後はまたこの画面に戻ります。
    ※ゲーム開始後に途中で抜けた場合は、ホストがコンバットメニューを開いている時に再接続する必要があります。

その他情報

  • 参加者全員が同じROM、同じModを使用しないとゲームが壊れる
  • [F9]キーでネットワーク統計情報(pingなど)の表示
  • [~]キーでチャット欄の表示(チャットはアルファベット大文字のみ)
  • 4人以上でプレイする場合は、ホストのpd.iniでNet.Server.UpdateFramesを2に変更し、帯域幅の使用量を減らすことがお勧めとのこと

動画

他にも投稿しておりますが、まだ記載できておりません。
取り急ぎ、以下の再生リストをご覧ください。
グラフィックの問題は現在はほぼ解消されています。
https://www.youtube.com/playlist?list=PL-cnMNjui7giDNYTRKdY2N1wy2pQpCHeD

テストプレイ1:データダイン本社<始動>/デバイスラボ/グラフィックテスト

データダイン本社<始動>エージェント、デバイスラボをプレイしました。
また、グラフィックテストを行いました。

テストプレイ2:射撃訓練場(全ゴールド)/グラフィックテスト

射撃訓練の全武器のゴールドをプレイしました。
また、グラフィックのテストを行いました。

テストプレイ3:グラフィックテスト

グラフィックの実機との比較チェックを実施しました。
ほとんどのグラフィックは再現できるようになりましたが、あとは以下が不完全です。

  • カムスパイ(画面の歪みが不完全)
  • IRスキャン(敵兵のハイライトが不完全。中心のパーツがない。)
  • HRスキャン
  • エリア51<突破>のOPシネマ(砂嵐のエフェクト)
  • 画面モヤ(脳震盪)
  • スレイヤーのロケットカメラ

更新履歴

  • 2025/05/05
    • 「オンラインプレイ対応版(※現状実験版のため注意)」を全体的に更新
  • 2024/05/19
    • 実行ファイルが「Release」のページで配布され、GitHubにログイン不要となったため「遊び方」の手順を修正
    • 「N64オリジナル版からの変更点」を追加
    • 「Mod機能の遊び方」を追加
    • 「オンラインプレイ機能のテスト」を追加
  • 2024/05/15
    • 日本語版用の実行ファイルも配布されたため「遊び方」の手順を修正
  • 2024/01/24
    • 「ゲーム内の設定画面」の「Controller」のAnalog Movementの説明を追加
    • 「N64コントローラでN64実機と同じ操作でプレイする場合」に操作設定が反映しない場合の対処法を追加
  • 2024/01/14
    • 「N64コントローラの場合のスティック設定調整」を追加
    • 「設定ファイルの調整」にWikiのリンクを追加
  • 2024/01/10
    • 「ゲーム内の設定画面」のControllerに、コントローラが認識しない場合の対応方法を追加
    • 「コントローラが認識していない場合」を追加
    • 「遊び方」の4について、「port-net」ブランチが出てきたため「port」ブランチ(portと記載がある)の中の最新をダウンロードするように記載を修正
  • 2023/12/08
    • 「必要なもの」「遊び方」に日本語版の遊び方の説明を追加
    • 「操作方法」を修正
    • 「設定ファイルの調整」を修正
    • 「ゲーム内の設定画面」を追加
    • 「N64コントローラでN64実機と同じ操作でプレイする場合」を追加
  • 2023/09/13
    • 「クリア済みセーブデータ」の追加
  • 2023/09/10
    • 「遊び方」の4について、「port」ブランチ(portと記載がある)の中の最新でなくても問題ないため記載を修正

コメント

タイトルとURLをコピーしました