
nesbox.comの立ち上げから1年半以上が経過しましたが、今回はインターネット上で2人でゲームを作るというアイデアがありました。 私たちがどのように作業オプションに来たかに興味があるなら、catへようこそ。
まず、エミュレータの仕組みから始めます。 快適なゲームのためには、毎秒50〜60フレームが必要です。 各フレームについて、2ビットの形式で両方のジョイスティックの状態を送信します。セットビットは、ジョイスティックボタンの1つを担当します。出力では、256x240のスクリーンバッファーがいっぱいになり、サイズが44100/60〜= 735サンプルのサウンド行になります。

ご覧のとおり、インターフェイスは最もシンプルですが、すべてをネットワーク上で機能させるには、最初のプレーヤーのジョイスティックの状態を2番目のプレーヤーに送信し、ジョイスティックの状態を取得してから、音声付きの画面フレームの生成を開始する必要があります。 そして、これは毎秒50〜60回発生するはずです。
最初のプロトタイプは、Flashソケットを介してジョイスティックデータを受信し、両方のクライアントに送信するプリミティブC ++サーバーを使用したスキームでした。 プロトタイプはかなり機能していましたが、 nesbox.comサーバー( ping〜60ms)の近くにいたユーザーはネットワークでプレイできました。 それをオープンソースに入れて、人々自身がすぐ近くのサーバーでそれを組み立てて実行するという考えがありました。 しかし、アドビはここですべての問題を解決するRTMFPプロトコルとCirrusテクノロジーをリリースし、 P2Pを介して両方のエミュレーターを接続できるようになり、pingの問題はなくなりました。 少なくとも同じ都市内の人々が快適に一緒に遊ぶことができます。

Flash P2Pの使用は基本的であり、プロセス全体はハブで既に説明されています。AdobeFlash Playerとサーバーの参加なしでのストリーミングデータの転送については、繰り返しません。 一般的な意味はこれです。Cirrusサーバーに接続し、256ビットのIDを取得して、相互に送信します。 これで、エミュレータに実装されたピアツーピアデータを送信できるようになりました。
この技術をテストし、インターネットで一緒にプレイするには、nesbox.comの16,000個のROMのいずれかを選択してエミュレーションを開始することをお勧めします。 すべてのRomaが機能しているわけではないため、 検証済みのタグが付いた緑色のRomaを選択してください。

インターネット経由で2人のプレイヤーを選択します 。

受信したURLをクリップボードにコピーして、2番目のプレーヤーに送信します。 すべてがネットワークの構成に問題がない場合、数秒でゲームが開始されます 。そうでない場合は、 http://cc.rtmfp.netで接続をテストできます 。
私の夢が実現しました(私だけでなく、多くの人がそれについて尋ねました)。今、あなたは友人とネットワーク上のブラウザでダンディなおもちゃを遊ぶことができます!
以下は、2人のプレーヤーの人気ゲームへのリンクです。 コメントであなたのすべての質問と提案に答えます。
バトルシティ

Battletoads&Double Dragon-究極のチーム

コントラ

チップアンドデールレスキューレンジャーズ
