街角の雑踏

好きなことを好きな角度から考えるばしょ

ポケモンGOの出現判定方法の予想(3)まとめ

前回と前々回で位置情報の扱われ方とGoogleマップの仕様から予想できることを記したので、今回はその2つから予想できることを書き並べていきます。

 

 

前回

 

machikado.hatenablog.jp

 

4.予想まとめ

今回は最初に結論から行きましょう。今までの考察から、ポケモンGOにおけるGoogleマップデータは以下のように扱われて、出現ポケモン及びその出現頻度が決定されていると仮説が立てられます。

f:id:johnkrmt:20160909002421p:plain

都市部・非都市部・緑地とネーミングした3種の色付きの部分を便宜的に「領域」と呼ぶことにします*1

 

プレイヤーがどの「領域」にいるかによって、領域ごとに定められた出現ポケモンリストから登場するポケモンが選ばれ、機械的に区切られた「エリア」ごとの人口密度によってポケモンの出現頻度*2が決定、近くに観光名所等の「スポット」があると、その周辺は出現頻度が増大する、といった仮説が立てられます。これが結論です。

 

もちろん位置情報やGoogleマップの仕様側から立てた仮説であって、実際に検証は行っていないので、ひとつの予想として参考に攻略に役立てればなあ、と思います。

 

次章以降で、上記の考えに至った経緯をまとめていきます。

 

5.「領域」の分類

5-1.概要

人口密度にしたがって地図上にポケモンの出現点(ポケソース)がプロットされ、各ポケソースがどの領域に属するかによって出現ポケモンが決定されているものと推測されます。

 

f:id:johnkrmt:20160917112117p:plain

 

まず、 前回定義した「緑地」あるいは「水辺」領域に属しているのであれば、その領域属性に設定されているポケモンのデータリストが使用されます。「水辺」にコイキングが良く出現するのはこのためです。*3

 

そして、「緑地」・「水辺」のどちらにも該当していない場合は、「都市部」か「非都市部」かで判定されます。ここでの「非都市部」は

ポケモンGOの出現場所リスト(7/30更新) - ポケモン徹底攻略

における「内陸部」にあたります。「内陸部」の字面だけを見れば、「非水辺部」と解釈することもできますが、Googleマップの仕様上、「内陸部」そのものに該当するデータ区分は無いので、いくつかの条件分岐を経て、どこにも該当しないものを「内陸部」(=「非都市部」)と定義している。と考えるほうが自然です。

 

5ー2.「都市部」「非都市部」の区分

では、「都市部」はどのように定義するか。考えられるのは2つ。従来通りGoogleマップデータから決定するか、ユーザーデータから帰納的に決定するか、です。

 

後者は、「都市部」を人口密度が多い「エリア」と定義し、「エリア」単位で都市部か非都市部かを決定する方法です。つまり、Googleが取得しているユーザーの位置データから決定します。あるいは予想(1)引用した記事にあるように、電波の強度で決定することも考えられます。

 

前者のGoogleマップデータから決定する方法ですが、Googleマップをよく見てみると、地面が灰色の部分と赤茶色に塗られている部分があることが分かります。

 

さらには灰色と黄土色?にも塗り分けられています。これは他の国でも同様です。

 

以上から、Googleマップ側で陸地部分が、赤茶色>灰色>黄土色の順に都市具合を決定するなんらかの処理が行われていることが分かります。

 

Googleマップにおける灰色以上の部分、あるいは赤茶色の部分がポケモンGOの「都市部」として判定されているとは容易に解釈できますが、色の決定がどのように行われているかが不明です。Googleマップの地図データは、日本のデータはゼンリンが製作した地図が使用されていますが、アメリカを含む大部分はGoogle自身が製作しています。

Google マップ - Wikipedia

