リアルタイム パフォーマンスを備えたマルチプレイヤー ゲームを開発する必要があります。これは世界中 (アメリカ、ヨーロッパ、アジアのサーバー) で機能し、膨大なトラフィックをサポートする必要があります。ホスティングに Google Cloud サービスを使用する。
Jam with Chrome、Chrome Maze、Cube Slam などのリファレンスを考えています。
ゲーム :
- 2人でレースに挑戦
- 2 人のプレイヤーの進行状況を同時に表示する必要があります
- 各試合は約30〜45秒続く可能性があります
ホスティング:
明らかに、Web サイトを AppEngine でホストし、自動的にスケーリングしますが、リアルタイム サーバー用の 2 つのソリューションについて考えています。
Compute Engine で websocket サーバーを使用
する Jam with Chrome、Maze などで行ったように、
独自の websocket サーバーを開発し (技術は未定)、ヨーロッパ、米国、アジアのデータセンターにデプロイし、スケーリングを処理し、それらの間で同期し、サーバーのレイテンシの問題を計算します。しかし、
時間が非常に短く、今のところ管理システムとネットワークの担当者がいないため、技術的にかなり困難です。または Channel API
を使用する Websocket プラットフォームではなく、リアルタイムのパフォーマンスが低いことを理解しています。
しかし、私たちと私たちの時間にとっては、はるかに簡単で安全です.
ですから、私たちもそれについてもっと知りたいと思っています。
いずれにせよ、リアルタイムのように見せるために、フロント エンドでいくつかのグラフィカルなトリックを使用できると考えていますが、遅延が 100 ~ 500 ミリ秒か、500 ミリ秒~ 10 秒かによって異なります。
いくつかの質問 :
- さまざまなソリューションのレイテンシ範囲の値はどのようになりますか?
(Jam w/Chrome は GCE で 100 ミリ秒になりましたが、Channel API は数秒に達することができますか?) - チャネル API サーバーは高トラフィックをどのように処理しますか?スケーリングはどのように機能しますか?レイテンシーが非常に高くなる可能性はありますか? (Channel docs にそれに関する情報はありませんか?)
- フランスの誰かがアメリカの誰かと遊んでいて、別のサーバーに接続して同期を待っている場合、どう対処すればよいですか?
- 共有するアドバイスや経験はありますか?
- 興味深い読書や視聴はありますか?(いくつか見られましたが、あまり正確ではありません)
- 他の解決策はありますか?
助けになるコメントをありがとう!
編集:
- 2 人のプレイヤーのみが接続され、別のワールド ゾーンからの可能性があり、ブロードキャストは必要ありません。
- サーバー側の処理を回避するためのフロント サイドのトリックをいくつか見つけることができました。これは 2 人のプレイヤー間のレースなので、実際には彼らの進行状況を比較する必要があります。実際に勝つものがないため、実際の勝者の解像度はそれほど重要ではありません。これはより楽しいものです。