Thursday, February 20, 2020

Square Tiling Of A Sphere, Part 3/3

In the previous post I described how I learned about the cube/sphere geometry so that I could put a square grid on a sphere. I ended up spending too much time on that, because it turns out the mapping from cube to sphere wasn't as useful as I had thought. This happens to me sometimes, where I find something fascinating, spend a lot of time on it, and it turns out to be not that important.

As the final step in learning how to work with square tiles on a sphere, I wanted to make something on the sphere. I decided to make a dungeon map.

Dungeon map on a sphere
Dungeon map on a sphere

Despite my interest in procedural generation, I've never made a dungeon map before. I wasn't sure how hard it would be to work with the cube/sphere geometry so I decided to keep the dungeon part of it simple. I started out making a dungeon on a single square face of the cube, and was hoping I could easily extend it to work on the entire cube. It worked out but not without some missteps. I think geometric dungeon-making techniques like binary space partitioning may be more difficult in the cube/sphere map than graph-based techniques like Delaunay triangulation or graph grammars, but it's hard to know until someone tries them.

I wrote my notes about making a planet-shaped dungeon.

Thoughts:

  • extending a square grid to a sphere is not too hard, as long as the player is mostly looking at the grid and not the sphere
  • the 8 corners of the cube are problematic, and it's easiest if you can have the player avoid them
  • some algorithms will extend to the cube/sphere much more easily than others
  • sometimes instead of modifying an algorithm to work on the cube/sphere, it's easier to have an algorithm pretend it's on a flat surface and then "fold" the coordinates onto the next side of the cube

I think that's it for this little exploration. It was fun and I learned a lot but I'm ready to move on to another project.

No comments: