※今後二人プレイでの攻略が必要になるケースがもしかしたらあるかもしれないので一応作成。ただしNESエミュレータによるネットプレイは現状それほど安定しているとはいえないようです。また、筆者の知識が貧弱なためこのページの内容も誤りを含んでいる可能性があります。
配信とネットプレイを同時にやる場合は、とりあえずネットプレイに耐える帯域を確保することを考えた方がいいと思います。元々の回線スペックが高い方が望ましいのはもちろんですが、なるべくネットワーク的に近い人とプレイする(居住地域を大まかに晒すなどする)とか、配信の接続人数を普段より絞るとかの工夫も必要かも。また、一旦同期がずれてしまうと基本的に回復不可なので、あまり時間が掛かるゲームではやらない方がいいと思います。
ネットプレイの方法は大まかに言って以下のように分けられます:
- エミュ自体のネットプレイ機能を使う
- Kaillera対応エミュを使う
NNNester系ではディスクセーブ=ROMイメージなので、セーブデータの引継ぎを行う場合はVirtuaNESを使った方がいいと思います。
VirtuaNESのネットプレイ機能を使う
VirtuaNESのバージョン、及びROMの内容が完全に一致していないとネットプレイができません(一応できるけど安定しません)。また、事前に両者のエミュレータ設定を一致させておく必要があります(両者デフォに戻してしまうのが簡単。コントローラー設定は変えなくても大丈夫です)。あと、QSデータがある場合は誤爆防止のため消しておいた方が無難です。
サーバーになる人はポート開放が必要です。TCP/UDP両方とも同じ番号のポートを開放すること。
レイテンシはよほど回線の相性が良くない限り9を選択するのが無難なようです(ただし9だとラグが大きくなるためアクションゲームなどには向きません。帯域に余裕があれば4~6程度までいけるかも)。
レイテンシはよほど回線の相性が良くない限り9を選択するのが無難なようです(ただし9だとラグが大きくなるためアクションゲームなどには向きません。帯域に余裕があれば4~6程度までいけるかも)。
チャットが可能ですが、UDPで通信しているためまれにメッセージが届かないケースがあるようです。
とりあえず事前に
VirtuaNES公式ページ
のマニュアルには目を通しておくこと。
Kaillera対応エミュを使う
NNNesterJやNestopiaが対応しています。導入までの手順は下記か各エミュの公式ページなどを参照してください。
Kailleraについては
ネット対戦ページ(仮)
を参照。Kaillera本体(kailleraclient.dll)と日本語化パッチも同サイトで配布されています。Kaillera本体はMAME32をインストールしてそこから抜き出しても可ですが、必ず Kaillera 0.9 であることを確認してください。また、日本語化しないとチャットメッセージが一部文字化けするので必ず日本語化パッチを当てること。
NNNesterJの場合、DISKのゲームはデータベースファイルを別個にインストールする必要があります。
- NNNesterJ公式ページ の"etc"からデータベースファイルをダウンロード、解凍
- 出てきた disksys.dat を ingredients.dat (設定によっては違う名前になるかも)にリネームしてNNNesterJフォルダに突っ込んでNNNesterJを起動
- プレビューでフォルダ設定を行った上でチェック実行
とすることで、Kailleraでのネットプレイが可能になります。
Skypeについて
協力プレイの場合はプレイヤー間の意思疎通のためにSkypeを使うという手もあります。
Skype FAQ
によると、Skypeが通話時に使う帯域幅は3~16Kbps程度とのことなので、回線負荷についてはおそらく問題にならないと思います。
ただ、環境によっては配信しながらSkypeを使用するとサウンドデバイス周りでエラーが出ることがあるようです。筆者の環境では特に何もしなくてもWMEでのエンコード中にSkypeが使えてましたが、一応事前にチェックする必要はありそうです。
サーバーを建てる場合
- Kaillera server も何種類かありますが
本家
の「Kaillera server v0.86 (Windows binary)」が良いでしょう。
ポートさえ開けられれば難しくありません。
エミュレータオンライン や ネット対戦ページ(仮) を見ながら[kaillerasrv.conf]を設定してください。
Nestopiaの導入と設定
- Nestopia 1.40(公式サイト)(Downloads→Nestopia v1.40 Binary)
- 日本語化ファイルサイト (日本語化パッチ→NES→Nestopia 1.40)
- Open KailleraJP 0.5r1(←日本語化の必要はありません)
- ダウンロードしたOpen KailleraJP 0.5r1の「kailleraclient.dll」を
Nestopia 1.40binフォルダに入れ上書きする
- 日本語化。「japanese.nlg」をNestopiaの「language」フォルダに入れます
- Nestopiaを起動し[Option]→[Language]→[Japanese]→[OK]→[はい]→[はい]で、一度終了し再起動します。
- コントローラーの設定をします。[オプション]→[インプット]
- [すべて設定]もしくは[設定]をクリックするか割り当ての各所をダブルクリックしてボタンを割り当てます
ついでに種類のところの「Emulation」,「File」,「Machine」などのショートカットの割り当ても確認しておきましょう
- ディスクシステムの設定をします。[本体]→[周辺機器]→[ディスクシステム]→[オプション]
- [DISKSYS.ROM]のパスを設定。
- 4人対戦アダプタを[ファミコン]に設定。
- Kailleraサーバーに接続するための設定をします。サーバーに接続するには何かしら「ゲーム一覧」にROMファイルを登録する必要があります。[ネットプレイ]→[接続]
※[接続(C)]がグレーアウトし選択できない場合
デフォルトの「kailleraclient.dll」をOpen Kailleraのものと入れ替えると接続できなくなってしまうことがあるようです。
その場合は Microsoft Visual C++ 若しくは .NET Framework (どのバージョンかは不明)をインストールし
Windows Update をしてみてください。
- ドラッグ&ドロップで入れるか、[追加]ボタンを押してゲーム一覧に登録します
(サーバーに接続するだけならとりあえずなんでもかまいません)
実際にネットプレイをする場合は、ここに登録するROMの名前を全員が同じにする必要があります - 登録できたら[起動]ボタンをおします
起動したら
- [ユーザー名]のところにハンドルネームを入力します。
- [IPを入力して接続]を押してIPを入力するか、何度も訪れるような鯖でしたら
[登録]の方を押してIPを入力します - 入力したIPを選択しダブルクリックまたは[接続]を押します
その他の設定
- [退出時のメッセージ]はお好みで変更しましょう
- [接続速度]はとりあえず[LAN]のままで
- [モードチェンジ]は[Client]のまま
(P2Pモードにすると2Pまで限定でラグなしでのプレーが出来るとのことですが、Clientモードでもほとんどラグを感じないため、まだ試してみてません)
ネットプレイに参加する
- Nestopiaではネットプレイに参加するときにファイル名が同じである必要があります
参加する人達はファイル名を何にするか確認しあい、一度kaillera通信を終了させ「ゲーム一覧ゲームリスト」に登録し再入室してください - まず誰かが右クリックからファイルを選びプレーするゲームを選択し部屋を作ります。
参加者はそのゲームを選択し[参加]を押すかダブルクリックで参加してください- プレーせずただ視聴するためだけの参加も可能です。これを利用すれば代理配信をすることも可能となります。また1Pと3Pおよび2Pと4Pのコントローラーが共通ですので交代してプレーすることもできます。
ただし、参加する人数が増えば増えるほど同期ズレを起こすリスクが上がる為むやみに大人数が参加することは好ましくありません。
- プレーせずただ視聴するためだけの参加も可能です。これを利用すれば代理配信をすることも可能となります。また1Pと3Pおよび2Pと4Pのコントローラーが共通ですので交代してプレーすることもできます。
その他諸注意
- ROMのバージョン、およびセーブデータをあわせると同期ずれが発生しにくいようです。
同名ソフトでも出荷時期によりバージョンが違うことがあります。
カートリッジソフトの場合、「表示」>「イメージ情報」で確認できる「CRC」、「SHA-1」が同一かどうかを。
ディスクソフトの場合は、バージョン違いはそんなに多くありませんが、セーブデータがFDSファイル自体に書き込まれてて違う可能性があるため、MD5検査ソフトなど同一かどうかをで確認するといいと思います。 - Nestopiaではネットプレイ時、QS(状態の保存)はできますがQL(状態の復元)ができないので同期ズレを起こした場合 復旧することは不可能となります。ただし、ゲーム内で普通にセーブができる場合はセーブデータを合わせることで再開できますので、こまめにセーブをするようにしましょう。
- SSはv1.40から取れるようになりました。
1P以外のコントローラーが効かない場合
- ポート2の人はパッド2に、ポート3の人はパッド3に といった感じに自動的に設定されてしまっていると思いますので
全員パッド1に設定してみてください。
2Pの人は[ポート2]→[パッド1]
3Pの人は[ポート3]→[パッド1]
4Pの人は[ポート4]→[パッド1]
3Pの人は[ポート3]→[パッド1]
4Pの人は[ポート4]→[パッド1]