0

モンキー言語(クロスプラットフォームトランスレーター)でターン制のゲームを作ろうとしています。ゲームはHTML5プラットフォームを使用します。このゲームはオンラインでプレイされ、プレイヤーはお互いに対戦できます(2対2の対戦の場合もあります)。私は最近たくさんの解決策を検討しました、そして私はそれらのうちの2つに立ち寄りました。古き良きXmlHttpRequestと新しいWebSocketは、かなり良いW3Cからの推奨状態にあるようです。私が興味を持ったもう1つのテクノロジーは、プッシュサービスであるPubNubです。このサービスは実際に接続されているすべてのクライアントにメッセージをプッシュし、非常に高速です。しかし、これは後でコストがかかり、送信するメッセージの数に制限があります。つまり、1000の接続と100万のメッセージで月額15ドルかかり、さらに100万のメッセージで+ 1ドルかかり、続行します。実際には3人の俳優がいます サルで書かれたクライアント(HTML5)C#で書かれたサーバー。メッセージをブロードキャストするための言語とPubNubをよく知っているからです。クライアントはサーバーにのみリクエストを送信し、サーバーはメッセージをPubNubに中継し、PubNubはクライアントに送り返します。私はそれらの事実を考慮して頭の中で2つの計画を持っていました:

  1. ゲームはHTML5で書かれていますが、他の言語(例としてAndroid)に移植することもできます。WebSocketを使用している場合、これを処理するために追加のライブラリを取得する必要があり、それにもっと時間を費やしたくないので、それを行うことはできません。だから私は今のところHTML5に焦点を合わせますが、それを移植することは常にオプションです。
  2. ターン制のゲームなので、XmlHttpRequestはこのタスクに適しているようですが、どの時点でですか?1000を超える接続があり、リクエストを送信している場合、それをサポートできますか?各ターンは一意のリクエストですが、チャットメッセージもリクエストとプライベートメッセージであり、プレーヤーデータも取得します(ゲームに参加する前に)。WebSocketよりも優れている点は、Http Getの作成が簡単で、多くのプラットフォームで簡単にサポートされることです。だから、これを選択すれば、明らかにAndroidルートに行くことができます。
  3. ここに記載されているテクノロジー以外のテクノロジーに多くの時間を投資したくありません。
  4. PubNubは最終的にはお金がかかりますが、メッセージをプッシュするのに非常に効率的であるため、PubNubを使用しないとリスクが高くなり、コードをリレーするメッセージを自分で実行する必要があります。

だからここに私の4つの計画。

  1. WebSocketを使用して、AlchemyをC#用のWebSocketServerとして使用します。これは、テストしてすばらしい動作をし、メッセージを中継するためのバックエンドにPubNubアクターがあります。
  2. XmlHttpRequestsを使用して、リクエストゲートウェイに単純なWebAPIを使用します。
  3. 両方で行きます。選択するテクノロジーに応じてクライアントを独立させます。フォールバックとしてXmlHttpRequestを使用し、サーバーが両方の接続をサポートするようにします。PubNubは、ここでも中継アクターであり、すべてを通信させる必要があります。
  4. WebSocketを使用しますが、PubNubは使用しません。

それで、あなたは私に行くように勧めるルートとその理由を教えてください。

ありがとう!

4

2 に答える 2

1

インディー ゲームとマルチプレイヤー オンライン ワールドの PubNub

人々が探索できるようにシミュレートされた世界を構築しているとき、ネットワーキングは困難です。これらのシミュレーションはしばしば考慮されます。PubNub は、すべての正当な理由から、インディー ゲーム開発者にとって最適なソリューションです。インディー ゲームでネットワーキングを有効にするのは、PubNub の 2 つの簡単な機能PUBNUB.publish({...})PUBNUB.subscribe({...}). アプリにネットワーキングを追加すると、マルチプレイヤー ゲームなどを実装できます。HTML5ブラウザー、携帯電話、タブレットなどの間でリアルタイム通知を実装します。すべてのものは、地球上のどこからでもデータを送受信できます。

WebSockets または XMLHttpRequest またはその両方?

PubNub はこの選択を行い、プレーヤーのシステムと機能に適した最適な接続タイプを自動的に検出します。つまり、インディー ゲームは、AndroidiPhoneChrome / Firefox / IEなどを含むすべてのプラットフォームで期待どおりに機能します。これにより簡単になり、存在するさまざまな数のプラットフォームへのトランスポートや配信方法について心配する必要がなくなります。あなたのチームは、魅力的で魅力的なオンライン マルチプレーヤー ゲームを作ることに集中するだけで済みます。

オンライン インディー ゲーム - Server Logic

プレイヤーの進行状況を安全に収集し、ワールドでのアクションと結果を追跡する方法が必要です。また、インベントリとプレーヤーの状態を追跡する必要がある場合もあります。これには2つの素晴らしいサービスがあります。

RoarEngine

最初に、 http: //www.roarengine.com/ RoarEngineをお勧めします。これは、独自のカスタム ロジックを作成することで無限の可能性を秘めた創造性を解き放つスクリプト エンジンを提供するオンライン ホスト ゲーム エンジンです。イベント、チャレンジ、時限メカニズムなど、何でもありです。RoarEngine は、その場で管理できるフル機能のショップ、通貨、ギフトシステムを利用して、プレーヤーの状態に影響を与えるアイテムを作成することで、プレーヤーの相互作用を形成するためのアイテムとギフトの経済も提供します。

パース

ユーザー/プレイヤー セッションを管理するオンライン クラウド ホスト型サービスhttps://parse.com/を強くお勧めします。Parse は、より抽象的で、ゲーム向けに調整されていないオンライン プラットフォームが必要な場合に最適です。これにより、選択した方法でモデルとオブジェクトを定義できます。Parse を使用すると、インフラストラクチャの構築に集中する必要はありません。代わりに、ゲーム ワールドの状態の構築に集中できます。

PubNub HTML5 MMO XKCD ゲーム マルチプレイヤー

HTML5 インディー ゲームを PubNub と組み合わせて使用​​することで、世界中のプレイヤーがリアルタイムで参加できる拡張性の高いゲームプレイを可能にすることを実証したかったのです。このゲームは HTML5 Canvas を使用しており、複数のユーザーが風船のフィギュアで飛び回っています。立ち往生した場合は、気球の男をクリックして幽霊に変身し、木や丘などの致命的な障壁に妨げられずに風景をシームレスに移動できます。しかし、通常の市販のゲーム サーバーでのユーザーのスケーリングには問題がありました。MMO の MMO 部分がどこにあるのか、多くの疑問を残して、最大同時実行数は一度に数人のユーザーにすぎない可能性があります。PubNub はこれを自動化し、セルフホスティング オプションと比較して低コストで実現します。自己ホスト オプションを検討しているチームは、ゲームプレイ用のネットワーク クラスターを維持およびホストする場合と比較して、コストを検討します。

上記のリンクは、PubNub マルチプレイヤー機能を利用した HTML5 Canvas ベースのライブ ゲームを示しています。

于 2012-10-23T18:35:45.987 に答える
0

http://realtime.coをご覧ください-PubNubに似た、より多くの機能を備えたリアルタイムプラットフォームです。

于 2012-10-13T00:40:11.620 に答える