Bluetooth対戦とゲームサービス対戦。

1月2日の「はこ。」改訂に続いて、本日、「対戦! 集中力配分テスト」についても、Google Playゲームサービスを用いた、リアルタイム型マルチプレイヤー対戦を実装しました。

 

はこ。

https://play.google.com/store/apps/details?id=org.wisterina.android.hako

 

対戦! 集中力配分テスト

https://play.google.com/store/apps/details?id=org.wisterina.android.vscdtest

 

なお、Goole Playゲームサービスについては以前に和訳済み。


Google Playゲームサービス 和訳 [Android・開発] | Google Playゲームサービス 和訳 [Android・開発]

 

Bluetooth対戦とゲームサービス対戦。

さて。Bluetooth対戦と、Google Playゲームサービスのリアルタイム型マルチプレイヤー対戦の利点と欠点について、それぞれリスト化したいと思います。

 

Bluetooth対戦の良いところ。

  • ゲームサービスでは、Google+へのログインが必須だが、Bluetooth対戦では端末に Bluetooth機能が搭載されてさえいれば実現する。
  • ゲームサービスでは、WiFi接続していなければパケット代がかかる場合がある。Bluetoothの場合は、無料。
  • ゲームサービスの遅延(1~2秒ほど)に比べて、Bluetoothは遅延が少ない(0.1秒ほど)。
  • ゲームサービスの場合、あらかじめ Google Play Developer Consoleにて各種の設定を行う必要があるが、Bluetoothの場合は、開発アプリを正しく実装しさえすれば動作する。
  • ゲームサービスの場合、開発者登録($25)をしなければ恐らく使用することができない。
  • ゲームサービスの場合、複数の端末に加えて、複数Googleアカウントを必要とする。
  • ゲームサービスの場合、Android 2.3以上が必要となる。

 

Google Playゲームサービスの良いところ。

  • Bluetoothでは 1対1対戦しかできない。ゲームサービスでは最大 5人で対戦することができる。
  • Bluetoothではあらかじめペアリングを必要とする。端末を検索する場合には基本的に端末名が表示される。ゲームサービスは、Google+のユーザ名が表示されるため、ユーザにとって分かりやすい。
  • Bluetoothではあらかじめペアリングを必要とする。ゲームサービスの場合は、Google+でフォローする必要があるが、手続きが簡単。
  • Bluetooth対戦はソケット通信で実装しているため、連続してデータを送信した場合、受信側でデータが連結されてしまう場合がある。ゲームサービスでは基本的にはそのようなことは起こらない。

 

ゲームサービスで困るところ。

  • Bluetooth対戦ではデータの受信順序は送信順序と同じだが、ゲームサービスの場合、通信方法によってはデータの送信順と受信順が異なる場合があることに注意する必要がある。
  • マルチプレイヤー対戦を実現する場合、1対1対戦のときのゲームのルールを再定義する必要があるかもしれない。
  • マルチプレイヤー対戦を実現する場合、1対1対戦で想定していた画面まわりを修正する必要があるかもしれない。
  • Bluetooth対戦では、通信距離がせいぜい 10メートルのため相手の声が届く範囲での対戦となる。ゲームサービスは遠距離対戦ができるため、その場合に声が届かない。ゲーム内で何か対応する必要があるかもしれない(例えば、ゲームの終了や異常終了を検知する仕組みなど)。