- Joined
- Dec 21, 2013
- Messages
- 10
- Reaction score
- 7
Hello everyone! I’ve been playing on and off for about a year and lurking on the forums, but I’ve never contributed before. Anyway, I’ve been thinking about planets and the (seemingly) frequent criticism that they are not interesting or useful enough to be worth settling on/visiting. I like building on planets a lot, but I agree that they are still a definite work in progress. While I don’t have any suggestions as to how to enhance their usability, I’ve been kicking around an idea to make them more diverse and thus more interesting, to encourage exploration. Specifically, I’ve been batting around ideas to increase the amount of default plants without having to substantially increase the amount of coding work required.
I think Schema was on to something in how he changed the way weapons work at the beginning of this year. By making weapon effect a result of the combination of two different elements and an (optional) third, rather than just a 1 block:1 effect mapping like previously, he enhanced the number of weapons (practically speaking) from about 10 to 75 without having to code too many more blocks (and even being able to remove a couple). What if we did the same thing with planets? Rather than combining two different weapons computers, planet type could be based upon the combination of three different parameters: base underground material, habitability, and terrain generation style (topography).
Each parameter would have different options that would drastically change the planet. Base Underground Material and Habitability would work together to determine the block composition of the planet (please see the attached table for how I envision this, any new blocks or features that do not have an easily reusable analog I know of are in red).
In addition, the terrain generation style could work to determine the planet's topography. I can envision five generation styles, three of which are the ones already being used by the game:
Terrestrial – Mesas: The algorithm used to create the desert, green, and red planets now.
Chasms and Pillars: The algorithm used to create the ice planets now.
Tentacles – The algorithm used to create the purple planets now.
And the two others are:
Terrestrial – Mountains: This would be similar to the Terrestrial – Mesas, but rather than having large mountains with fairly wide, flat tops, the mountains would be single-width ridge lines and would look more like real-world “traditional” mountains.
Craters: Wouldn’t have much in the way of mountains, but lots of deep craters like the moon.
These individual changes alone would result in the number of distinct planet types increasing from five to 75. This is not counting variations due to climate variables (discussed below). If Schema doesn’t go that route and we keep ice and desert planets as separate classes, the number would in theory be 125, although many of the resulting classes would be indistinguishable from the green-planet’s classes (as both use rock as their base underground block), so it would, practically speaking, be less than that.
Something like this would likely be cheaper time-wise to implement as well. Rather than having to code many new planet classes individually, the generation algorithms would simply need to be refactored/altered to such a degree that parameters like basic ground cover are passed in dynamically rather than hard-coded.
Other variables that could be used to make a planet unique (but would add more work) could be:
Atmosphere – The radius of the skybox could be used to simulate the presence/lack of an atmosphere. It could range from totally under all of the planet’s plates (to simulate no atmosphere) to where it is now (as a full atmosphere).
Sea Level – the height from the planet core under which any open-air blocks will be converted to another block (like grass->sand or soil) and the empty space between that block and sea-level covered in water/lava. This could be used to create aquatic or lava planets and add further distinguishment.
Percent Water – Another way to create aquatic planets, this would control the amount of a planet’s land that is allowed to rise above sea level
Aridness – If the ice and desert planets could be combined with the green one, and other ice and desert-like blocks used for the other two planets, this number would control the amount of desert/polar ice cap/temperate terrain on a planet. It could range from all cold (ice planet) to all arid (desert planet) and could even be varied based upon distance from the sun. I have a few ideas on how the terrain generation for multiple biomes in one planet could work.
Mineral Richness – The proportion of ores to plain rock in the planet, changing the planet’s strategic value. I’ve included a proposal to make the different habitability levels have different values, but still keep some randomness, in the chart.
Cave Probability – Self-Explanatory. A high number could be used to create a planet with floating islands.
Sky color.
Also, one last idea. I think it’d be cool if, in addition to the normal procedural generation we have now, there were an option to simulate a galaxy and generate it up-front before playing. This would decrease the CPU hit from generating a new planet and could also be used to create a procedurally-generated lore for the new galaxy (like in Dwarf Fortress). It would add a lot to the atmosphere and uniqueness of each game if it could spawn ships, stations, stargate networks, and even computer-operated factions, each with a story and history behind them.
I think Schema was on to something in how he changed the way weapons work at the beginning of this year. By making weapon effect a result of the combination of two different elements and an (optional) third, rather than just a 1 block:1 effect mapping like previously, he enhanced the number of weapons (practically speaking) from about 10 to 75 without having to code too many more blocks (and even being able to remove a couple). What if we did the same thing with planets? Rather than combining two different weapons computers, planet type could be based upon the combination of three different parameters: base underground material, habitability, and terrain generation style (topography).
Each parameter would have different options that would drastically change the planet. Base Underground Material and Habitability would work together to determine the block composition of the planet (please see the attached table for how I envision this, any new blocks or features that do not have an easily reusable analog I know of are in red).
In addition, the terrain generation style could work to determine the planet's topography. I can envision five generation styles, three of which are the ones already being used by the game:
Terrestrial – Mesas: The algorithm used to create the desert, green, and red planets now.
Chasms and Pillars: The algorithm used to create the ice planets now.
Tentacles – The algorithm used to create the purple planets now.
And the two others are:
Terrestrial – Mountains: This would be similar to the Terrestrial – Mesas, but rather than having large mountains with fairly wide, flat tops, the mountains would be single-width ridge lines and would look more like real-world “traditional” mountains.
Craters: Wouldn’t have much in the way of mountains, but lots of deep craters like the moon.
These individual changes alone would result in the number of distinct planet types increasing from five to 75. This is not counting variations due to climate variables (discussed below). If Schema doesn’t go that route and we keep ice and desert planets as separate classes, the number would in theory be 125, although many of the resulting classes would be indistinguishable from the green-planet’s classes (as both use rock as their base underground block), so it would, practically speaking, be less than that.
Something like this would likely be cheaper time-wise to implement as well. Rather than having to code many new planet classes individually, the generation algorithms would simply need to be refactored/altered to such a degree that parameters like basic ground cover are passed in dynamically rather than hard-coded.
Other variables that could be used to make a planet unique (but would add more work) could be:
Atmosphere – The radius of the skybox could be used to simulate the presence/lack of an atmosphere. It could range from totally under all of the planet’s plates (to simulate no atmosphere) to where it is now (as a full atmosphere).
Sea Level – the height from the planet core under which any open-air blocks will be converted to another block (like grass->sand or soil) and the empty space between that block and sea-level covered in water/lava. This could be used to create aquatic or lava planets and add further distinguishment.
Percent Water – Another way to create aquatic planets, this would control the amount of a planet’s land that is allowed to rise above sea level
Aridness – If the ice and desert planets could be combined with the green one, and other ice and desert-like blocks used for the other two planets, this number would control the amount of desert/polar ice cap/temperate terrain on a planet. It could range from all cold (ice planet) to all arid (desert planet) and could even be varied based upon distance from the sun. I have a few ideas on how the terrain generation for multiple biomes in one planet could work.
Mineral Richness – The proportion of ores to plain rock in the planet, changing the planet’s strategic value. I’ve included a proposal to make the different habitability levels have different values, but still keep some randomness, in the chart.
Cave Probability – Self-Explanatory. A high number could be used to create a planet with floating islands.
Sky color.
Also, one last idea. I think it’d be cool if, in addition to the normal procedural generation we have now, there were an option to simulate a galaxy and generate it up-front before playing. This would decrease the CPU hit from generating a new planet and could also be used to create a procedurally-generated lore for the new galaxy (like in Dwarf Fortress). It would add a lot to the atmosphere and uniqueness of each game if it could spawn ships, stations, stargate networks, and even computer-operated factions, each with a story and history behind them.
Attachments
-
63.6 KB Views: 19