Planets

    Discussion in 'Suggestions' started by kiwispike, Feb 25, 2019.

    1. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      Something I find incredibly frustrating in starmade is planets.

      By comparison to ships they are tiny, however they kill servers and computers.

      I can't help thinking "planets" from a Minecraft perspective can be viewed and severed with far less hardware requirements..

      I suggest planets are more like Minecraft, but from space they are a visual (like mines) so as to not affect pc and server.

      Access to the Minecraft world would obtained by "docking" with the planet.

      The concept is borrowed from a epic game called "freelancer" where planet access is via docking ports.

      "docking" transition time could give more time for server to pass the required blocks. (at a guess)

      Cons:
      planatary bombardment issues
       
      • Like Like x 1
    2. MacThule

      Joined:
      Jan 31, 2015
      Messages:
      1,689
      It is incredibly frustrating and literally every new player at some point early on is like "wait - we CAN'T actually land on the planets?"
      There is something already well in the works; we're all hoping that it's an improvement in terms of performance (it's definitely a major improvement in appearance). If not, they will eventually at least include a server option to use instanced planets so that those willing to forgo planetary bombardment and orbital planet mining can enjoy vast worlds that can actually be interacted with.
       
    3. Dr. Whammy

      Dr. Whammy Executive Constructologist of the United Star Axis

      Joined:
      Jul 22, 2014
      Messages:
      1,516
      At this stage, I'd settle for them fixing the radial gravity chamber or allowing for an always-on version of the traditional gravity block. At least then, we could make our own planets.

      This artificial planet loads as quickly as a large ship and produces very little lag when compared to the dodecahedrons. ALL I need is for Schine to fix the gravity and this thing can function like a true planet.
      Planetoid06.jpg
       
      #3 Dr. Whammy, Feb 25, 2019
      Last edited: Feb 25, 2019
      • Like Like x 3
    4. Ribbons0121R121

      Joined:
      Mar 2, 2018
      Messages:
      65
      make them any bigger, like an actual planet size instead of smaller than an asteroid. and no super fast planet regeneration, its kind of stupid.
       
    5. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      I already read a post by devs about how complicated this was to implement, which is why they went for the current design.

      When you think about it, the blocks only have 6 planes, so regardless of visible shape, they would always suffer 6 planes of gravity max.

      Pretty sure that's the jist of what I read.

      Each plane is actually like a docked entity (Im sure most people realsie) you can admin warp each plane off the core, and amazingly if you gather all the planes.... they dont lag when not around the core.

      I would guess its collision, just like when i made a 100r rotating disk of salvage beam/pull beams for a astroid "Eater"
       
    6. Dr. Whammy

      Dr. Whammy Executive Constructologist of the United Star Axis

      Joined:
      Jul 22, 2014
      Messages:
      1,516
      No offense, but you don't seem to understand how my planet is constructed. None of what you mentioned is applicable to my structure.

      1) There are no "Plates" on this structure. With the exception of the experimental "orbit" system (which has no gravity), everything you see here is one piece. This negates all collision-related issues associated with planet plates and simplifies things with regard to spherical gravity.

      2) While my design features 6 primary "sides", it actually allows for a minimum of 18 gravitational surfaces via the use of wedges or up to 3 docked entities, angled diagonally. Due to this "octagonal circumference" effect, you may get an even smoother plane transition than what you see on the current dodecahedron planets. The "corners" of my planet (areas set to a 45 degree angle on two axes) can technically serve as "walkable" tertiary gravitational planes via the use of tetra/hepta blocks; allowing for a maximum of 26 gravitational planes but for the sake of simplicity and ease of use, these are designed to be used for decoration only.

      3) This structure is specifically designed for radial gravity. Regardless of whether I stay on the 6 primary sides or get fancy with diagonals or even "corners", all that is required to make this work is a true radial gravity which pulls objects toward, and aligns them to the center of the gravity source. Schine's gravity chamber does not provide this but instead pulls objects "down" relative to the structure. This allows you to fall off the "edge" of a sphere like the old cookie planets; only to be pulled back to the nearest block, which is then seen as the new "down. You'll get trapped in some kind of weird sudo-orbit; repeating this cycle until you burrow into the structure, jump into a build block or docked entity or fall/thrust out of the gravity range. In my simulations, I was completely unable to land (gravitationally) on my planet because of this flaw. The ships kept sliding off the edge of the sphere and endlessly orbit-tumbled around it.

      TL, DR; My planet would work if Schine made a realistic spherical gravity model.
       
    7. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      No offense taken, I do understand the construction, Its exactly what shine said was so hard, because the system does have the limit without radial gravity.

      They said (Last I read, and it may change for all we know)

      there is only 6 planes of gravity, hence why they made the planets, multiple entities, to allow gravity to effectually be 360d x 360d

      each entity has its gravity.

      This works (As i read it) because though we only have 6 planes of gravity (Faces of blocks) we have almost infinite variation on there rotation.

      I'm sure you know all that, in any language we want to put it :) my point was, Last i read, Shine said it wasn't possible ill see if I can find the post for you. It was way back when we first got planets and their associated problems, It was a huge topic, and they gave a very very in depth explanation as to why.

      I didn't reference your build at all, I didn't think you had plates, it was effectually irrelevant to what I was saying, I was merely saying shine said no, then explaining that the plate system is the way it is because of working within the confines of the engine.

      They had huge amounts of excellent points, One of the points I remember reading was how spheres don't exist in games. Its a wrapped plane. Which doesn't work if you are using equal sized objects (A wrapped square wouldn't be a square)

      Im no good explaining... Found one of the posts for you.

      https://starmadedock.net/threads/st...ical-planets-dont-fit-in-a-block-world.22996/

      (Took like 3 seconds, searched round planets)

      The old NVidea controllers used to always show off the wrapping ability, turning squares into bouncing green balls. but this post breaks it down into laymans terms nicely.

      But effectively, what your asking for doesn't exist, in any game engine, and is outside the realm of 3d. as this is a "true 3d" game, its therefore not plausible.

      irregardless, your planet looks awesome, not saying anything to the contrary, ony that its not possible. Great work.
       
    8. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      I drew a picture. After drawing the picture I had a go at programming square as round as apposed to round as square. I'm no rocket scientist I assure you. But no matter what I do (From a pure spherical perspective) a cube has 6 fail points, a circle built out of squares has Error = BF(6xDxD(DxD(DxD(DxD..... this goes on for eternity.... unless i partition the sphere, and make it no longer a sphere Error = BF(6xDxDxDxPxPxP). (P = partitions) which as you may see, has taken us back to a 3x3 (3D & 3P) (Block Faces)
       
    9. Dr. Whammy

      Dr. Whammy Executive Constructologist of the United Star Axis

      Joined:
      Jul 22, 2014
      Messages:
      1,516
      Interesting read.

      In all actuality, 6 gravitational planes would work for my structure as well. In fact, I was experimenting with individual gravitational planes long before Schine announced "radial" gravity.

      I can accept, from a programming standpoint, that true radial gravity is hard to code into the game. I can even forgive this false advertisement of their so-called "radial" gravity chamber effect.

      ...But what I cannot forgive is the fact that they have repeatedly ignored the one key work around that could fix all of this; something that could have been implemented from the start. Always-on one-plane gravity. We already have the gravity module. It's been in-game for roughly 4 years. We've repeatedly asked for the option to leave it on by default and Schine has ignored our requests. ...for four years; instead choosing to waste everyone's time with not one, but two dysfunctional gravity features that no one asked for. We can toggle lights, plex doors, logic, rails and other things, yet gravity is left as a temporary-only effect.

      I would gladly do without Schine's headache of radial gravity code and make my own simulated 18-26-sided "radial" gravity. I've been trying to do it for years; using area triggers but the temporary nature of the gravity modules and the unreliability of area triggers made the experiments impractical. For player-made multi-plane gravity to work properly, we need two things:
      - an always-on setting for the existing gravity modules.
      - a function that changes gravity and alignment as you travel from one gravity plane to another.

      Given that we've seen a minimum of 3 in-game examples of always-on single plane gravity (one of them with functioning gravity/alignment transitions), this is entirely possible; if not easy to implement into the game. To be honest, Schine's lack of attention to simple things like this (that have been requested for years) tends to take away my interest in building. It's a real bummer when you have such a cool concept that you know others would enjoy; only to have to put it on indefinite hold or completely scrap it because you've built beyond the (arbitrary) limitations of the game.
       
    10. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      Definitely possible I believe, as you say, already in game. I think everyone wants working planets. As far as I had read, it is part of the next big update..

      Lets hope it works. ;) but your planet. Working or not is very cool!! I'd land on it gravity free :)
       
      • Like Like x 1
    11. jayman38

      jayman38 Precentor-Primus, pro-tempore

      Joined:
      Jul 13, 2014
      Messages:
      2,506
      It would be relatively easy to calculate a radial gravity around an object's center of mass (already calculated). In fact, it could be made more realistic than the gravity blocks Starmade has now.

      1. Calculate a bounding box around the object corresponding with gravity's maximum influence distance (I think Starmade already has this as a constant for planetary gravity plates.) The current influence distant constant would be too short for this purpose, so this mechanic will probably need a much bigger distance constant.
      2. For all other objects (ships, asteroids, astronauts, etc.) that intersect with this bounding box (programmatically limiting the number of calculations required), calculate the distance between center-of-masses and again, compare to the influence distance constant.
      3. If the second object (ship, asteroid, astronaut) is too close to the gravitational COM, then do nothing. (This is a safeguard, to prevent player frustration and gravity prisons as trolling tools.)
      4. If the second object is in a distance between the too-close constant and the maximum influence constant, calculate the percentage of the gravity effect, depending on distance. (Closer objects are pulled more strongly, while something on the edge of the influence distance will be pulled less.)
      5. Calculate the vector of the gravity pull from the second object and the gravitational object and add it to the second object's velocity.
      6. Profit with Radial Gravity!

      If only collision, and collision damage could be calculated so relatively efficiently.
       
    12. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      Huh.. What .. No.

      There are no spheres in the game. Or in any game or engine I know of.

      Spherical gravity cannot exist.

      It can be emulated with stitching and wrapping. But not in a game that actually has all three dimensions..

      Because... Well... Spheres don't exist!!

      From a mathematical standpoint it's easy.

      However, Just make a circle in the game. With all your human intelligence (not being smart, implying that we can fathom a lot) look at the circles. No matter how you look at it... It's a set of 4 sides and two planes.

      And you don't have to believe me. Ask any programmer, hell after all these years we are still stuck mapping the globe into a 2 dimensional form.

      Sphere to square or square to sphere has been a problem forever. And probably will always be. Which doesn't worry a game like... X series, freelancer ect. As they use planes. So gravity is easy. Its one dimensional, then they wrap your view and boom. You think you have spherical gravity. But you don't.

      Even when you think your moving in a free form straight line, your actually moving in cubic variations.

      Therefore we always have to Calculate a dimension from one of six surfaces.

      There litrally is no constant in the game. Just squares. Lots of squares.

      There is absolutely no issue with pulling to a centre point. A 10 year old could do it. It's everything else that's complicated.

      I could theoretically do it for a sphere. I assume shine could. But it would take me many many hours. With very special code and conditions.

      And the second you start building a large space station. It would break.

      And I would likely never be able to program it so you could make a "sphere" and have problem free spherical gravity off the bat.

      I mean honestly. It's high school science. Squares and circles don't fit.

      We can't, after hundreds of years figure out how to map the globe accurately.

      We can only do such things with analog. Or tricks. And this is a square game.
      --- Updated post (merge), Mar 8, 2019, Original Post Date: Mar 8, 2019 ---
      I don't know why I wrote that. It's obvious he never took the time to read everything. Or the far superior shine explanation. I'm with shine guy.

      I've always known its impossible. Everyone does, but he put the effort into experimenting and explaining.

      *impossible is used in a relative sense to the discussion, in the type of game yadda yadda yadda
       
    13. jayman38

      jayman38 Precentor-Primus, pro-tempore

      Joined:
      Jul 13, 2014
      Messages:
      2,506
      Please quote the exact line where I wrote the word "sphere" or "spherical" in the post you quoted.

      Have you ever programmed within the context of a 3D virtual environment? I assure you, I have.

      I assure you, I am well aware of how to calculate cartesian coordinates from geometry.

      Your tone is argumentative, but you seem to agree with me here.

      No, it's high school math. It does fit. Just not within the context of a single voxel instance. However, I have seen that Starmade, by its nature is not a single voxel instance. Each planet plate, each ship, each door, each asteroid are each their own voxel instances. How do they move in relation to each other? Via 3D math. 3D math is how my suggestion for radial gravity would work.

      I am aware that I did not quote or address all the text in the response above. Unaddressed parts were mostly emphasis and duplication.
       
    14. Dr. Whammy

      Dr. Whammy Executive Constructologist of the United Star Axis

      Joined:
      Jul 22, 2014
      Messages:
      1,516
      kiwispikekiwispike and jayman38jayman38 You both have good points but there's no need to flaunt your programming skills and spacial acuity here.

      The point is; we don't need a perfect spherical gravity. We just need a means of emulating spherical gravity without the headache that comes with multi-plate planets and/or collision checks. If Schine can somehow make these upcoming Icosahedron planets work, then more power to them. But I have a much simpler, if somewhat unorthodox, idea that would work well for single-piece, player made structures:

      Gravity Arrays

      This idea uses the same gravity block we've had all these years but with a twist.

      1) Place the first gravity block and select it as you would a weapon computer.

      2) Place additional gravity blocks (slaved to the first block) in a geometric pattern of your choice. All gravity blocks will be connected to each other via "logic pipes"; showing the shape and size of the gravity field. Gravity pull direction will always be toward the gravity block from step 1 and will cease to affect any object that travels outside of this geometric area.

      3) You can repeat the above steps to create multiple gravity fields in any shape, size or direction; in as simple or complex a pattern as you want; even emulating ring worlds and spherical planets. This eliminates the need for multiple plates and collision check lag boxes. All that's needed is an always-on function and you're in business. Your thoughts gentlemen?
      Gravity.png Gravity2.png
       
    15. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      Jayman38, yes I have programmed 3d. I don't mean to sound argumentative, apologies if that's how I come across. I'm very blunt. Always.

      In a perfect world I agree with all your pretense. And often we have the luxury of perfect world programing.

      I do understand that our ships become separate entities. And agree in theory this would allow a system as discussed by you.

      I just disagree it can be possible while allowing the players ubfetted freedoms without significant issues.

      Dr Whammys suggestion gets rid of the issues of "freedom" allowing us to decide as apposed to programing in infinite variables. Though we still couldn't have gravity on a circle. It would allow us to decide how we want the gravity to play out.

      We would still have areas of bad gravity. But at least we could choose the bad gravity.

      And I wasn't refrencing the spherical gravity was hard. As we all know plotting coords is easy as pie. It was (and always has been) what happens when you hit a block which is the complicated issue. The block has two faces facing us at all times (virtually) and in anything that's not aligned with said block faces will always have to compute how to align us.

      Doctor whammy's suggestion addresses the computational requirements (which are infinite due to our freedom of shape/size by making us choose the appropriate direction of alignment we want.

      It we have a 1km circle and a 100 meter ship deciding our alignment would always be easy. A 10km circle is easier still. A 50m circle with a 100km ship is still easy. We would always be in one gravity or another. A 100km circle with just a player would be highly complicated to decide exactly which block would align where while using the same system as the big ship/circle. The problem being. We can do all of these things at our leisure. And inbetween.

      Even if shine make the new planets work, I think Dr. Whammys idea would be benifitial for a lot of players.
      --- Updated post (merge), Mar 9, 2019, Original Post Date: Mar 9, 2019 ---
      As I side note to the original suggestion.

      Even if planets were instanced. A possible way of still mining would be to do something like eve. I havn't actually used there mining system. But they effectively gain resources from orbit I think. Doesn't allow us to bombard a planet. In my youth, games bombarded planets by simply showing a map of the planet, and you choosing a target. It wouldn't give the same joy if seeing something blow apart. But I assume even with instanced planets. This could be accomplished. And it just occurred to me. This could still allow us to make planets like Dr. Whammy.. If we could set it as instanced. This would create a bit of.a paradox making it square/flat however ...

      If we had a "planet builder"

      Allowing us to create a Shere of x size.

      The instance calculates that into x blocks by y blocks. We snapshot the flat planet and wrap it into a sphere.. Giving us the "view" of the planet.. Though not interactive.. And we can instance into the planet and work on its flat face.
       
    16. jayman38

      jayman38 Precentor-Primus, pro-tempore

      Joined:
      Jul 13, 2014
      Messages:
      2,506
      Pardon me. It sounds like the general conversation is on developing gravity for specific planes (planet plates and ships and such). My suggestion for radial gravity was focused on single-voxel-instance planets, where the entire planet is made as a large, single voxel instance as shown in post 3. Carry on.
       
    17. Dr. Whammy

      Dr. Whammy Executive Constructologist of the United Star Axis

      Joined:
      Jul 22, 2014
      Messages:
      1,516
      Being essentially a large voxel cluster, my design isn't a perfect sphere. As such, it would be a mistake to attempt to program for true spherical gravity.

      With regard to usable surfaces, my structure works best as a 26-sided octagonal polyhedron but with my idea from post 14, you can make the gravity as simple as a six-sided cube or as near-spherically complex as you want. Personally, I would be satisfied with individual always-on gravity zones with a direction of pull that we; the builders set. Even simply granting the ability to leave gravity modules in an always-on state would be better than nothing.
       
      • Like Like x 1
    18. jstenholt

      Joined:
      Jul 29, 2013
      Messages:
      1,159
      I may not be a fancy programmer like what's you are, but as a cop I know how to solve this problem. Bash your heads into each other until we learn to play nice. *spits into bucket*
       
    19. Dr. Whammy

      Dr. Whammy Executive Constructologist of the United Star Axis

      Joined:
      Jul 22, 2014
      Messages:
      1,516
      Hey! Don't come in here that police brutality stuff. Haven't you heard? BLOCK LIVES MATTER!!!

      Sorry man, you left yourself wide open for that.
       
    20. kiwispike

      Joined:
      Jul 25, 2017
      Messages:
      30
      Well it actually turns out all of these suggestions have come up before lol, when it comes to planets, I think everything has been sugested lol.
       
    Loading...