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

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

N64パーフェクトダークの逆コンパイルが実質100%完了し、PC移植という次の段階に進んでいます。
まだ開発中で一部グラフィック等が不完全ですが、ほぼほぼプレイに問題ないレベルまで完成されています。

【2023/09/13】更新

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

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

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

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

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

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

ビルド(実行ファイルの作成)の手順も記載されているため、気になる方は試してみてください。
2023/09/08現在、北米版ROM用の実行ファイルは配布されていますが、日本語版ROM用はまだ不完全なため配布されておりません。
そのため、日本語版ROMで遊びたい場合はビルド作業が必要となります。

必要なもの

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

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

遊び方

  1. GitHubのアカウントを作成
    実行ファイルのダウンロード時に必要なので、アカウントを持っていない方は作成しましょう。
  2. GitHubにログイン
  3. プロジェクトページの「Actions」にアクセス
    https://github.com/fgsfdsfgs/perfect_dark/actions
  4. 一番上にある(最新)リンクをクリック
  5. 「Artifacts」欄にあるリンクをクリック
    ビルド済みのファイルをダウンロードできます。
    Linuxの場合:pd-i686-linux、Windowsの場合:pd-i686-windows
    本記事では、WIndows想定で進めます。
  6. ダウンロードした「pd-i686-windows.zip」を展開
  7. 「data」フォルダ内に、以下のファイル名で北米版ROMを配置
    pd.ntsc-final.z64
  8. 「pd.exe」を実行
    一度実行するとセーブファイルの「eeprom.bin」が生成されます。
    また、閉じた際に設定ファイルの「pd.ini」が生成されます。

操作方法

マウス+キーボード、XInput形式(Xbox 360コントローラ)、DirectInput形式(その他コントローラ)に対応しています。
初期設定は以下の通りですが、後述の設定ファイルを修正することで割り当ての変更が可能です。
長押しで認識する操作が廃止されたため、いくつかN64実機とは異なる操作となります。

操作マウス/キーボードXbox 360N64備考
撃つ/決定左クリック/スペースRTZボタンN64実機と同様
照準モード右クリック/ZLTRボタンN64実機と同様
アクション/キャンセルEなしBボタンN64実機と同様
アクション/決定なしAAボタン「アクション」が追加となった
※Aボタンでも端末操作やドアを開けることができる
リロードRXXボタン「アクション」と「リロード」が別々のボタン割り当てが可能となった
N64実機と同じにする場合、Bボタンを割り当てる
前の武器装備マウスホイール 前B十字左A + Zボタンという組み合わせの割り当てはできなくなった
次の武器装備マウスホイール 後YYボタン「決定」と「次の武器装備」は別々のボタン割り当てが可能となった
N64実機と同じにする場合、Aボタンを割り当てる
クイックメニューQLB十字下Aボタン長押しの割り当てはできなくなった
武器モード切替FRBLボタンBボタン長押しの割り当てはできなくなった
起爆(リモート爆弾)E + QA + BB + 十字下A + Bボタンという組み合わせの割り当てはできなくなった
「使う」と「クイックメニュー」の組み合わせとなる
武器モード一時切替F + 左クリック/スペースRB + RTL + ZB+Zボタンという組み合わせの割り当てはできなくなった
「武器モード切替」と「撃つ」の組み合わせとなる
https://github.com/fgsfdsfgs/perfect_dark#controls

設定ファイルの調整

