マルチプレイヤーゲームを作り始めたのですが、経験がないのでいろいろ試してみたのですが、何かがおかしいと感じました。そのため、どのプラットフォーム/ツール/言語/技術を使用するのが最適かについてのアドバイスが本当に必要です。Photon、AppWrap、Skiller、Gamooga などは信じていません。私は、それらが大きくスケールし、価格が高すぎたり、私のニーズに対して大きすぎたりするとは思わない.
最初に、単純化されたゲーム セッション プロセスについて説明します。
- ゲーム セッションを開始する 3 人のプレーヤー
- 各プレイヤーは質問を受け取り、10 秒以内に回答する必要があります。
- プレイヤーが答えたとき、彼は他のプレイヤーによってすでに与えられた答えを見ることができるべきであり(もしあれば)、与えられたらすぐに答えを見ることができるべきです。基本的に、他のクライアントはリアルタイムで回答を受け取る必要がありますが、それは私たちが回答した後でのみです (チートを避けるため)。タイムアウトになった場合、答えなかった人はスコアを獲得せず、次の質問に進みます。
- 勝者を決定し、次の質問に進みます。N ラウンド後にゲーム セッションを終了します。
次に、考慮したいくつかの要件について説明します。
- ゲームは iOS/Android/Web で実行する必要があります。これはHTTPベースにするしかありません。
- 私は本当に楽しかった Google Cloud Endpoints を探しました。iOS/Android/JS SDK があり、Google Cloud Platform には Google BigQuery があり、その他多くの優れた機能があります。しかし、リアルタイムの回答配信が必要なため、それが適切かどうかはわかりません (Channel API はありますが、iOS 用のクライアント SDK はありません。人々はそれほど良くないと言っています)。
- Then I looked for Node.js and long polling (AFNetworking on client side) but it is so hard to manage. I need to serve game state updates to clients (and I need to send deltas). That way I need to track all changes individually for each player. And when player connects I should check if there any changes already; if it is then send right away; if it isn't then listen for 'change' event and then send. In the end code looks so awkward and hard to understand and I don't know how to make it right. There is socket.io which should make things better on the server side but again no iOS SDK for client.
I don't know where to go from here. Any help would be very appreciated.