Pokémon GO Plus(ポケモンGOプラス)とは何か? 予想編


※レビュー編を書きました(9/17)
http://d.hatena.ne.jp/windbell/20160917#p1


以下は妄想なので、閉じておきます。


明日発売のPokémon GO Plus(ポケモンGOプラス)とは何なのかを考えてみた。
※以下は現在わかっている情報を元に私が妄想した内容なので、実際のデバイスの仕様とは異なる可能性があることをあらかじめ承知の上お読みください。
※現バージョンのソースのハック等はしていません。なので単なる妄想です。


参考:Pokémon GO Plus|『Pokémon GO』公式サイト
http://www.pokemongo.jp/plus/


上記サイトから基本情報をまとめると、以下のようなデバイスであることがわかる。

  • BLE(Bluetooth Low Energy)でスマホと接続するBLEデバイスである
  • 『Pokémon GO』がバックグラウンドで動作中のときも接続され続けるのでスマホを手に持たずに遊べる
  • 『Pokémon GO』がバックグラウンドで動作中も、タマゴを孵したり、相棒ポケモンのアメを貰うための”歩いた距離”は反映される
  • 近くにポケモンが現れると「Pokémon GO Plus」本体が振動し、ランプが緑に点滅する。ボタンを押すとモンスターボールを投げる。捕獲の結果はランプの色・点滅・振動パターンで判別が可能。
  • 「おこう」の効果で出現するポケモンには反応しない
  • ポケストップに近づくと「Pokémon GO Plus」本体が振動し、ランプが青く点滅する。ボタンを押すと、道具を手に入れることができる
  • スマートフォンがスリープ状態の間に「Pokémon GO Plus」を使って行ったことは、「ぼうけんノート」で確認できる


まず、3,500円という値段から、GPSを搭載しているとは考えにくい(仮定)。
よって、
・近くにポケモンが現れると振動
ポケストップに近づくと振動
といった<何かに近づいたことを判定する処理>は、スマホ側で行うものと考えられる。
これは、スリープ状態のスマホでも、(電話や音楽プレイヤーなどの常駐系アプリのように)『Pokémon GO』がバックグラウンドで動作し続け、またそれによって、ネットワーク通信やGPS情報取得動作が定期的に行われることを意味する。


バックグラウンドで動作し続ける『Pokémon GO』は、定期的にGPSを監視し続け、周囲のポケモンポケストップの距離を判定し、それらと十分に近づいた時、それをBluetooth経由でPokémon GO Plusへと通知する。
通知を受けたPlusは、その内容によって、あらかじめ規定されたランプの明滅・バイブの振動といった動作を行う。
あるいは内容によって規定された動作等は存在せず、単に指示されたランプの明滅・バイブの振動を行う。
また、プレイヤーがPlusのボタンを押した時、それをBluetooth経由でスマホ本体へと通知する。


以上の推測から、Pokémon GO Plusとは、単なるBluetooth接続のリモコン的なデバイスと予想する。
Pokémon GO Plus自体には、特にGPS/ジャイロ等の機能は存在せず、単なるリモートランプ・バイブ・ボタンの機能をもった単純なデバイスなのではないかと思われる。


以下は、現在のPlusに対する疑問点とその予想。

ポケモンに投げるモンスターボールの種類は何なのか?

おそらく種類の指定はできないと思われる(できても良いのだがそこまでの機能が現在のアプリで実装されてるとは思わない)。
推測だが、モンスターボール>スーパー>ハイパーの順で自動で消費していくものと思われる。

→現在の所、モンスターボールのみの模様。モンスターボールが切れても、スーパー、ハイパーは使用されないらしい。

ポケモンが湧いた時、ボールがないときはどうなるのか?

ボールがなくなると、それを示すランプ・振動の挙動が行われるか(もしくは失敗の挙動になるか)、あるいはポケモン出現イベント自体が無視されるようになると思われる。
#この辺りは明示されていないので、おそらく「投げても失敗」の挙動を示すと予想する

モンスターボールが切れると、「ボールがなくなりました」的なメッセージが出るらしい。

ポケストップでアイテムを取得した際、アイテムがいっぱいの時はどうなるのか?


おそらく「アイテムがいっぱい」であることを示すランプ・振動の挙動が行われるか、何もしない(この場合、ユーザはPlusを通してアイテムがいっぱいであることを認識できない)と思われる。
#この辺りは明示されていないので、おそらく後者だと予想する。が、アプリが対応すればいいだけの話なので、「アイテムがいっぱい」を示す実装をすることは(今後のアップデート等で)可能なはず。

レビュー編でも書いたけど、通常のアイテム入手とは違う長い振動になるので、振動だけで判断可能。

バッテリーの消費は通常のプレイ時と比べ、どう変化するのか?


正直なところわからないが、通常プレイ時と比べて減らないとあまり意味がないので、減るように努力はしているものと予想する。
よって、スマホのスリープ状態(バックライトオフ+バックグラウンドでの動作)で、最低限の処理のみ行う「Plus使用時専用に最適化された」動作をすると思われる。
それは、以下のようなものと予想される。

  • Bluetoothによる常時接続(により、Plusからのボタン押下イベントを検出)
  • 定期的なGPS情報の取得(位置情報の取得)
  • 定期的な通信処理(マップ情報の取得)
  • 上記により得られたイベントをPlusに送信(することで、Plusのランプ点灯・振動を制御する)

結論として、画面描画のGPU系の処理がカットされるため、ある程度の消費電力の抑制はあると思うが、それ以外の機能が動作し続けるため、そこまで大きくバッテリー消費は減らないのではないかと思われる。
スマホ本体をスリープ状態にして使えば、消費は減る。ただし、Plusでのモンスター捕獲はトレーナーレベルによっては失敗が多くなるため注意。

結論

Pokémon GO Plusめっちゃほしい。でも並んでまで買う気力はないのでどうか十分な量を供給してください任天堂さん。