StarMade dev update: why spherical planets don't fit in a block world

    Joined
    Jun 28, 2013
    Messages
    50
    Reaction score
    0
    I like the planets just the way they are. They\'re unique to the starmade universe. When you say \"Hey, whats that game with the flat planets?\" people will say \"You mean starmade?\"

    Their very different with the concept of a planet and that\'s why I like them. Everyone does sphereical planets. Lame.
     
    Joined
    Aug 27, 2013
    Messages
    2
    Reaction score
    0
    • Legacy Citizen
    The sphere could simply be rasterized in 3D. Easy to build, fairly easy to compute center of gravity, and keeps the voxel system pure.

    Of course its got a downside -- both the feature generation and the movement code would no longer be able to assume that their (relative) orthogonal directions are flat planes. Not sure how big of a hit that would be on dev time, processing time (for computing features) or playability (for walking around on and interacting with a \"bumpy\" surface and not even consistently bumpy at that.)

    Computing CoG is dead simple with this method. If I remember correctly its just:
    ==> (sum[p(x)*w(x)]/sum[w(x)])
    for all points p(x) and corresponding weights w(x). Also very easy to adjust the CoG as blocks are added or removed by simply keeping the sums around separately -- then its just a multiplication, a couple of additions and a division (for each direction that is.)

    .. Err, I just read through existing comments.. this suggestion essentially brought up (and awesomely illustrated by) KreigKlinge. So all I\'m really adding is the computation for CoG and opening a bit of discussion of possible problems with this method. But hey maybe that much will still be useful!
     
    Joined
    Jun 30, 2013
    Messages
    351
    Reaction score
    347
    • Community Content - Silver 1
    • Purchased!
    • Legacy Citizen 4
    The inherent trouble is that the Starmade universe is built on euclidian geometry, and spherical worlds with central gravitation are based on noneuclidian spacial geometry. I recognize the inherent problems in trying to marry the two smoothly. At this stage of development I\'m delighted with the game and any way you want to build planets... heck I\'ve almost given up exploring for the joy of just building space-ships. But I DO like my planets nicely spherical, or at least giving that impression. All I ask is that you keep the possibilities open for later versions... maybe Star-made full release version 2?

    If you do revisit it I still think two client modes would be the way to go. From space, project an image of the surface on the outside of a sphere. From the surface, project an image of the sky on a sphere. Treat each point of view as an internally consistent euclidian framework, and don\'t worry too much about the distortions in either projection. If you did it that way you might also have an easier time making the poles impassable, and making the world effectively cylindrical by recursing east to west.
     
    Joined
    Aug 27, 2013
    Messages
    2
    Reaction score
    0
    • Legacy Citizen
    In a first approximation, gravity works just fine in Euclidean geometry -- Newton\'s mechanics worked very well for almost anything we could actually measure for several hundred years. Its just a constant acceleration towards the center of gravity. As long as you can measure the center of gravity (and give yourself a reasonable cutoff,) you can compute Newton\'s version of it very very easily.. especially if you\'re willing to make the approximation that gravity is one-way (ie: the planet pulls you but ignore the fact that you also pull the planet.. insignificant on a large planet but would be quite wrong if the planet is on scale similar to your ship.)

    Its only when you get into the finer details of extremely heavy and/or extremely fast that you have to break out Einstein and things get horribly complicated. Going to that level of detail is probably more trouble than its worth even if the processor could handle it.

    For a game simulation like this, basic Newtonian physics should be perfectly acceptable. Nobody\'s going to be spending a whole lot of time noting the lack of lensing effects I\'m sure and if you want black holes, they\'d be a lot easier to cheat and code in a blank spot in the rendering engine than trying to actually bend light in the physics engine.

    The geometry is the bigger problem. If you want a flat \"ground\" then you\'re stuck with trying to bend voxels out of cube shape in some way as schema was originally discussing.. on the other hand if you go with a rasterized sphere as I\'d suggested, you have to deal with walking over the corners of the voxels rather than the faces since you\'d still want \"down\" to point toward the center of gravity.

    Overall there\'s no real easy answers when trying to deal with a sphere in Euclidean geometry. There\'s a nice theoretical metric called curvature that implies a sphere (curvature=2 IIRC) can never be correctly mapped to Euclidean space (curvature=0) no matter what you do -- you\'ll always have to deal with some sort of approximation or trick to make it work. Just a question of analyzing pros and cons of the various methods and choosing the one you like best.
     
    Joined
    Jun 30, 2013
    Messages
    351
    Reaction score
    347
    • Community Content - Silver 1
    • Purchased!
    • Legacy Citizen 4
    ...that all matter in the star-made universe is based on a hexahedron crystaline lattice, and the \"atoms\" are 1M cubes. These factors will make any errors in whatever approximation you choose jarringly obvious.
     
    Joined
    Jun 21, 2013
    Messages
    9
    Reaction score
    1
    i think you should go with the cube, but do diagonals connecting the sides, with a gravity shift from one plane to the other midway along (and the diagonals have to be large enough so that one cannot simply jump off the side of a planet anymore).
     
    Joined
    Aug 18, 2013
    Messages
    4
    Reaction score
    2
    I vote for separte sector idea, I would just add that ships should be detectable from outside in some way, but sectors would allow huge planets that would still be spherical, work faster and add to gameplay.

    And, \"Entering planets orbit\" loading screen would not be any problem in my oppinion.

    Also it would add more realism speed-wise, as in solar system you go quite fast for normal speeds, in orbit although you would still go 50bps (or faster depending on config) it would be slower on global scale, as you can\'t really go that fast due to gravity and atmosphere. This also goes well with \"warp\" or \"hyperspace\" if it gets implemented where you would go much faster then in solar systems by still going 50bps+ in separate space.

    Planets can in this way be compleatly spherical (or cubical if it would fit better in world) from outside, atmosphere would be the transition border, entry points would be easy to calculate, but planets would have to be a bit larger from the outside which should not really matter.

    Cheer for awesome game 0/
     
    Joined
    Jul 17, 2013
    Messages
    44
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    This exact idea has been done, and basically exactly the way you guys are suggesting it. It\'s called Pytheas and has a planet which renders as a sphere in space, and transitions to a flat map when you enter the atmosphere with an unnoticible loading effect very similar to the \'sector transition\' streaking-stars loading we get now.

    I suspect you\'d also get a huge performance increase from doing this, as right now, planets are lag machines because of the number of blocks they use. Seperating them into their own area would make space battles less laggy (simple spheres are easy to render), and exploring their surface could be done with chunk loading as in MC.

    Planetary defenses could also be done by space stations in space.
     
    Joined
    Jun 30, 2013
    Messages
    351
    Reaction score
    347
    • Community Content - Silver 1
    • Purchased!
    • Legacy Citizen 4
    Start your planet with six pyramidal partitions (imagine taking six \"great pyramids of Giza\", coating all the top surfaces in wax, and then assembling them into a cube so all the apexes are in the center, and all the four sided surfaces are on the outside. Now imagine all the wax becomes unbreakable \"planet core\" block, and all the pyramid stone becomes minerals and soil, except,optionally, an inner cube of Deadly Lava! (tm). Let gravity pull in a linear fashion just like you have it now. Set the volume of the gravitational field as another pyramid coinciding with the soil area of the corresponding side, but with the \"base\" of the pyramid extending to atmospheric height.

    Voila! One 3d world renderable in current engine with only slight modifications to gravity, no tesseracts, distortions, illusions or extra client modes. No more mining worlds from the comfort of your ship by hovering under their bottoms. It\'s even cubical and fits nicely into the aesthetic of the game.

    The down side is that the skeleton of a totally mined out planet will look a bit like a radar reflector left floating in space. Even that could be fixed, and you might like the idea for the fix anyway. Any planet that looses 75% of its mass could be removed from the game, and replaced with an asteroid sector as the planet breaks up.
     
    Joined
    Jun 21, 2013
    Messages
    3
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    I love this type of gravity, but I have issues with the shape of gravity in relation to that planet, how it\'s so far off of the center of mass. What if you used this idea, but had the gravity originating from the actual center of mass? Say, running a check every time 1% of the planet\'s blocks have been edited that moves it to the current center.
     
    Joined
    Jun 21, 2013
    Messages
    3
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    Well, if you were to apply something similar to that image to 3D, you should essentially end up with 6 pyramids, extending outwards from the \'center point.\' Those would giver you the equivilant of the main 4 quadrants in the 2D image (the ones denoted by the x, the diagonals). From there it should be a relatively simple calculation. Find the \"quadrant\" it\'s in, this gives you your down direction. Then if there\'s ground below you, fall straight \'down.\' If there\'s not, fall straight towards the center of the planet.

    As for how you\'d determine the position of the center point, shouldn\'t it, ideally, be determined by the center of mass for the body? If you find that center when the planet is first generated, then periodically recalculate it (say, find the new centere whenever X% of the planet\'s blocks have been edited) this should also solve some of the issues that arise when you mine half a planet away.

    I know this is an opinion that seems to not be shared around here, but I find that the \'gravity transitions\' are less of a problem than the ability to walk off the edge of a planet.
     
    Joined
    Jul 12, 2013
    Messages
    10
    Reaction score
    2
    • Purchased!
    • Legacy Citizen 4
    Yes, the ground wouldn\'t be flat, it would be a 45 degree mess in every direction, but you already solved this problem with the ship cores. You can land on a planet with a flat ship, no matter what is its \"direction\". So if you want to build a station on the surface of a planet, don\'t join your building blocks to the surface, but place a build block, oriented to the gravity, and extend that with additional blocks to a whole building, independently to the planet surface.
     
    Joined
    Aug 4, 2013
    Messages
    1
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    If you do a \"load screen\" to enter planet then you cannot mine it from space etc. I like the idea in general but it would probably make this a different game. So either leave it as is or go oreo.
     
    Joined
    Jun 19, 2013
    Messages
    108
    Reaction score
    14
    • Purchased!
    Well, i know of a game that has fully functioning spherical planets.Evochron: Mercenary

    Schema, mabe you could talk to the guy who made the Evochron games and find a way to have a simple gravity system that will work for this system?

    Also, if you ever want to talk ideas with me, PM me. I have many more ideas then i will post :3
     
    Joined
    Aug 3, 2013
    Messages
    1
    Reaction score
    0
    thats exactly what i was talking about, and by making the planets bigger using this concept it would look and feel awesome
     
    Joined
    Jan 9, 2014
    Messages
    1
    Reaction score
    0
    • Legacy Citizen


    its a sphere made of flat panels but i\'m sure it woud be harder due to shapes. but i\'m sure something can compensate.
     
    Joined
    Sep 5, 2013
    Messages
    20
    Reaction score
    13
    i would go with pancake planets... it is easy to do... solve some problems and dont create much other.. will look good.