ポケモンGO、第三のポケモン出現ルーチン 位置情報系開発者目線のPokémon GO #1
位置情報系アプリケーションをずっと作っているデベロッパーとしてポケモンGOには強い関心をもっている。
筆者が関与しているアプリケーションは以下の会社からリリース中。
そのゲーム性や、位置情報の活用法の素晴らしさは圧巻。
学ぶところはたくさんある。
今日はそのポケモンGOのポケモン出現ルーチンを掘り下げてみる。
面白いバグもあったりでなんともお茶目さんな「ポケモンGO」w
ポケモンの出現ルーチン基本編
Pokémon GO での「近くにいるポケモン」活用法 | Orangkucing Lab
ポケモンの出現ルーチンは上記ブログでも2つあることが確認されている。
上記サイトで記載されている「天然」と「養殖」ポケモンである。
簡単におさらいし、他の情報も集約すると以下のようになる。
※用語については上記ブログを周到し定義する。
「天然ポケモン」
・約7日周期でマップ上に設定されるポケモン。
・毎時x分に出現するルーチンになっていて、出現するとy分間存在する。
x:固定された数値となっている模様、毎時10分などとなっている様子。
y:複数の数値が存在することが確認されている最小12分最大15分
y値はz倍されることによって存在時間の延長が図られるケースがある。
z:z値は最大3倍と思われる
・約7日で配置はリセットされ、出現するポケモンは変わる。
・出現する場所は固定定義されている。名称を「ポケソース」と定義。
・この存在はSDKクラック系サービスで確認されている。
「養殖ポケモン」
・「おこう」や「ポケストップのルアー」で生成されるポケモン
・養殖ポケモンは出現時にピンクの輪の中に出現する
・「おこう」で呼び寄せられたポケモンは単一ユーザ限定で出現。
・「ルアー」で呼び寄せられたポケモンは全ユーザにシェアされる。
・存在はオフィシャルに確認されており疑う余地は無い
第三のポケモン出現ポイント
上記ブログ上ではポケモンの出現はこの2種類とされている。
だが実際は第三のポケモンが存在すると思われる。
この存在は自宅でポケモンを取得している筆者がそのルーチンを推測したものとなる。
自宅でポケモンを集取する際に、ずっとSDKクラック系サービスで「天然ポケモン」の場所を確認しながら行っていたが、自宅近辺は「ポケソース」に設定されていない。
にもかかわらず。ポケモンは出現するのである。これは上記二つでは説明がつかない。
筆者はこれを「アクティブユーザポケモン」と定義する。
現在検証でわかっている点は以下の特徴がある。
「アクティブユーザポケモン」(仮説)
・「ポケソース」とは別に広範囲に定義される「サブポケソース」が存在する
・「サブポケソース」は、緯度経度の定期的周期で設定されてマッピングされる
※出現するポケモンの位置がある程度固定されていることから推測
・このポケモンはアクティブユーザを起点に生成されると推測される
※「ポケソース」で出現している以外を無意味に生成する必要はない
※ユーザが「ポケソース」以外の場所にいても発生するのは間違いない
・生成場所はユーザの直近の「サブポケソース」に定義される
・このポケモンの存在は「近くにいるポケモン」のユーザ毎のばらつきも発生させる
・このポケモンは「近くにいるポケモン」にも「天然ポケモン」にも表示されない
※正確には表示する場合としない場合を意図的に操作していると思われる
・このポケモンは誰かが発見すると他のユーザにもシェアされる。
・シェアされたあとも「天然ポケモン」に昇格はしない
・これを有効に使うことで将来田舎などの「ポケソース」不在地に対応
※現在のところ周囲のアクティブユーザ数にも影響を受けると思われる。
※周囲のアクティブユーザが少ない田舎では発生しづらい傾向がありそう。
・そこそこレアなポケモンも出現する。
・出現時間はランダムで定時何分というような、「ポケソース」とは異なる。
筆者はこの「アクティブユーザポケモン」の存在に強い関心をもっている。
この存在は、サーバで定義しきれない場所にユーザが存在する場合に非常に有用に機能する。
このデータの蓄積は近い将来地域格差を是正するだろう。
将来「ろけなう」や「DOCOL」にこれらの機能を進化させた機能を組み込みたい。
「HUDManiaX」に戦闘機能やユーザ交流機能を追加する際の大いなるヒントとなっている。「なびすけ」のようなナビゲーションにも新しい可能性を付加できる発想で、ぽけもんGOを研究していると、様々な発見と確認がある。
9/9追記
「アクティブユーザポケモン」の存在は否定されました。
レーダー系サービスでは、すべてのポケソースがカバーされていたわけではなく、一部のポケソースは表示対象外になっていました。
レーダー系サービスの表示、非表示の分岐に関しては不明ですが、このへんは案外単純に処理されていた模様です。
ただし、仮説を構想したことで、以降アプリケーションの制作時には有益な方法がイメージできたので良しとしますw
ゲームとしてももちろん楽しいが、仕組みを想像、検証し、次のアプリケーションの作成のヒントにも大いになっているポケモンGOからまだまだ目が離せません。