「pd.exe」を実行して閉じた際に設定ファイルの「pd.ini」が生成されます。
そこには、ウィンドウサイズの設定やキー割り当ての設定が入っており値を変更することで設定が可能です。
主な設定値のみ紹介いたします。

  • [Game]
    • BaseDir=./data:データフォルダの場所
    • MouseAimSpeedY=0.750000:照準モード時のマウス速度(縦軸)
    • MouseAimSpeedX=0.750000:照準モード時のマウス速度(横軸)
    • MouseAimMode=0:照準モード時にマウスで視点も移動する(1:有効、0:無効)
    • ScreenShakeIntensity:画面の振動の強さ(爆発等)
  • [Input]
    • LStickDeadzoneY=4096:左スティックの遊び幅(縦軸)
    • LStickDeadzoneX=4096:左スティックの遊び幅(横軸)
    • MouseEnabled=1:マウス操作の有効化(1:有効、0:無効)
    • MouseSpeedX=1.500000:マウス操作の速度(縦軸)
    • MouseSpeedY=1.500000:マウス操作の速度(横軸)
    • RStickDeadzoneY=6144:右スティックの遊び幅(縦軸)
    • RStickDeadzoneX=4096:右スティックの遊び幅(横軸)
    • StickCButtons=1:視点移動と移動を組み合わせる(操作設定1-1のような操作になる)(1:有効、0:無効)
  • [Input.Player1.Binds]
    • 各種ボタンに割り当てる、キー、マウス操作、コントローラのボタンを指定します。
      ボタンの名称は、操作方法の「N64」と対応しています。
    • A_BUTTON:Aボタン
    • B_BUTTON:Bボタン
    • D_CBUTTONS:Cボタン下
    • D_JPAD:十字下
    • L_CBUTTONS:Lボタン
    • L_JPAD:十字左
    • L_TRIG:Lボタン
    • R_JPAD:十字右
    • R_CBUTTONS:Cボタン右
    • R_TRIG:Rボタン
    • START_BUTTON:スタートボタン
    • STICK_YPOS:スティック(縦軸)(上)
    • STICK_YNEG:スティック(縦軸)(下)
    • STICK_XNEG:スティック(横軸)(左)
    • STICK_XPOS:スティック(縦軸)(右)
    • U_JPAD:十字上
    • U_CBUTTONS:Cボタン上
    • X_BUTTON:Xボタン
    • Y_BUTTON:Yボタン
    • Z_TRIG:Zボタン
  • [Input.Player2.Binds]
    • 2P用の設定
  • [Input.Player3.Binds]
    • 3P用の設定
  • [Input.Player4.Binds]
    • 4P用の設定
  • [Video]
    • DefaultHeight=480:起動時のウィンドウサイズ(高さ)
    • DefaultWidth=640:起動時のウィンドウサイズ(幅)

コントローラのキー割り当てのための名称については以下が定義されています。
DirectInput形式(N64コン等)の場合、どの名称がどのボタンと対応しているかは使っているコントローラによるため、現在認識している操作がどれなのかと、1つずつ割り当ててみて判断するしかなさそうです。
例えば、JOY1_Aだとしても必ずしもAボタンとは限りません。

  • JOY1_A
  • JOY1_B
  • JOY1_X
  • JOY1_Y
  • JOY1_BACK
  • JOY1_GUIDE
  • JOY1_START
  • JOY1_LSTICK
  • JOY1_RSTICK
  • JOY1_LSHOULDER
  • JOY1_RSHOULDER
  • JOY1_DPAD_UP
  • JOY1_DPAD_DOWN
  • JOY1_DPAD_LEFT
  • JOY1_DPAD_RIGHT
  • JOY1_BUTTON_15
  • JOY1_BUTTON_16
  • JOY1_BUTTON_17
  • JOY1_BUTTON_18
  • JOY1_BUTTON_19
  • JOY1_TOUCHPAD
  • JOY1_BUTTON_21
  • JOY1_BUTTON_22
  • JOY1_BUTTON_23
  • JOY1_BUTTON_24
  • JOY1_BUTTON_25
  • JOY1_BUTTON_26
  • JOY1_BUTTON_27
  • JOY1_BUTTON_28
  • JOY1_BUTTON_29
  • JOY1_LTRIGGER
  • JOY1_RTRIGGER

参考までに、N64コントローラを使用している私の環境では以下の設定値になりました。

[Input.Player1.Binds]
A_BUTTON=JOY1_LTRIGGER
B_BUTTON=E, JOY1_RTRIGGER
D_CBUTTONS=S, JOY1_A
D_JPAD=Q, MOUSE_MIDDLE, JOY1_DPAD_DOWN
L_CBUTTONS=A, JOY1_X
L_JPAD=MOUSE_WHEEL_UP, JOY1_DPAD_LEFT
L_TRIG=F, X, JOY1_LSHOULDER
R_TRIG=MOUSE_RIGHT, Z, JOY1_RSHOULDER
R_JPAD=NONE
R_CBUTTONS=D, JOY1_B
START_BUTTON=RETURN, TAB, JOY1_START
STICK_YPOS=UP
STICK_YNEG=DOWN
STICK_XNEG=LEFT
STICK_XPOS=RIGHT
U_CBUTTONS=W, JOY1_Y
U_JPAD=NONE
X_BUTTON=R, JOY1_RTRIGGER
Y_BUTTON=MOUSE_WHEEL_DN, JOY1_LTRIGGER
Z_TRIG=MOUSE_LEFT, SPACE, JOY1_RSTICK

クリア済みセーブデータ

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

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

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

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

動画

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

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

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

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

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

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

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

更新履歴

  • 2023/09/13
    • 「クリア済みセーブデータ」の追加
  • 2023/09/10
    • 「遊び方」の4について、「port」ブランチ(portと記載がある)の中の最新でなくても問題ないため記載を修正

PC移植カテゴリの最新記事