Not in general of course, but in regards of street view coverage. Germans love their privacy and Google only managed to cover a couple of cities in Germany. For a geo game that heavily relies on street view coverage, this is unfortunate. Especially when I’m from Germany myself and want to play it properly.
The image above shows the street view coverage of Germany and the little grey polygons around the cities represent the actual playable areas in Geotastic.
I got a lot of Feedback regarding the Germany-Map and how players are dropped in the same areas every once in a while, especially in Munich. The probability of being dropped in or around the Olympia Stadium is dis proportionally high. And I want to show you why that is, giving some insights on how the Geotastic algorithms, as well as the street view integration work.
Every country in Geotastic consists of 1 to n polygons. Countries with great coverage work well with just one polygon spanning it’s borders, but countries like Germany with huge gaps in between covered areas need some extra care to actually work with the algorithms.
The first step is to find a random latitude/longitude coordinate in the target country. Since Germany consist of twenty polygons spanning all relevant cities with actual street view coverage, one of those is selected randomly to find a coordinate in. The randomizer takes the area of the polygons into account, so bigger polygons tend to be picked more often.
Once a polygon was selected, a random coordinate is picked in the bounding box of this same polygon. If the coordinate happens to be inside of the polygon, we’re good to go. If not, rinse and repeat. Of course, it is not guaranteed, that there is an actual street view covered street around this coordinate. The street view API provides some functionality for such use cases, though. That’s what we have to deal with next.
The google street view API (dynamic as well as static) has a parameter where you can define the search radius when requesting a street view panorama. Depending on the game mode, this radius differs. City-Maps start at 1km, country-maps start at 10km. If no street view panorama is found, the search radius is multiplied by 10 and the search begins anew. Every request call takes a toll on the API quota, so I can’t just start very small and go up in small steps. I have to find a panorama as quickly as possible to save money.
In the example above, the random coordinate was set on the “Westfriedhof”, which has no street view coverage, which is not an issue by itself. The search radius parameter allows to check for coverage in the surrounding area. The actual issue (and why the damn Olympia-Park is picked so often) lies within the search algorithm of the street view API. By experience, I’d say it doesn’t always pick nearest result but the most relevant one. And the stadium in Munich seems to be the most relevant spot in all of Germany. When the search radius is high enough, almost every street view request in or around Munich will return the the stadium. Even though there is a street view request parameter called
PREFERENCE in which one can define the search preference between
BEST, the results still leave a lot to be desired. Relevancy still seems to play a huge role and that’s a pain to work with.
This issue follows me around since the first days of Geotastic and I was able to get better results with tweaking the search radius. The lower, the better. But as I said before, this really strains the API quotas. I can only safely go lower throughout all of my maps if the polygons in all countries are more detailed and skip large uncovered areas that would trigger retries. That’s a lot of manual labor, that I can’t do right now.
But in the case of Germany, I can actually reduce the search radius in the future, since the polygons are pretty detailed and safe with a small search radius.