つまり、何を基準に「都市部」と判定されているのか、という問いには、「Googleがそのように決めたところ」以上の説明ができないわけです。ここから派生して、地形図などの従来の紙地図は都市具合をどのように塗り分けているのか、といった他地図の事例から、都市具合の決定方法を推測するのもアリですが、本題から脱線しすぎてしまうので割愛。

 

以上のように、「都市部」「非都市部」の区分方法は色々な方法が推測されますが、はっきりこれといった根拠は無く、ユーザー側が経験則的に予想していくしかないかと思います。ざんねん。

6.「スポット」の影響

Googleマップにはスポットのデータとして、名称の他に属性情報(公式には「カテゴリ」)もあるようです。上記の「東京駅」だと「停留所」、「御宿駅」だと「駅」となっています(なぜ異なっているのかは謎)。また、予想(1)のコメントで、

 

とはいえingressのデータを元に作られているのでポケソース自体は人のいない地域より観光地や公園に多く設定されています。 

 

 

 との情報を頂いたことから、Googleマップ上で何らかの属性が与えられているスポットの周辺はポケモンの出現密度が高くなるように補正がかけられているようです。ポケモンの巣となっている場所から考えると、「公園」や「観光名所」などでしょうか。ただ、東京駅と御宿駅が違っていたり、他の駅でも属性名がバラバラであることから、駅であっても一律なルールで設定されていないものと考えられます。海外だと属性名も異なっていますし、どの属性のスポットがポケモンGOの出現確率UPに使用されているかは、ある程度は予想できますが、詳細は不明です。*4

 

7.観光振興への派生

ところで、先月8月の話になりますが、宮城県が観光振興に使おうと、ナイアンティックにシステム改修費として500万円の計上を予定しているようです。

 

www.kahoku.co.jp

 

これまでの予想から、宮城県でレアポケモンを出すには、宮城県が属している「エリア」のポケモン頻度、あるいはポケモン出現リストを変更すればよく、システム面での改修は比較的簡単なものと思われます。さらに、特定の観光地を周遊してもらうには、特定のポケスポットのポケモン出現率を変更すればよいので、ここもシステム次第では容易かと思います。これらの変更は、特定の地域でレアポケモンを一時的に出現させることであることと解釈すれば、位置ゲーとしてのポケモンGOのイベントとして当初から計画していたことでしょう。*5

 

イベント以前の通常期では、予想(1)で書いたように一定期間ごとにレアポケモンリストが「エリア」単位で変更しますし、アジアと欧米で出現ポケモンも変更になることも容易に予想できるでしょう。*6

 

というわけで、ポケモンGOのしくみをあれこれ予想すると、どういうふうに出現しているのか、宮城県への対応はどのように行われそうか、さらには今後のテコ入れまでざっくり予想しましたが、今後どうなっていくのでしょうか?(もっとも、一時期のブームよりはだいぶ落ち着いてきましたが……)従来のソシャゲとは異なるゲーム性を株ポケ・ナイアンティックがどのように示していくのか楽しみです。

*1:「エリア」も領域を意味しますが、(図を作りなおすのが面倒なので)気にせずに。。

*2:厳密には出現ポイント密度

*3:もちろん、「緑地」領域と「水辺」領域の両方に該当している箇所の処理については、「どちらかを優先する」「両方のデータリストを使用する」のいずれかが考えられます。どちらが採用されているかは判断できません。

