Planets 2.0 Diversification Suggestions

    Joined
    Aug 5, 2015
    Messages
    51
    Reaction score
    42
    • Purchased!
    What a wonderful game this already is in this functioning alpha state. The breadth of features and functionality at this relatively early stage shows great promise.

    I missed the Disc World (Planets 1.0) era of the game, but I've now spent several weeks with the current dodecahedron planets (Planets 2.0). A great foundation, but I think more could be done to make exploring planet after planet more exciting and enticing. And much of it from a design and programming standpoint may very well be low hanging fruit.

    I'll lump all these suggestions under the heading...


    Planet 2.0 Diversification

    The goal: robust uniqueness of each and every planet.

    The strategy: random variants that leads to nearly infinite combinations for terrestrial planets. From a design perspective, think of planets like one might a good character customization tool. You have options for headwear, shirts, pants, shoes, accessories. But in the case of planets, replace these features with things like terrain, atmosphere, life (with sub-categories of flora, fauna), etc.

    The Elements in Detail:

    Atmosphere: Sky color on each planet should be procedurally generated and not limited to any one terrain type. Period. Pink. Blue. Green. Purple. Mustard. Even with random RGB values (or RGB+A?) should be easy to limit within an acceptable range. But keep us searching for that perfect oddball aesthetic combination. Maybe that purple alien world with the unique pink sky is the compelling element that drives one player to call that planet home and develop it.

    Gameplay mechanic related to varied atmospheric colors: I've seen many requests for gas giants. I agree with and support these sentiments. If and when implemented, I believe that a system for gasses as another category of resource should be implemented. Unlike crystals, ores, and rocky minerals, this resource would not be directly mineable but instead would require placing atmospheric vapor collector blocks. To keep symmetry with the other resources, collectable gasses would be broken up into 8 colors, the ROYGBP spectrum plus B&W. Terrestrial planets would provide only 1 color of 6 from the ROYGBP resource spectrum determined by the random RGB value of the atmospheric color. In other words, a blue-ish sky would yield blue gas capsules in your harvester, an orange sky yields orange gas, etc. To motivate players to build cloud city type outposts in the upper levels of gas giants, those in turn would provide 3 different gas resources, from the full spectrum of 8, including B&W.

    There should also be the random chance of no atmosphere on most terrestrial terrain types (all except verdant green worlds). If this occurs, all life variables should then default to no life at all.

    Procedural height for atmosphere. (credit: Parameter) Values for atmospheric height and density procedurally determined and assigned to each planet uniquely upon generation. If a system of drag or atmospheric entry heat/damage is ever added, these values would become more than aesthetic differences between planets, affecting the degree to any particular planet heats up or slows down a vehicle upon atmospheric insertion.

    Terrain: Terrain is well on its way for this stage of development. The terrain types are simple but robust enough, with one possible exception: think the moon or Mercury. There is no simple dull grey cratered terrain covered in circles to give a strong sense of geological inactivity and countless craters. In my opinion, in the world of voxel art, the physical dimensionality of all those craters (larger exceptions aside) is not as important as capturing the feel of multiple overlapping rings of various dimensions.


    Aqueous Terrain Variants: I realize that there is no engine yet for any sort of fluids in game yet. But the lack of oceans and lakes is pretty glaring. If a physics mechanic to handle fluids in game is implemented, each terrain type suite should have the option of generating an aqueous variant. Verdant terrain islands and mostly blue water. Red planets of stony floes separated by vast cracks of lava with vast lakes of the stuff. Sandy planets with ice deposits and frozen subterranean lakes. Ice worlds with rocky islands separate by with liquid oceans below the ice. Toxic seas on purple planets. But to reiterate, not all planets would see these formations. Keep the terrain generator working as is, just add these as variant generations of terrain on a planet wide scale. (There is also of course the option of making liquid color on any given planet be random from spectrum of 6 corresponding ROYGBP colors, and introducing it as a resource as well.)

    Weather: Some weather effects simply need to be implemented.

    Lightning: Would not occur on all planets. At generation of a planet, whether or not it ever sees lightning is defined. Lightning would be essential for stormy gas giants. Could have EMP style effects temporarily draining portions of power from blocks if it strikes. The color absolutely should be procedurally determined and random for each planet. And this color should follow a gaussian distribution, meaning a planet with mostly green lightning would occasionally have both aqua and yellowish lightning.

    Precipitation: All terrain types (except the dead crater worlds proposed above) should check upon generation as to whether they precipitation ever. If so, one of the following precipitation types should be randomly (where appropriate) assigned to that planet along with a random frequency of precipitation for that planet.

    • Rain: All terrain types should be able to be assigned rain as their form of precipitation. Be it acid rains on Venus, methane on Titan, or water here on Earth. If this is on an aqueous planet, the rain should correspond in color to the existing surface water. If there is no surface water, the color of the rain should be assigned a random value.
    • Ash: Any planet that sees volcanic activity and has a true value for precipitation should have a chance of raining volcanic ash. Perhaps the chance of this should correspond to terrain type, with both red and purple planets having a higher chance?
    • Snow: Similar thinking, from flurries on green worlds to snow on ice worlds.
    • Dust: Sandstorms, especially possible on dessert worlds.


    Fog: Not sure if simple draw distance fog as done in other voxel games would be able to be implemented, but the possibility of foggy worlds could add excellent ambiance and variety to worlds.


    Life: The presence or not of life on any given world, and the degree of its complexity, could add tremendous diversity and motivation to explore the galaxy. I am aware that both Flora and Fauna systems are currently in some stage of planning or development. This is great! But please, please consider making life a little rarer in the universe. Many planets should be dead (with the exception of all green worlds). And some planets with life should have only simple fungal or lichen life... perhaps in the form of decals like ore and crystals currently work. Some planets should teem with life while others find it thriving only in caves. And when life does occur on a planet, it should ideally come from a robust library of options, very rarely repeating. I could see this going many different ways, but refrain from saying much more as I'm eager to see what the developers have in the works for both Flora and Fauna.

    In Conclusion...

    There are other categories I could suggest, more ideas I have for gas giants, rings (including the rare ring around terrestrial planets), planet classes such as dwarf planets, standard planets, and gas giants that then affect the likelihood of any of the above variants. But it's getting late here and I hope the general idea is pretty clear in this post:

    Planets should have multiple independent procedurally determined traits and features, making each and every planet that is generated in our galaxies much more distinct from each other.
     
    Last edited:

    jayman38

    Precentor-Primus, pro-tempore
    Joined
    Jul 13, 2014
    Messages
    2,518
    Reaction score
    787
    • Purchased!
    • Thinking Positive
    • Legacy Citizen 4
    Precipitation always makes for a more immersive (if laggy) environment. I want the option of precipitation. (And the client-side option to turn it off, if desired.)
     
    Joined
    Feb 14, 2014
    Messages
    90
    Reaction score
    20
    I remember being hyped for the new planets (Dodecahedrons) back when they were first showcased. At this point, I kinda want the old pancake planets back since they'res so little building room on them. The planets seem to have become more miniscule, and have rather odd transitions between each plate (you may see a line 30 blocks high between each plate)

    They really need some more love
     

    sayerulz

    Identifies as a T-34
    Joined
    Nov 16, 2013
    Messages
    616
    Reaction score
    179
    • Community Content - Bronze 1
    • Legacy Citizen 3
    These are all good ideas, and some of them should be fairly easy to implement.

    it would also be good to make the planets bigger
    You can turn up their size in your config, but the default size is kept as it is because they are very laggy.
     

    EMC007

    The guy who's always in way over his head
    Joined
    Aug 8, 2014
    Messages
    132
    Reaction score
    140
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 5
    If you go into your server.cfg in the starmade folder with some tool that allows modification to text (you probably know all this), the will be an option called planet size or scale if you scroll down a bit. I believe you just change some numbers around and it makes planets bigger, but the only planets effected would be either ones that haven't been loaded yet, or ones in a a new universe (again you probably already know this).
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    I look forward to future development and expansion of planet game content and mechanics. I'm just going to reiterate: Loading the entire planet's worth of blocks into client and server memory all at once limits the size of planets. Also, saving an entire planet segment when no one has bothered modifying it is unnecessary. The way the game engine currently treats planets is just wasteful. If this wastefulness is corrected, I expect it would be possible to make planets very, very large with radii in the thousands rather than hundreds.

    Size aside, I like the idea of procedurally generated planet environments. We're going to have procedurally generated creatures, so why not procedurally generated environments? It would also make planets with certain desirable characteristics more valuable.
     
    Joined
    Aug 5, 2015
    Messages
    51
    Reaction score
    42
    • Purchased!
    If you go into your server.cfg in the starmade folder with some tool that allows modification to text (you probably know all this), the will be an option called planet size or scale if you scroll down a bit. I believe you just change some numbers around and it makes planets bigger, but the only planets effected would be either ones that haven't been loaded yet, or ones in a a new universe (again you probably already know this).
    I personally enjoy playing with a wider range of planet sizes, including dwarf planets that are only r=50. I like large planets to be rarer, especially due to the load and processor weight issues described by Valiant70.

    To get a good spread, I go into my .cfg and set Planet_Size_Mean to something between 200 and 300.

    Then I set the Planet_Size_Deviation to something between 250 and 400. This will give you the occasional huge planet but will also give you a healthy population of dwarf planets that are easier to load, fly by, and make IMO perfect little spots for outposts, research stations, bases, etc. (Note that r=50 is the low end limit on planet size, so anything that goes below that, which many will with these settings, will reset to r=50.)

    As a total aside (and I've not done this yet!), I've thought about trying to build a multi-layered Coruscant type world on a smaller planet, taking advantage of the current gravity rules. This in theory should allow one to make a very dense urban planet with a smaller core that ultimately looks like a midsize planet but has several layers deep of roads, tunnels, undercities, etc. (May save this endeavor till October when I will have enough free time to scout out and join an appropriate creative build/light RP friendly server. This may honestly take the help of many hardworking creative builders to pull off in the magnificence it would deserve!) Currently the rounding of corners from plate to plate is still wonky. But I think it's still manageable enough to have fun trying to make such a build with working undercity viaducts and causeways that transit from plate to plate.
     
    Last edited:
    Joined
    Jan 25, 2014
    Messages
    95
    Reaction score
    53
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 6
    If you go into your server.cfg in the starmade folder with some tool that allows modification to text (you probably know all this), the will be an option called planet size or scale if you scroll down a bit. I believe you just change some numbers around and it makes planets bigger, but the only planets effected would be either ones that haven't been loaded yet, or ones in a a new universe (again you probably already know this).
    Would you have to scale up the universe, also, if you want to avoid visual problems? I have done this before to get massive planets (something like 3km across each plate), and the planets worked great. However, the visual atmosphere that you see from space stayed the same size. When I would fly to a planet, it would look like it was still a long ways off, but then I would suddenly crash into it as the planet loaded in because the visual atmosphere is still the default size. Also, the atmosphere you see from the surface of the planet wouldn't show up unless I dug down halfway into the planet. Then it would . Does scaling up the universe fix this?

    Also, some optimization for the planets would be nice. My computer could barely handle a planet that size, and it is a high performance computer.

    Back on the subject of this post, I really like some of the ideas suggested in this thread. I would love for some planets to have random, or even no, atmospheres. A dwarf planet without a atmosphere would be great for making an asteroid-like base.
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,330
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    I still don't understand why we can't have planets as an instance of some sort; most of the problems people talk about can be dealt with relatively easily.

    • Loading screens:
      Starmade (somewhat) smoothly loads sectors full of blocks all of the time - Why would we need a loading screen just because it's a different type of sector? If, as I suggested, a low-detail heightmap was used further up, the transition could be fairly smooth compared to current planet loading, and the planet would also look nice from orbit.
    • Awkward borders like Minecraft has, strange appearance from above:
      Generate heightmaps in a larger radius than the actual planet (block) loading, create LoD cubemap things from that, render out to a reasonable horizon, problem solved. When you're up in the air high enough, it can just show lower LoD terrain. This is how a lot of flight simulators and stuff seem to handle it and it works well enough.
    • Server database size:
      It doesn't need to blow this up much. Save a procedural generation seed for each planet before generating it; don't save unmodified chunks and just generate them whenever they need to load.
    The only problem I can't think of a solution for is the space-to-ground interaction. Some people propose just doing damage to ships above a certain size trying to enter planet atmospheres; this is a bit of a clumsy solution but it certainly balances things out; I'd be happy with that if it means no titans coming down and just glassing people's bases with the click of a button. As cool as it sounds for the guy doing it, nobody likes weeks worth of work just splattered because some dickass wanted to piss someone off.

    That said, a lot of these solutions could be applied to current planets quite nicely. A stored seed and low-detail heightmap would help mask the transition from loading planet to loaded planet, and smarter planet segment (chunk) loading would allow for massive, awesome-looking dodecahedron planets. The stored seed would also stop the strange results of an unmodified planet segment re-generating differently every time we come back to it.
     
    Last edited:
    • Like
    Reactions: EMC007
    Joined
    Aug 5, 2015
    Messages
    51
    Reaction score
    42
    • Purchased!
    Snipping Ithirahad's post for brevity.

    These are interesting ideas. They read like a radically different way to handle planets and some of their current issues. If I understand what you are describing, I imagine aesthetically, it's a bit closer to the old Black & White games when one would soon out beyond the clouds, but with more of a voxel game flavor?

    I'm not sure if I agree with them. But giving you an "informative" rating because I find them certainly to be thoughtful. I did not know about unmodified planet segments re-generating upon return to planets...

    I love the Battlestar Galactica universe. But so many of sci-fi universes that tickle my imagination and inspire me to jump in and start creating in Starmade rely heavily upon planets and habitation. So as much as I like BSG, I don't fancy my most compelling experiences being limited to a flotilla of capital ships. (That being said, I think stations and large ships are great in this game, even in its alpha build!)

    So I really, really want to see planets work well as a key component of this game, from their aesthetics to their strategic role.

    I have a feeling as Starmade goes along and my relationship with it continues to deepen over the coming years, I will continue beating the drum for more and better stuff for this corner of the game.
     
    Joined
    Aug 21, 2015
    Messages
    165
    Reaction score
    87
    • Community Content - Bronze 1
    • Purchased!
    Snipping Ithirahad's post for brevity.

    These are interesting ideas. They read like a radically different way to handle planets and some of their current issues. If I understand what you are describing, I imagine aesthetically, it's a bit closer to the old Black & White games when one would soon out beyond the clouds, but with more of a voxel game flavor?
    <SNIP>
    I think the core idea Ithirahad brings up is some LoD (level of detail) optimizations for planets. If you're not familiar, LoD loads different meshes for a 3d object at different rendering distances. We have something similar for planets already at a smaller scale: at distance, you only see an atmosphere ball for a planet, whichj turns into a small rendered planet at an intermediate distance, and finally loads chunks close up.

    You could add one ore more intermediate levels of LoD between the long distance dodecahedron rendering and the full block mesh. Presumably each face of the planet is composed of a number of chunks, which are cubes of individual blocks. You could do a sampling of blocks heights in a chunk and generate a mean height for the chunk. Then when a user gets close to a planet, instead of generating all the individual blocks in chunks for the user, you first generate a single giant block for each chunk with a height equal to the average height for that chunk. That way, the first thing the user sees of a planet is a rough chunk-level block outline of the planet.

    As the user gets closer, those chunk blocks could get replaced by 1/4 chunk blocks with heights generated by a similar process. Repeat as many subdivisions as you care to do until you arrive at loading the full chunk block mesh. In practice, you would probably only want to increase LoD from chunk level 1 or 2 times before rendering the chunk's block mesh. This is because at some point higher LoD take nearly as many resources to display as the actual mesh itself, so you may as well use the actual mesh.

    What this gives you is a google-maps-esque approach to planet rendering: You first load an inexpensive "rough-in" of the planet's chunks. This buys you some time (satisfies the user long enough) to load a more refined LoD, which in turn buys you enough time to load more, etc.

    One thing this requires, though, is a cheap way of generating height maps of the planet's chunks, so you can do it quickly as the user approaches, or preprocess when a user is "near" (within a system?) and store heights cheaply (maybe only 16 height levels?) in the database.
    [DOUBLEPOST=1440681492,1440681145][/DOUBLEPOST]
    Planet 2.0 Diversification

    <SNIP>
    This post is pure win. I wish I could like it multiple times. One thing I might add is atmosphere extent above should also be a procedural option. Atmosphere height should have a maximum value depending on the planet's size, but should have a range within. That way, you could have a small planet barely hanging on to its atmosphere, or a big planet with a giant sky, and everything in between.

    This could also be important if/when Schine implements impacts of an atmosphere on spacecraft. Maybe lasers don't work well in thick atmosphere, so salvaging a planet with a thick atmosphere from space would be hard. Maybe atmospheric drag is a thing, and it slows down large ships more than small ones. That means a titan really doesn't want to enter planetary atmospheres, or it risks getting stuck, with a major towing operation required to retrieve it.
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    I'd say we only need one or two levels of detail. Another thing that Schema could do as a short-term fix is to keep rendering the medium-range surface mesh anywhere there is no loaded chunk. That would hide the core for the most part. Seeing the core because one's computer can't load an entire planet into GRAM is unpleasant.
     
    Joined
    Aug 5, 2015
    Messages
    51
    Reaction score
    42
    • Purchased!
    This could also be important if/when Schine implements impacts of an atmosphere on spacecraft. Maybe lasers don't work well in thick atmosphere, so salvaging a planet with a thick atmosphere from space would be hard. Maybe atmospheric drag is a thing, and it slows down large ships more than small ones. That means a titan really doesn't want to enter planetary atmospheres, or it risks getting stuck, with a major towing operation required to retrieve it.
    Valiant70 & Parameter, thanks for the further explanation of LoD solutions.

    Added this idea of procedurally generated atmospheric height and density to the OP.