I want to build a game where the game map is the planet Earth.
The game map needs to be on a 2d plane, with the Earth texture projected on it
If the player walks endelessly in one direction, it should just run laps around the Earth.
I want to split the map in several small tiles and Load on Demand as the player walks
I'm not sure how to best solve this problem. What Map Projection do I use? From my research it seems like most maping apps like Google Maps, or OSM etc use variations of the Mercator Projection. I can't use that because, while the player would be able lap around the earth when walking east, he wouldn't be able to walk north. It won't tile vertically.
Then the Peirce Quincuncial Projection looked promising, it's a perfectly tiled projection. But the problem then becomes distortion is too extreme here. Some places don't look the same. I can live with a tiny bit of distortion, but this is too much.
Then I found another common solution was using a Truncated Icosahedron (probably subdivided into smaller tiles for LoD). This looks like the best alternative so far. But now my problem is I'm not sure exactly how I would work out the algorithm to take tiles from the 3d Icosahedron and tile them side by side on a 2d plane. That would look like this:
How would I stretch it to fill the holes?
Is there some other obvious solution I'm missing? How do games like Pokémon Go do this kind of thing?