*4:Googleマップは、とりあえずビジネス目的でなら手順を踏めば地点を登録できるようです。その際に記入項目からGoogle側が推測して挙げる、いくつかの「カテゴリ」候補から選択して、「カテゴリ」を選択するようです。(参考:Googleマップ 登録完全マニュアル!

*5:ポケモンGOのイベントについては思うところがあるので、気が向いたときに綴ります。

*6:システム的にはポケスポットも一定期間ごとに、というよりランダムで変更できそうですが、どうやらここは固定のようですね。

ポケモンGOの出現判定方法の予想(2)判定

前回は、ポケモンGOが位置情報ゲームである点から、地図上の領域をある単位ごとに区切ってポケモンの出現密度が定められているのではないか、という仮説まで立てました。今回はGoogleマップの内部データとポケモンGOのゲーム設定から何が言えるのかを考えていきます。

 

 

machikado.hatenablog.jp

 

3.ポケモンGOGoogleマップのどの情報を利用しているのか

ポケモンGOスマホGPS機能を利用した位置情報ゲームであり、開発元であるナイアンティックのブログによると、

プレイヤーは色々な場所を歩き、探索することで、その場所にふさわしい野生のポケモンたちを捕まえることができます。例えば湖や海の近くではみずタイプのポケモンに出会うことができるかもしれません。

Pokémon GO の最新情報を公開します 

とあるので、GPSで分かる緯度経度データと地図データを組み合わせてポケモン出現の有無を判定していることが分かります*1。この地図データにはGoogleマップのデータを使用していることはポケモンGOユーザーであればご存知のことかと思いますが、私の探した限りでは、はっきりそうだと言及されている文言が探せませんでした。以下のようにネット上での噂レベルの話はありますが、どうやら開発のナイアンティックがGoogleのいち部署から独立したことからGoogleマップを使っているとの憶測が広がっているのでしょうか。いや、十中八九それが正解なんでしょうけども*2

xn--go-x93azb8f1byczorovb7l8092d85ub.com

 

Niantic, Inc.(ナイアンティック)は、アメリカ合衆国の企業である。また、社名が名称に使われているThe Niantic Projectは、拡張現実/位置情報ゲームであるIngressのストーリーの中での、架空の調査プロジェクトである。

2010年の設立当初はGoogleの社内スタートアップ「Niantic Labs」(ナイアンティック・ラボ)であったが、2015年8月にGoogleから独立し現在の社名となった。

Niantic, Inc. - Wikipedia

 

とりあえず、Googleマップを使用していると仮定して話を進めます。Googleマップ中には、ご存知のとおり地図を構成する基本データである、道路・鉄道・川・市町村の範囲・建物の形などが入っていますが、この他にある施設をクリックすると施設名・連絡先・クチコミなどの情報までリンクされています。便利ですね。ポケモンGOはこれらのうち、どのデータを使用しているのかが問題です。これも予想の域を出ませんが、ポケモンGOアプリ内で表示されているデータだけを使用していると仮定すると、道路・川(水面)・緑地・建物あたりでしょうか。

 

4.Googleマップのデータをどのように活用しているのか

ナイアンティックが既に公表しているように、先ほど挙げた4要素、道路・川(水面)・緑地・建物のデータがどのようなポケモンが出現するか、その種族の決定材料にされているわけです。もっとも、これは既にポケモンGOの攻略まとめサイトでも話は上がっていて、「水ポケモンGoogleマップの川かどうかで出現するかが決まる」ということになっているようです。

 

xn--f9jr9dng6hpjya18avb7l5dq393fhkxb.xyz

 

ここから細かい話。

2chまとめサイトでは川かどうかで判断している。とのことですが、水面自体に出現してしまってはポケモンが捕まえられないので、少し余裕を持って水面かどうかを判定させていることが推測できます。(ユーザーを川や海に飛び込ませるわけにはいきませんからね)

 

ここで次の話が出てきます。

バッファとは?

「バッファ(buffer)」という言葉をご存知でしょうか?一般にはあまり聞きなれない言葉ですよね。英語のbufferは元々「緩衝材(かんしょうざい)」という意味ですが、コンピュータの世界では「一時的なデータを記憶する領域」という意味で使われるなど、分野により異なる意味合いを持つ単語のようです。

GISでもこの「バッファ」という言葉を使いますが、やはり上記とは違った意味合いがあります。

GISでの「バッファ」= 等距離にある領域

GISでは、「ある対象物」を基準として「等距離内」にある領域をバッファと呼びます。

例)「自宅という対象物」(点)から、「100mの等距離」にあるバッファが中央の赤の円になります。さらに100m刻みの範囲が、それぞれオレンジ色、黄色の円で表現されています。

