0

だから私は現在、マルチプレイヤーターンベースのカードゲームを開発しています。私はすべてのコアゲームロジックとUIを完了し、複数の電話を介して接続して、マルチプレイヤーにするための最良の方法を見つけようとしています。今のところ、私の唯一のオプションはBluetoothであるように思われます。これは、特にエミュレーターでサポートされていないため、私が調査したところ、非常に貧弱なオプションです。だから私は代替案があるかどうか疑問に思っています。代替案には以下が必要です。

  • プレイヤーが「ルーム」に参加できる本質的に「ゲームロビー」となる機能(Call of Dutyなどの他の多くのマルチプレイヤーゲームのものと同様)
  • APIレベル8以上をサポート
  • 最大6人のプレーヤーを接続します
  • プレイするためにインターネットを必要としません(これは最も重要なものです)
  • 私の側では支払いは必要ありません(サーバーなし)
  • できればエミュレータで簡単にテストできます

ダイレクトWIFIも検討しましたが、API 14が必要なため、Android市場の半分以上でゲームを利用できなくなります。

また、他に選択肢がない場合、マルチプレイヤーBluetoothターンベースのゲーム用のSDKまたはチュートリアルはありますか?また、デバイスをペアリングせずにBluetoothを使用して「ゲームロビー」を開催することも可能ですか?

4

2 に答える 2

0

Bluetooth を使用することは、要件のリストに適合します。また、あなたが除外した Wi-Fi 以外の方法はありません。

私の知る限り、Bluetooth 通信はクライアント サーバー モデルを使用して実装する必要があります。たとえば、1 人のプレーヤーがゲームを開始する必要があり、そのプレーヤーがゲーム ロビーをホストし、他のプレーヤーがそれに接続できます。ホストもおそらくプレイしたいので、メインの「ゲーム エンジン」が 2 種類のプレーヤーと通信できるように実装する必要があります。Bluetooth 経由のリモートとローカル (ホスト自身) です。これはおそらく少しトリッキーですが、実行可能です。

アクティブな Bluetooth 接続の数に制限があるかどうかはわかりません。かなり古い電話 (API バージョン 4) では、同時に 3 つのデバイスが問題なく動作しました。ただ、バッテリーの減りはかなり早かったです。

ペアリングについて... 私が使用していたデバイス (電話ではない) は、サーバー モードで Bluetooth を使用していたため、使用するにはすべてのデバイスとペアリングする必要がありました。同じ論理で、プレイヤーは全員サーバー (ゲームを開始する電話) とペアリングする必要があると思います。

于 2013-03-16T18:45:19.000 に答える
0

あなたの要件を考えると、オプションは Bluetooth と Wi-Fi Direct だと思います。どちらもエミュレータで簡単にサポートされるべきではありません (Wi-Fi Direct を試したことはありません)。

Bluetooth には、最大 7 台のリモート デバイスを接続するマスター デバイスが必要であることに注意してください。Wi-Fi Direct は、知識のある私にとって、より分散化されたアプローチです (マスターがゲームを離れることを決定した場合はどうなるでしょうか?)。

どちらの方法でも、検出可能なデバイスを取得できます。Android 4 を搭載したすべてのデバイスが Wi-Fi Direct を使用するハイブリッド アプローチを検討する価値があるかもしれません。古いデバイスも、パケットをリレーする新しい電話に Bluetooth 経由で接続することにより、Wi-Fi ダイレクトを使用します。

于 2013-03-16T18:55:43.157 に答える