「ネットプレイの配信」の編集履歴(バックアップ)一覧に戻る

ネットプレイの配信 - (2008/05/07 (水) 22:28:41) のソース

※今後二人プレイでの攻略が必要になるケースがもしかしたらあるかもしれないので一応作成。ただしNESエミュレータによるネットプレイは現状それほど安定しているとはいえないようです。また、筆者の知識が貧弱なためこのページの内容も誤りを含んでいる可能性があります。

配信とネットプレイを同時にやる場合は、とりあえずネットプレイに耐える帯域を確保することを考えた方がいいと思います。元々の回線スペックが高い方が望ましいのはもちろんですが、なるべくネットワーク的に近い人とプレイする(居住地域を大まかに晒すなどする)とか、配信の接続人数を普段より絞るとかの工夫も必要かも。また、一旦同期がずれてしまうと基本的に回復不可なので、あまり時間が掛かるゲームではやらない方がいいと思います。

ネットプレイの方法は大まかに言って以下のように分けられます:
・エミュ自体のネットプレイ機能を使う
・Kaillera対応エミュを使う

NNNester系ではディスクセーブ=ROMイメージなので、セーブデータの引継ぎを行う場合はVirtuaNESを使った方がいいと思います。

**VirtuaNESのネットプレイ機能を使う
VirtuaNESのバージョン、及びROMの内容が完全に一致していないとネットプレイができません。また、事前に両者のエミュレータ設定を一致させておく必要があります(両者デフォに戻してしまうのが簡単)。あと、セーブデータやQSデータがある場合は全部消しておいた方が無難です(セーブ必須のゲームは除く)。

サーバーになる人はポート開放が必要です。TCP/UDP両方とも同じ番号のポートを開放すること。
レイテンシはよほど回線の相性が良くない限り9を選択するのが無難なようです(帯域に余裕があれば4~6程度までいけるかも)。

チャットが可能ですが、UDPで通信しているためまれにメッセージが届かないケースがあるようです。