f:id:johnkrmt:20160803110506j:plain

バッファとは? | 空間情報クラブ

 

GIS」って何ぞや? という話は今回は置いといて、「バッファ」の概念とナイアンティックがブログで述べている話を勘案すると、川への近接性を判定するために、川から何mかまでの領域を厳密に定めて「水ポケモンが出現する領域」と決めているのだろうと推測できます。そして水面自体は出現領域から除外しているのではないでしょうか*3GPSの測位がずれることも考慮しても、なおのこと川からバッファを形成したデータを用いて、水ポケモンの出現の有無を判定したほうがよいでしょう。

 

それでは緑地部分はどうでしょうか。ここで定義する緑地はGoogleマップで黄緑色で塗られている部分を指します。日本でゲームがリリースされた先週は世田谷公園にミニリュウが大量に出現することが分かり、多くのプレーヤーが公園に押し寄せて話題になりましたね。

 

www.itmedia.co.jp

(記事内で世田谷公園についても取材されています。)

 

レアポケモンの発生地としてやけに公園がピックアップされるのは、緑地データが利用されているものと推測できます。一般的な街なかに設定されているポケモン出現リストとは別のリストが、Googleマップの緑地にあたる領域には設定されているのでしょう。小公園でも街なかとは異なるポケモンが出現するとは思いますが、まとまった緑地データがある場所のほうが捕獲効率が良いため、都会部の大公園が「ポケモンの巣」として多くの人が集まるのはある意味必然だったと言えるでしょう。

 

以上のことをポンチ絵でまとめると、

 

f:id:johnkrmt:20160803110507p:plain

 

となり、水面・緑地系ポケモン出現範囲に属しない領域は、他のポケモン出現データのリストが使用されていることが予想できます。 

 

これらの話は、各種ポケモンGO攻略サイトで現在進行形で検証が進められているかと思います。今回は水面・緑地・その他の3領域に分けましたが、以下に示す攻略サイトでは、その他の領域を内陸部・都市部に分けて出現場所リストを分類しています。

 

yakkun.com

 

内陸部と都市部はどのように区分されているのでしょうか。攻略サイト等ではポケモンの生息域含め、様々な観点からゲームの分析が進められていますが、今回はデータ作成に利用されているGoogleマップの構成から予測してみました。そうしたのも、後から内容を更新できるスマホアプリであることから、データやシステムの構成から捉えた、汎用性のある攻略法が見つけられないかと思ったためです。実際に世田谷公園のミニリュウは1週間で居なくなりましたしね。

 

nlab.itmedia.co.jp

 

元データの構成を考えると、このようなデータを変更し得る要素は他にもあることが想定できます。ポケモンGOのDAU数を維持するために、今後ポケモン・ナイアンティックがどのようなカードを切っていくのか考えるととても楽しいですね。

 

次回は、前回の記事と今回の記事を組み合わせると分かることや、内陸部と都市部をどう区分するのか等について思案していけたら、と思います。また、これまでの記事で生じている矛盾点の洗い出しや、それを解消する代案等も今後まとめていきます(自分用メモ)。ではでは。

 

続き

 

machikado.hatenablog.jp

 

*1:少し前まで『Pokémon GO』公式サイトにもその言及があったような気がしたのですが、いつのまにか消えてしまったようです。後述するようにPokeVisionが公開停止になったことと関係あるのでしょうか……。

*2:ポケモンGOの大元のシステムとなった位置情報ゲーム、Ingressの使用データも同様にGoogleマップを使用しているという説が有力です。Ingressの使用データに関する言及記事までは今回は探していないので、どこかにはっきりとした記述があるかもしれません。

*3:そうしないと海や琵琶湖の真ん中にもポケモンが出現してしまうので