私は多かれ少なかれプラグインの必要条件なしで、純粋なブラウザベースのゲームとして何らかのマルチプレイヤーRPGを作りたいと考えています。私はかなりの研究をして、次の計画に着きました。私がここで参照している技術のいくつかは、すべてのブラウザ(特にIE)で採用されているわけではないことを認識していますが、現時点でそれを受け入れる意思があります。ブラウザのマルチプレイヤーネットワーク戦略 - これは実行可能なソリューションのようですか?
また、私はMMOはどんな場合でも努力するという崇高な目標ですが、これまで同様の方向で小さなプロジェクトをたくさん行っていたことを知っています。私はこれを本当に良いものにしたいと思っています。最終的に行く。
CLIENT: WebGLの/ Javascriptを(おそらくthree.js)
だから、HERESにラフアウトライン、私は誰もがこのような構成で見ることができる明白な問題を聞いてみたいです。ブラウザのローカルストレージを使用してゲームアセットを保持し、ブラウザのキャッシュを削除することでこれを削除します。
メッセージング:利便性と小型化のために、google protocol buffersを使用して、クライアント/サーバ間の エンコードメッセージ。メッセージ配信はWebSocketを経由します。
ゲームサーバー: はPythonでgeventの上で実行されている(多くのconcurrentsに対処するための良い解決策になりそうです)。データベースの のMySQL、PHPは、ゲームサーバとDBわたってるしき演技:DBサーバがデザインhere:
に基づいて、シャードパターンを使用して構築されるだろう。
DETAILS: 私はゲームサーバはおおよそ毎秒15〜20回の個々のクライアントを更新し、ギャップを埋めるために、クライアント側の予測を使用していたいと考えています。クライアントは30 fpsの範囲内でキー入力/メッセージをサーバーに送信することができます。私はターンベースではなく、可能な限りリアルタイムに近い経験をすることを好む。私の主な関心事は、WebSocketのTCPベースのプロトコルです。これですべてが不可能になりますか?
このソリューションは、現実的なようですか?
ありがとう、
Ah!まあそれは私がまっすぐに知っていないことは、5メガバイトは非常に制限要因ですので、ストリーミングのいくつかの並べ替えが順番になるだろう。PHPのことについては、DBトランザクションの負荷をゲームサーバーから取り除いて、できるだけ早くクライアントにサービスを提供し、定期的にデータのまとまりを消していくことが重要であると考えましたDBに書かれたデータをフォーマットして書き込むことなく、 – bharling
CouchDBを見てみるとすぐにREST呼び出しをサポートします。 – Anders