I've been thinking a lot lately on how to do round planets EASILY. There are a lot of suggestions for doing it that would work, but would be difficult. I've been approaching it as a "quick and dirty hack" problem, because I think it'll be more likely to be implemented that way.
I think I've identified three problems that matter: 1 Curvature 2 Ease of rendering and 3 Appearance of the planet from orbit.
For curvature, see this Minecraft youtube video:
http://www.youtube.com/watch?feature=player_embedded&v=NrcQHF9PK9k#t=47
Someone found a way of using custom graphic shaders to create a "curved" world, complete with horizon. The Minecraft world is still flat in reality, but that isn't what the player sees. Adapted to Starmade, this would create the illusion of roundness while the planet stays a big flat plate. Added bonus; planetary gravity stays the same as it is already, without having to make adjustments for curvature.
For ease of rendering, cut each planet up into sectors and only render the sector the player is in and the ones right next to it. Since the curvature illusion gives the world a horizon, it won't be obvious that the other sectors aren't loaded since they're out of line of sight. Plus it now becomes possible to alter the size of worlds by changing the number of surface sectors per world. This will add to the server memory per planet, but won't tax the user's graphics card as much as trying to render the entire planet at once.
Since each sector loads only when needed, it's also possible to make it so the world has no sudden drop into space at the edge. If you walk in a straight line, you'll eventually reach an "edge" sector, which then loads the opposite edge, adding to the illusion of roundness. So if you start in sector 1, you walk east through sectors 2, 3, 4, 5 and finally, at 5, sector 1 loads again and you've come full circle. If you dig down you eventually hit an undiggable layer of rock or lava, meaning you need to go up to get offworld.
The third problem, orbital appearance, is the easiest. Just modify how the game already handles that exact problem. You don't see individual blocks from orbit; instead what you see is a sphere with a two-dimensional map on the surface. The easy way here would be to make a generic map for each sphere; "Ice" "Forest" "Desert" etc and make all worlds of each type look alike from orbit. The slightly more challenging way would be to take a 2D snapshot of the surface and map it to the sphere.
You don't get to see the actual surface tiles until you hit atmo, at which point you undergo a kind of map transition to hide the loading time (your screen is filled with the red of reentry and when it goes away the ground has finished loading). This also should cut down on FPS lag near planets, though you'll still have it on the surface.
A couple other solutions might be needed to ward off foreseeable bugs. Planets might need to count as "instanced" maps, rather than being part of the rest of the game, with slightly different rules for graphics and for keeping track of where everything is. There might have to be a rule about huge ships not being able to enter atmo, to limit bugs/lag (easy enough to take a shuttle down). Likewise, there might have to be rules that prevent really large structures on the planet from exceeding a certain height, such that they don't cross the map transition boundary.
I think I've identified three problems that matter: 1 Curvature 2 Ease of rendering and 3 Appearance of the planet from orbit.
For curvature, see this Minecraft youtube video:
http://www.youtube.com/watch?feature=player_embedded&v=NrcQHF9PK9k#t=47
Someone found a way of using custom graphic shaders to create a "curved" world, complete with horizon. The Minecraft world is still flat in reality, but that isn't what the player sees. Adapted to Starmade, this would create the illusion of roundness while the planet stays a big flat plate. Added bonus; planetary gravity stays the same as it is already, without having to make adjustments for curvature.
For ease of rendering, cut each planet up into sectors and only render the sector the player is in and the ones right next to it. Since the curvature illusion gives the world a horizon, it won't be obvious that the other sectors aren't loaded since they're out of line of sight. Plus it now becomes possible to alter the size of worlds by changing the number of surface sectors per world. This will add to the server memory per planet, but won't tax the user's graphics card as much as trying to render the entire planet at once.
Since each sector loads only when needed, it's also possible to make it so the world has no sudden drop into space at the edge. If you walk in a straight line, you'll eventually reach an "edge" sector, which then loads the opposite edge, adding to the illusion of roundness. So if you start in sector 1, you walk east through sectors 2, 3, 4, 5 and finally, at 5, sector 1 loads again and you've come full circle. If you dig down you eventually hit an undiggable layer of rock or lava, meaning you need to go up to get offworld.
The third problem, orbital appearance, is the easiest. Just modify how the game already handles that exact problem. You don't see individual blocks from orbit; instead what you see is a sphere with a two-dimensional map on the surface. The easy way here would be to make a generic map for each sphere; "Ice" "Forest" "Desert" etc and make all worlds of each type look alike from orbit. The slightly more challenging way would be to take a 2D snapshot of the surface and map it to the sphere.
You don't get to see the actual surface tiles until you hit atmo, at which point you undergo a kind of map transition to hide the loading time (your screen is filled with the red of reentry and when it goes away the ground has finished loading). This also should cut down on FPS lag near planets, though you'll still have it on the surface.
A couple other solutions might be needed to ward off foreseeable bugs. Planets might need to count as "instanced" maps, rather than being part of the rest of the game, with slightly different rules for graphics and for keeping track of where everything is. There might have to be a rule about huge ships not being able to enter atmo, to limit bugs/lag (easy enough to take a shuttle down). Likewise, there might have to be rules that prevent really large structures on the planet from exceeding a certain height, such that they don't cross the map transition boundary.