0
\$\begingroup\$
  • 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: 4]

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?

\$\endgroup\$
1
\$\begingroup\$

My favourite projection is that of Buckminster Fuller.

enter image description here

You just need to implement some fancy wrap-around that let's you jump from the edge of the map to another edge.

But the distortion is very low: land mass sizes are preserved.

https://en.wikipedia.org/wiki/Dymaxion_map

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.