パーフェクトダークオンラインの実験

パーフェクトダークオンラインの実験

「パーフェクトダークオンライン」とは、Nintendo64のエミュレータを使用して、オンラインで遊ぼうという企画です。
「コンバット・シミュレータ」に限らず「敵対ミッション」「協力ミッション」もできます。

オンラインプレイは未知な部分が多いため、試行錯誤しながらやり方を確立していく必要があります。
また、エミュレータやプラグインはどんどん進化しているため、最新のものは試していく必要があります。
そこで、オンラインプレイの実験を都度行います。

ここでは、オンラインプレイの実験についての内容や手順を資料として記載します。
(都度更新します。実験日等詳細は、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にて説明いたします。

  1. 「Project64 v2.3.2」をダウンロードし、インストールします。
    https://www.pj64-emu.com/public-releases
  2. プラグインの設定にてインプットプラグインを「AQZ NetPlay v0.20」に設定します。
  3. エミュレータの設定(ロムフォルダ設定等)、プラグインの設定を行います。

AQZ NetPlay Input Plugin の使い方

インプットプラグインに「AQZ NetPlay v0.20」が設定されている状態でロムを起動すると、オンラインプレイ用のコンソールが表示されます。
コマンドを打つことで各機能を使うことができます。

プレイヤー同士が直接接続するのですが、誰か一人に対してみんなが接続する形となります。
説明用に、接続される人を「ホスト」、接続する人を「クライアント」と呼びます。
ホストとクライアントで必要な操作が異なります。

共通の操作

まずは、プレイヤー名を設定します。
以下のコマンドを実行します。

/name [プレイヤー名]

ホストの操作

ホストは、クライアントからの接続を受け付けるためにポート開放(恐らくTCPのみでOK)を実施します。
ルータ側のポート開放と、OS側のファイアウォールのポート開放が必要です。
ポート開放後、以下のコマンドを実行することで、接続待機状態になります。

/server [ポート番号]

その後、自分のPCのIPアドレスとポート番号の組み合わせをクライアントに伝えます。

クライアントの操作

IPアドレスとポート番号の組み合わせを、ホストから教えてもらいます。
以下のコマンドを実行することで、ホストに接続できます。
※画像内のIPアドレスは例示用の値です。

/connect [IPアドレス] [ポート番号]

ゲームの開始

参加者が揃ったら、以下のコマンドでゲームを開始します。

/start

PDオンラインカテゴリの最新記事