Wednesday, February 15, 2017

My Game of Pokemon GO - Stage II: Location, Location, Location

One day my colleague at work mentioned how La Jolla Cove was full of PokeStops raining Sakura petals at night, I realized we did not have to go to Canada to get a Horsea after all.  How hard could it be to access beach, which was only three miles away?!  Fun started at Del Mar Powerhouse Park near 14th street - Seel, Magnemite, Slowpoke, Poliwag, Shellder, Voltorb, even rarer ones such as Gastly, Cloyster and Haunter surprised me from time to time.  Some after-dinner trips to La Jolla Cove added Seaking, Onix, Tentacruel and Aerodactyl.

Then I read Niantic shut down a tracker program called PokeVision.  Holly cow! I did not know there had been a tracker, until its death toll made the headline.  PokeVision was a real-time Pokemon map, which offered its users a “Pokemon GPS”!  Too late for the PokeVision party, lesson learned, I started monitor Pokemon online communities.  Homework is unavoidable if you want to excel in this game.

My research soon pointed to an iPhone app called GO Radar.  Players using rooted Android devices were collecting sightings from their Pokemon GO apps and sharing the data on the GO Radar server.  GO Radar app allowed me to see precisely where nearby Pokemons were, how much time was left for the catch, furthermore, it allowed me to see where rare Pokemons were clustered in San Diego – sweetest spots in San Diego include downtown, Coronado Island and Oceanside Pier.  I could clearly see what later known as nests, e.g., Seaport Village was a Drowzee nest, and Coronado Ferry Landing was a Voltorb and Magnemite nest at the time.

I finally took my family to Coronado Island, a sacred pogo playground known as “the quad”, where maybe a hundred players camped on the lawn in the center of the Orange Avenue surrounded by four Pokestops lighted with lures all night long [1].  I remember that night as the night I hunted our first Grimer, however, history remembers that night as August 20, 2016, the night Chinese Women’s Volleyball team won its hard-earned gold medal in Rio de Janeiro.  In another lucky Sunday morning, I got a Blastoise, a Hypno and several Jynx (a nest) under the Coronado Bridge within an hour.  My Pokedex exploded in the second month.  Location, Location, Location!  This is what this game is mostly about!

The "quad" at Coronado (August 20, 2016)

This is why it is known as the "quad".

With GO Radar, I caught my first Grimer that night.

What was the most exciting moments in the game? Whenever I saw a silhouette pop up in the sightings, indicating a new species was nearby.  My adrenaline shot to the roof, when that happened. This screen shot was taken in the lucky Sunday morning under the Coronado bridge.  The Blastoise, embossed in red, was then located by FastPokeMap.

Technical Excursion – Early Days of Pokemon Tracker

Google map divides the surface of the earth into cells using a library called S2 [2].  Cells have 30 levels, where the most granular level 30 represents an area as small as 0.75 cm2!  Pokemon GO uses level 15 cells, which corresponds to a parallelogram of roughly 200 meters in dimension.  The parallelogram ABCD in the screenshot below, taken during my Gastly hunt at the Del Mar Fairground Parking lot, shows what an example level-15 cell looks like.  The reason the cell shape is not a square is because the spherical earth surface is projected onto six squares of a cube surface, which caused skewness for locations other than equator.  Parallelograms are tiled all over the map, ABCD is just one example.

Now imagine a player stands at the pin O, all Pokemons spawned within 40 meters (blue circle) can be spotted on the app screen and are catchable.  Pokemons within 120 meters (red shaded circle) showed up as nearby (see the bar at the very top of the screenshot with the first Gastly circled in purple) without knowing their exact locations.  The player is now supposed to move around and hunt for the first Gastly within the red circle, i.e., you drag the blue circle using your body to uncover a hidden target.  As a nearby Pokemon could be anywhere within the red circle and each Pokemon spawn only lasted 15min, the success rate of locating a nearby Pokemon was not impressive.

Early versions of trackers took advantage of the Cell identifier associated with a nearby Pokemon (Cell ID data was provided via programming interface) and let us know within which parallelogram Cell we should be hunting, this significantly reduced the guess work, as we now know the monster is within the purple embossed area (common area between ABCD and the red circle)!  Although several click-to-scan operations were still required within this region to move the blue circles until the target was located, it was already a giant step forward.  Later versions of trackers scanned a number of blue circles simultaneously on behalf of the player, therefore was able to expose every single Pokemon within the red circle under one click!  This led to the enormously popular site call FastPokeMap.  Before FastPokeMap, some players had to use GPS-spoofing devices to fake their locations into Pokemon-dense regions, such as the Central Park at New York City, some even virtually travel to other continents to catch regional-exclusive rare ones.  Ninatic gradually tightened up the holes and banned such accounts.  During that campaign, Niantic once made a mistake and ban a whole country from playing Pokemon GO for one full day [3].

FastPokeMap was revolutionary as it created more than a million bot trainer accounts and used them to scan on behalf of players at its server side, therefore, it was 100% safe for players to use FastPokeMap with no association to their real accounts.  FastPokeMap was also a crowd-sourcing service, its scan results triggered by one user were cached on the server for all users to view.  Popular spots that had many players naturally had denser Pokemon Map and therefore attracted even more players.  The FastPokeMap screenshot below shows how insanely busy Manhattan was.  By late September, FastPokeMap has reached 10 million daily page views and 3 million unique users per day [4], thanking to all the big data and cloud infrastructure used to support such a massive operation.
Manhattan under FastPokeMap!


Reference
  1. http://www.sandiegoreader.com/news/2016/aug/25/stringers-pokemon-goes-coronado-and-stays-there/#
  2. http://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/
  3. http://www.geek.com/tech/one-pokemon-go-player-got-all-of-belgium-banned-1667630/
  4. https://pokemongohub.net/fastpokemap-reaches-10-million-daily-views


No comments: