- 「実験内容(2022/07/22版)」追加
「パーフェクトダークオンライン」とは、Nintendo64のエミュレータを使用して、オンラインで遊ぼうという企画です。
「コンバット・シミュレータ」に限らず「敵対ミッション」「協力ミッション」もできます。
目次
はじめに
ネットプレイは未知な部分が多いため、試行錯誤しながらやり方を確立していく必要があります。
また、エミュレータやプラグインはどんどん進化しているため、最新のものは試していく必要があります。
そこで、ネットプレイの実験を都度行います。
Discord部屋開設
ここでは、ネットプレイの実験についての内容や手順を資料として記載します。
実験日等の詳細は、discordにて共有するため興味がある方はご参加いただけますと幸いです。
実験内容(2022/07/22版)
「m64p」でのネットプレイを実験します。
前回の実験結果
- m64pネットプレイ専用サーバの構築
- 「ゴールデンアイ007」を2人でプレイ可能
- 「パーフェクトダーク」を2人でプレイ可能
- 改造コード使用可能
→改造コードを記載した「mupen64plus.ini」を共有
→改造コードはお互いに入れる必要があり、片方のみだと同期が取れず、desyncのエラーが表示される
(同期ずれした際にエラーが出るのはとても親切設計!) - セーブデータは事前に共有する必要はなし
→ゲーム開始時に1Pのセーブデータが共有される - paraLLEl版でやると途中重くなり接続が切れた
→恐らく私のPCのスペックの問題
→そのため、m64pのバージョンを落としてGLideN64対応版で試したのですが、軽くてかなり快適!
次に実験してみたいこと
- 3人以上で遊ぶ
→同期ずれせずにネットプレイできるか - コード量が多い改造コードで遊ぶ
→PD:キャリントン協会ビルでコンバット
→GE:ダムで対戦する改造コードの日本語版 - パーフェクトダークのハックロム「GoldenEye X」で遊ぶ
→ハックロム「Goldeneye X」の紹介
→米国版PDが必要 - パーフェクトダークの個人設定をコントローラパックに保存し、それの共有
- paraLLEl版でのネットプレイ
→paraLLElは再現度が高い代わりに、高いスペックが要求される。。
→私のPCのスペックが上がるまでお待ちください。。。。
実験の準備
実験に参加頂ける方は、以下の手順で準備をお願いします。
ROMの吸い出し
まだN64のROMを入手していない方は、以下の記事を参考にROMの吸い出しを実施しましょう。
m64p v2021.5.12(旧バージョン)のインストール(GLideN64対応版)
申し訳ないのですが私のPCのスペックの問題で、GLideN64対応版を使用したいので、最新版ではなく、バージョンを落とした「v2021.5.12」を使用します。
m64pの概要とインストール手順については、別の記事にまとめています。
以下の記事の「4 インストール手順(旧バージョン)」の章を参考にインストールをお願いします。
パーフェクトダークの個人設定をコントローラパックに保存
基本的には上記でインストールが完了すれば実験の準備は終了です。
あと、もしパーフェクトダークの個人設定を使用したい方がいる場合は、コントローラパックに保存してください。
その後、「save」フォルダにある「Perfect Dark (J) [!].mpk」を1Pに共有してください。
ゲーム開始時に1Pのセーブデータが共有されるので、1Pのコントローラパックに保存しておけば、使用できるはずです(未検証なので確認したい)。
Discordに参加
実験のお知らせや、やり取りはDiscord上で実施しますので、参加をお願いします。
実験内容(2020/05/03版)
「Project64 v2.3.2」+「AQZ NetPlay Input Plugin」の組み合わせにて、オンラインプレイができるかどうか。
概要
「AQZ NetPlay Input Plugin」は、コントローラの操作を再現するインプットプラグインの1つです。
このプラグイン自体がオンラインプレイ用の機能を持っており、直接プレイヤーと接続することができます。
すなわち、Kailleraを介さなくてもオンラインプレイができるようになります。
実際の操作は、別のインプットプラグインを紐づけて、そのプラグインの設定に依存します。
Mupen64++や1964は、たまに動作が不安定になる面があります。
Project64Kは、セーブデータが使えない仕様なのが不便なのと、PDやGEだと同期ずれが起きやすい(らしい)。
ということで現在最も安定しているエミュレータである「Project64」(v2系)でオンラインプレイできたら最高なのです。
Kailleraサーバを介さずにプレイヤー同士が直接接続するため、同期ずれはほとんど起きないようです。(Open KailleraのP2Pモードに近い?)
Open KailleraのP2Pモードも直接プレイヤーと接続する形式で、同期ずれはほとんど起きませんが、2人までしか接続できないのがネックでした。
2人でプレイする場合は、P2Pモード一択ですが、3人以上の場合はKailleraサーバを介す必要がありましたが、それだと同期ずれが起きやすくなってしまいます。
しかし、このプラグインなら複数人数接続も可能なので、3人以上接続する場合でも安定すると思われます。
準備するもの
「AQZ NetPlay Input Plugin」は、「Project64 v2.3.2」に付属しています。
そのため、「Project64 v2.3.2」をインストールしたら準備完了です。
準備手順
簡易手順です。詳細については、省略しております。(手順が確立したら載せるかもしれません。)
必要であれば、Discordにて説明いたします。
- 「Project64 v2.3.2」をダウンロードし、インストールします。
https://www.pj64-emu.com/public-releases - プラグインの設定にてインプットプラグインを「AQZ NetPlay v0.20」に設定します。
- エミュレータの設定(ロムフォルダ設定等)、プラグインの設定を行います。
AQZ NetPlay Input Plugin の使い方
インプットプラグインに「AQZ NetPlay v0.20」が設定されている状態でロムを起動すると、オンラインプレイ用のコンソールが表示されます。
コマンドを打つことで各機能を使うことができます。
プレイヤー同士が直接接続するのですが、誰か一人に対してみんなが接続する形となります。
説明用に、接続される人を「ホスト」、接続する人を「クライアント」と呼びます。
ホストとクライアントで必要な操作が異なります。
共通の操作
まずは、プレイヤー名を設定します。
以下のコマンドを実行します。
/name [プレイヤー名]
ホストの操作
ホストは、クライアントからの接続を受け付けるためにポート開放(恐らくTCPのみでOK)を実施します。
ルータ側のポート開放と、OS側のファイアウォールのポート開放が必要です。
ポート開放後、以下のコマンドを実行することで、接続待機状態になります。
/server [ポート番号]
その後、自分のPCのIPアドレスとポート番号の組み合わせをクライアントに伝えます。
クライアントの操作
IPアドレスとポート番号の組み合わせを、ホストから教えてもらいます。
以下のコマンドを実行することで、ホストに接続できます。
※画像内のIPアドレスは例示用の値です。
/connect [IPアドレス] [ポート番号]
ゲームの開始
参加者が揃ったら、以下のコマンドでゲームを開始します。
/start