Jump to content
  • entries
    37
  • comments
    154
  • views
    31903

The Flat Earth - A cartographer's wet dream/nightmare

Embassy of Time

1329 views

My still fairly unoriginal work with blocks has reached a benchmark point: I have started shaping the previously random blocks into actual landscapes. Other than the octree level-of-detail thing, it is still just the beginning of a weak Minecraft clone, but way is being made, I swear!

My current struggle is not, however, a bunch of fancy code. Minecraft veterans know that in that game, the world is truly and completely FLAT. Go far enough and it just starts getting weird landscapes, the infamous Far Lands (if they still exist, I have not played the newer versions). At first, this will be similar to my clone. But as soon as it fits my work, I want to break from that strange geography. I want not just worlds, but planets! And that begs the question.... How do you make a round planet with square blocks??

The thing is, sure, I could just make a sphere out of blocks. But if blocks lay flat at the North Pole, they will be edges- or corners-up as you move towards the Equator. Pick a picture from a Google search of a block planet and turn it slowly. Whatever is up is what someone on the surface sees. It is a bitvof a mess in many places...

But I love maps. I have atlas after atlas on my shelves and maps decorate my walls. Loooove that stuff! So it should be easy to find a way to use a flat map, right? Well, no. It is only easy 90% of the way. Sure, going west just means you get to the edge and start over from the eastmost edge. But what about the poles? WHAT ABOUT THE POLES, GARY?!? See, when you get to, say, the northern edge of the map, you need to go... somewhere. The easy solution is just to flip the map over and go from the northern edge and down again. Like putting the tops of two world maps together. But then you get a North Pole as big as the entire world!! Look at flat maps. The Arctic and Antarctic are huuuge. Circling the North Pole is like circling the entire Equator! It works, but...

I went through several options. What I ended on is this: Take a snapshot of the globe from two opposite sides, with the poles at top and bottom. Now, stretch those two pictures into squares. However, the corners of each square are north, south, east and west! So the resulting squares stand at a 45 degree angle, balancing on the South Pole corner. Now slap them together, and you get a two-sided Flat Earth, which is square.

This is the best combination of simple and accurate I have currently found, but I keep having nagging feelinga about how the flat landscape will look when crossing the poles. Who knows, I may just end up using the original flipped world map. I am no cartographer, and it is starting to show! I guess my maps and atlases can only help me so much....

Have any of you had that dilemma?What did you end up doing?



3 Comments


Recommended Comments

I don't really understand the dilemma here. I mean, I do understand it, but at the same time I don't. Cubes are not a good representation for a traditional round planet with surface-perpendicular gravity. They are an excellent representation for an infinitely flat world. Trying to marry the two (cubes + round planet) just makes for a messy abstraction, and I fail to see the point. If you want round planets, you're better off choosing a different representation than cubes. But if you want cubes, you're better off with a flat world. Choosing both seems to be signing you up for a substantial amount of pain, and I don't really see how it improves the gameplay experience for the player.

In the past, I always just chose the abstraction that was most appropriate for what I was doing. When I played with block worlds, they were infinitely extensive flat block worlds, with easy-to-grasp topology. When I played with planets, they were recursively sub-divided spheres, with varying level of detail, and always a pain in the ass to deal with the edge cases. I much preferred the block worlds.

Share this comment


Link to comment

Have you considered not using a sphere for your planet? You could have a cube planet instead. 

Another possible solution is a "flat" ring world, say north and south are your edges of the world.  If you keep walking east, you'll eventually come back from the west side. If you walk north, you hit a wall. Or fall off the edge of the world into space. 

Or a torus (doughnut) world. Same as the ring world, but instead of north and south being borders, walking north wraps around down to the south side.

There doesn't have to be a curve for these solutions, so the problem goes away. :)

- Eck

 

Share this comment


Link to comment
On 10/9/2017 at 1:24 AM, JTippetts said:

I don't really understand the dilemma here. I mean, I do understand it, but at the same time I don't. Cubes are not a good representation for a traditional round planet with surface-perpendicular gravity. They are an excellent representation for an infinitely flat world. Trying to marry the two (cubes + round planet) just makes for a messy abstraction, and I fail to see the point. If you want round planets, you're better off choosing a different representation than cubes. But if you want cubes, you're better off with a flat world. Choosing both seems to be signing you up for a substantial amount of pain, and I don't really see how it improves the gameplay experience for the player.

In the past, I always just chose the abstraction that was most appropriate for what I was doing. When I played with block worlds, they were infinitely extensive flat block worlds, with easy-to-grasp topology. When I played with planets, they were recursively sub-divided spheres, with varying level of detail, and always a pain in the ass to deal with the edge cases. I much preferred the block worlds.

 

15 hours ago, Eck said:

Have you considered not using a sphere for your planet? You could have a cube planet instead. 

Another possible solution is a "flat" ring world, say north and south are your edges of the world.  If you keep walking east, you'll eventually come back from the west side. If you walk north, you hit a wall. Or fall off the edge of the world into space. 

Or a torus (doughnut) world. Same as the ring world, but instead of north and south being borders, walking north wraps around down to the south side.

There doesn't have to be a curve for these solutions, so the problem goes away.

- Eck

 

The answer is sort of the same for both these issues: It is a temporary approximation. The end goal is a solution as easily mutable as blocks, but as physically diverse as, well, not blocks (I usually call the opposite of blocks "blobs"). In the meantime, I want to get as close as possible to that solution with just blocks, so I can test out other features.

The solution presented in the blogpost collapsed on closer examination, btw. The current two candidates are a classic infinite world or an infinite space with flat worlds in it!

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!