Round planets, hopefully easier to implement

    RsG

    Joined
    Sep 14, 2013
    Messages
    10
    Reaction score
    0
    • Legacy Citizen
    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.
     
    Joined
    Jun 20, 2013
    Messages
    268
    Reaction score
    70
    I seem to recall that Schema wants to avoid loading screens, though I may be wrong. This idea, or one similar to it, has been suggested a number of times and for one reason or another has been poo-pood.
     
    Joined
    Dec 30, 2012
    Messages
    790
    Reaction score
    1
    • Legacy Citizen 4
    Shape/curvature, or appearance, not even rendering issues, none are the actual reason why spherical planets can\'t work right in StarMade (yet), the issue is actually related with gravity different than straight plane gravity (the actual one).



    Schema already shown with a built example that he made both \"true spherical\" and blocky spherical (keeping the blocks shape intact, but the planet still being round), but that\'s not enough for them to work. Check older News about this. It has images so it\'s easy to find.
     
    Joined
    Aug 15, 2013
    Messages
    143
    Reaction score
    2
    @Michael Seph in his Dev-Post he said that the main problem he had was that the rounded blocks (of perfect round worlds) would not be where they seem to be.Also what do you mean with easy to find?



    @RsG: Actually I dont even care if planets are flat or round aslong they dont look like (ugly) disks in space =/
     

    RsG

    Joined
    Sep 14, 2013
    Messages
    10
    Reaction score
    0
    • Legacy Citizen
    That\'s exactly what I was thinking of when I said curvature was problem #1.

    If you\'ll reread my post you\'ll notice that nowhere do I suggest making the planets actually curve at all. Rather, the appearance of a horizon is handled by an optical illusion (see the Minecraft vid) and the ability to walk round the world is made possible by the seperate loading of surface sectors.

    In programming terms, the world stays a flat surface, for ease of blocks/gravity.

    After all, we don\'t care if it\'s REALLY round, do we? I would settle for the illusion of roundness.
     
    Joined
    Jun 24, 2013
    Messages
    710
    Reaction score
    11
    The shader illusion thing could be do-able I think, as you won\'t have the whole gravity direction problem, it\'s simply the view that warps (would only apply on planet\'s surface though..).
     
    Joined
    Sep 15, 2013
    Messages
    14
    Reaction score
    0
    • Legacy Citizen
    It don\'t need fixing IMO - the current idea of planets works very good. It should stay as it is.
     
    Joined
    Aug 6, 2013
    Messages
    405
    Reaction score
    47
    I like it how it is, however, I would like the planets to be half spheres with the landscape on the \"flat\" side. Having the flat underbelly is fairly ugly IMP and once ores become more valuable and useful, it would feel cheap to just salvage the underside of the planet.
     
    Joined
    Sep 15, 2013
    Messages
    14
    Reaction score
    0
    • Legacy Citizen
    Agree with half spheres.

    BTW there could be also protection from attacking from bottom (like solid bottom) - since its visualisation of round planet u cant attack it from inside.
     
    Joined
    Sep 19, 2013
    Messages
    30
    Reaction score
    0
    cant it jsut be an idea to have one home planet where every body starts and can get back to a place where u ship wont beabel to just move but gets soem kind of static object i have not put lot of thinkign in to how it jsut a fast idea so feel free to think on it