とりあえず事前に[[VirtuaNES公式ページ>http://virtuanes.s1.xrea.com/]]のマニュアルには目を通しておくこと。

**Kaillera対応エミュを使う
NNNesterJなどが対応しています。導入までの手順は各エミュの公式ページなどを参照してください。

Kailleraについては[[ネット対戦ページ(仮)>http://members.at.infoseek.co.jp/jumphero2001/]]を参照。Kaillera本体(kailleraclient.dll)と日本語化パッチも同サイトで配布されています。Kaillera本体はMAME32をインストールしてそこから抜き出しても可ですが、必ず Kaillera 0.9 であることを確認してください。また、日本語化しないとチャットメッセージが一部文字化けするので必ず日本語化パッチを当てること。

NNNesterJの場合、DISKのゲームはデータベースファイルを別個にインストールする必要があります。
・[[NNNesterJ公式ページ>http://www.emulation9.com/nnnesterj/]]の"etc"からデータベースファイルをダウンロード、解凍
・出てきた disksys.dat を ingredients.dat (設定によっては違う名前になるかも)にリネームしてNNNesterJフォルダに突っ込んでNNNesterJを起動
・プレビューでフォルダ設定を行った上でチェック実行
とすることで、Kailleraでのネットプレイが可能になります。

//-&link_anchor(A){Kaillera(Anti 3D Master) + nnnsterJ 使用による通信対戦案内}
-&link_anchor(B){Open KailleraJP 0.5r1 + Nestopia 1.39 使用による通信対戦案内}

**Skypeについて
協力プレイの場合はプレイヤー間の意思疎通のためにSkypeを使うという手もあります。[[Skype FAQ>http://www.skype.com/intl/ja/help/faq/technical.html]]によると、Skypeが通話時に使う帯域幅は3~16Kbps程度とのことなので、回線負荷についてはおそらく問題にならないと思います。

ただ、環境によっては配信しながらSkypeを使用するとサウンドデバイス周りでエラーが出ることがあるようです。筆者の環境では特に何もしなくてもWMEでのエンコード中にSkypeが使えてましたが、一応事前にチェックする必要はありそうです。
#co(){----
  &aname(A,option=nolink){&size(15){&bold(){Kaillera(Anti 3D Master) + nnnsterJ 使用による通信対戦案内}}}

&size(16){&color(red){ただいま更なる安定化のためさらに色々テスト中です。}}

** 使用ソフト

・NNNsterJ V.0.23
・Anti 3D Master 1.1 + 日本語化パッチ (内部的にはKaillera 0.9)

** 接続設定

・まずnnnsterJ(以下NJ)よりKaillera(以下KI)を起動します。

↓Kailleraクライアントプログラムの場所
#ref(解説1.png)


・次にKailleraクライアントプログラムから通信プレイに使うサーバーを指定し、ログインします。

↓Kailleraクライアントプログラムのウインドウ
#ref(解説2.png)


①・・・起動後、本プログラムは膨大な数の鯖チェックをするよ!
   起動まもなくこのボタンで鯖リストチェックを停止しよう
   ボタン名が「更新」なら停止しているはずだお

②・・・そして停止後にここをクリックして
   【接続するサーバのIPアドレスかドメイン名のいずれか】と【:ポート番号】を入力

③・・・これが後述されている<KIの接続タイプ>ですお( ^ω^)

↓Kailleraサーバーへログインした時に表示されるウインドウ
#ref(解説3.png)


赤丸でくくった部分がPing値と呼ばれるネットワークのレスポンスの早さを示す数値だお
これは小さければ小さいほど遅延が少ない事を表しているんだお( ^ω^)

・このときに表示される<Ping値>により、<NJの通信フレーム間隔>および、<KIの接続タイプ>を変更します
※[NJ > オプション > 動作設定 > 「Page1」タブ > Kailleraの通信フレーム間隔]
※[KI > 右下にある「接続タイプ」]

↓Kailleraの通信フレーム間隔設定
#ref(解説4.png)


「オプション」→「動作設定」→「Page1」内のこのへんにあるお

|Ping値|NJ通信フレーム|KI接続タイプ|備考|
| ~15ms|1|Lan|まずありえませんw|
|16~32ms|2|Excellent|これもよっぽどじゃないと無理w|
|33~49ms|3|Good|ほとんどの人がこれだと思う|
|50~66ms|4|Average|ちょっと重め|
|67~83ms|5|Low|結構きつい|
|84~99ms|6|Bad|かなりきつい|
|100ms~|-|-|(;ω;)√~~~|

多分、個々に設定しても大丈夫だとは思いますが、できれば最低(表の下のほう)の人にあわせたほうがいいでしょう。
※もしかしたら、NJ通信フレーム間隔はこの値に-1したのが正確かもしれません。要検証。

** クイックセーブ・ロードの誤爆回避

・[NJ > オプション > コントローラー設定 > 「Ext2」タブ]に、クイックセーブ・およびロードのショートカットがあります。
・正直、このページにある設定は使わない(むしろ使ってはいけない)ので、右下の「クリア」を押しておきましょう。

↓コントローラー設定について
#ref(解説7.png)


** 同期ずれ後の再開方法について

・まず、プレイ前に[Ext > オートステートセーブ&ロードにチェック]にチェックを入れておきましょう。
#ref(解説6.png)

・すると、プレイ終了時に「NJのフォルダ\nnnssave」の中に自動でステートセーブが作られます。
・代表の一人が、このファイルを全員に配りましょう。
・(☆)配られた人は「NJのフォルダ\nnnssave」のステートセーブを配られたデータに置き換えましょう。(ファイル名を自分用に変更するのを忘れずに)
・全員が置き換えたのを確認したらゲームを開始します。
・すると、先ほど終了した時点から全員が開始できます。
・ただし、開始のタイミングによっては同期ずれが発生します。
・全員の状態をチャットで確認し、全員の同期があうまで根気よく(☆)地点から再試行してください。
※再試行のとき1Pさんも自分のデータを他全員とあわせるのを忘れずに!

**プレイ時の注意点

・ゲームを開始してからは、いかなるウインドウも基本的に動かさない方が良い
(特に自分や他のプレイヤーが操作している間は同期ズレの要因になります)
・バックグラウンドで動作するプログラムは少なければ少ないほど良い
(アンチウイルス系など必要最小限だけが望ましいです)
・カイレラクライアントによるチャットも、他プレイヤーの操作時はご法度らしいです
(チャットは出来るだけプレイヤー全員の手が止まったときにしようね( ^ω^))
 例えば、チャットするタイミングをプレイヤーのターンが1周した時に手を止めて行い、
 再開する時は1Pがその宣言をする、なんて方法が思いつきました

**ぼやき

SSを入れてみましたけど、文章との整合性がうまくまとまりませんでした><
説明上手な方、どなたか修正頂けると幸いです><

あとNJの通信フレーム間隔はどうやらダメ機能っぽいとのこと。
参考:http://www.emulation9.com/nnnesterj/doc/page1.htm 
どうにもうまくいかなければ「1」で固定でも大丈夫かも。
}
----

  &aname(B,option=nolink){&size(15){&bold(){Open KailleraJP 0.5r1 + Nestopia 1.39 使用による通信対戦案内}}}
  &size(14){&color(red){&bold(){(現在もっとも安定していると思われる組み合わせ)}}}


** 使用ソフト
-&blanklink(Nestopia 1.39(公式)){http://nestopia.sourceforge.net/}(Downloads→Nestopia v1.39 Binary)
--[[日本語化ファイル>http://shuuhen.mydns.jp/uploader/src/up0640.zip]](スレ住民がとりあえず作成したバージョン。本家が更新されたらそちらに移行して下さい)
-&blanklink(Open KailleraJP 0.5r1){http://www.mediafire.com/?04jlmocyxwm}

-&blanklink(Nestopia 1.36(日本語化パッケージ適用済)){http://www.mediafire.com/?fypc8vmd5hd}(旧安定バージョン)

** 設定
&color(blue){説明画像は1.36時のものですが、1.39でも同様なので、読み替えてください。}

#ref(解説B01.PNG)
-ダウンロードしたOpen KailleraJP 0.5r1のkailleraclient.dllを&br()Nestopia 1.39binフォルダに入れ上書きする


#ref(解説B07.PNG)
-コントローラーの設定をします&br()Nestopiaを起動し[オプション]→[インプット]


#ref(解説B03.PNG)
-[すべて設定]もしくは[設定]をクリックするか割り当ての各所をダブルクリックしてボタンを割り当てます


#ref(解説B08.PNG)
-Kailleraサーバーに接続するための設定をします&br()サーバーに接続するには何かしら「ゲーム一覧ゲームリスト」にROMファイルが入っていないといけません&br()[ネットプレイ]→[開始]


#ref(解説B05.PNG)
-ドラッグ&ドロップで入れるか、[追加]ボタンを押してリストに一覧に登録します&br()(サーバーに接続するだけならとりあえずなんでもかまいません)
-登録できたら[起動]ボタンをおします


#ref(解説B06.PNG)
起動したら
-[ユーザー名]のところにハンドルネームを入力します。
-[IPを入力して接続]を押してIPを入力するか、何度も訪れるような鯖でしたら&br()[登録]の方を押してIPを入力します
-入力したIPを選択しダブルクリックまたは[接続]を押します

その他の設定
-[退出時のメッセージ]はお好みで変更しましょう
-[接続速度]はとりあえず[LAN]のままで
-[モードチェンジ]は[Client]のまま&br()(P2Pモードにすると2Pまで限定でラグなしでのプレーが出来るとのことですが、Clientモードでもほとんどラグを感じないため、まだ試してみてません)

** ネットプレイに参加する
-&color(red){Nestopiaではネットプレイに参加するときにファイル名が同じである必要があります}&br()参加する人達はファイル名を何にするか確認しあい、一度kaillera通信を終了させ「ゲーム一覧ゲームリスト」に登録し再入室してください
-まず誰かが右クリックからファイルを選びプレーするゲームを選択し部屋を作ります。&br()参加者はそのゲームを選択し[参加]を押すかダブルクリックで参加してください
--プレーせずただ視聴するためだけの参加も可能です。これを利用すれば代理配信をすることも可能となります。また1Pと3P・2Pと4Pのコントローラーが共通ですので交代してプレーすることもできます。ただし、参加する人数が増えば増えるほど同期ズレを起こすリスクが上がる為むやみに大人数が参加することは好ましくありません。

** Nestopia使用にあたっての注意
Nestopiaはネットプレイ時にはさまざまな事が制限されてしまいます。主には
-QLができない
-SSがとれない&br()などがあります。&br()QS(状態の保存)はできますがQL(状態の復元)ができないので同期ズレを起こした場合 復旧することは不可能となります。ただし、ゲーム内で普通にセーブができる場合はセーブデータを合わせることで再開できますので、こまめにセーブをするようにしましょう&br()またNestopiaのSS機能が使用できないので、外部ソフトを利用するかQSしておき配信後にネットプレイではない状態でクリアしてSSを撮る必要があります
--外部ソフトを使用するのであれば、多くを試したわけではありませんが&blanklink(KIOKU){http://www.vector.co.jp/soft/winnt/art/se430226.html}というソフトが使いやすかったです
---Nestopiaの[表示]→[表示]で[ステータスバー]を非表示にする
---KIOKUの設定でサイズを 256Px × 224Px にしウィンドウ内部をホットキーにて保存するように設定する&br()&color(red){(SS撮影時はNestopiaをアクティブウィンドウにするのを忘れないように注意してください)}


  &size(13){&color(blue){&bold(){特に、普段配信したくてもPCスペック的に厳しいという方は導入を検討してみてはいかがでしょうか。}}}
  &size(13){&color(blue){&bold(){配信する前にネットプレイに慣れておくのも大切です。気軽に参加し、みんなでワイワイ練習しましょう!}}}

----
記事メニュー
目安箱バナー