tuomount / Open-Realms-of-Stars

4X Strategy game
GNU General Public License v2.0
134 stars 32 forks source link

Temperature for planets #710

Closed tuomount closed 8 months ago

tuomount commented 9 months ago

Temperature values for planets. Columns are planet values, rows are space race values

New plan: Frozen -273C - -225C Artic -225C - -100C Cold -99C - 5C Temperate 5C - 24C Tropical 25C - 40C Hot 41C - 99C Volcanic 100C - 500C Inferno over 500C

Frozen Arctic Cold Temperate Tropical Hot Volcanic Inferno
No traits 0% 25% 50% 100% 75% 50% 0% 0%
Tolerate cold 0% 50% 75% 100% 75% 50% 0% 0%
Tolerate hot 0% 25% 50% 100% 100% 75% 0% 0%
Tolerate lava 0% 0% 25% 75% 100% 75% 50% 0%

Tolerate cold and tolerate hot can be both selected. Tolerate lava prevents selecting either of tolerate hot or cold. Percentage value means how much of planet size can populated. 0% means that planet is not habitable. So with this change there can be number of planets which cannot be colonized. Those planets still could contain artifacts which could be collected via away teams.

BottledByte commented 9 months ago

I HIGHLY recommend think of "what" is the projected temperature range and writing that down.

There are highly unbalanced gaps between "temperatures". And assuming no PlanetTypes will exist, there are even missing cases for planets like Venus or Mercury or even hotter planets.

In design describe as above, Volcanic can be anything from 50C/122F to 500C/932F! Which is of course nonsense in terms of habitability. Not like race cannot live in environment with temperature above melting point of tin, but it definitely won't survive in "Tropical" environment.

It is exactly for this reason while most games use the "Planetary Type" system. They can summarize fundamental properties of the world to a "type" and don't have to deal with ranges - only enumerations.

tuomount commented 9 months ago

Idea is to replace getWorldTypeBaseValue(WorldType) from SpaceRace with above table. Space race could have trait which tell their optimal temperature. Then based on temperature and vegetation level there would become world type during star map generation.

Any way I see the point that temperatures are contextually too close. I'll try redesign this a bit.

BottledByte commented 9 months ago

I think it would make sense to use something like "Humidity" instead of "vegetation" or something. Although "Humid" does not have to imply water... now that's difficult. But it probably should, for sake of simplicity.

It would create a system of four "planetary attributes": Temperature, Radiation, Gravitation and Humidity It might even look pretty in GUI if visualized using blue-red (for low-high) values.

But, individual mechanic should be simple to understand at first sight. The depth should come from interaction of that mechanic with other mechanics. I am getting feeling that such "planet attribute" rather "planet type" system will inevitably turn either into overly complex mechanic (making it rich but hard to grasp for player) or will have a lot of weird edge cases (making it confusing).

I suggest design this carefully and reiterate on the ideas for "attribute-based planetary environment". While it might seem good on paper at first sight, the real gameplay value might be much less, maybe even negative!

Zireael07 commented 9 months ago

As a fellow designer of a space game, I ended up borrowing a leaf from Space Engine. (The engine itself is closed source but some things are described on their site, and the temperature/planet classification is among those: https://spaceengine.org/news/blog170924/ in the first few paragraphs )

tuomount commented 9 months ago

Now new suggestion is that space races would have only three traits. There is now possible to have inhabitable planets.

I think it would make sense to use something like "Humidity" instead of "vegetation" or something. Although "Humid" does not have to imply water... now that's difficult. But it probably should, for sake of simplicity.

So these could Barren - 0 Food, Desert - 1 Food, Arid - 2 Food, Humid - 3 Food, Marine - 4 Food and Oceanic - 5 Food So in these category Earth would be Oceanic and in Sol, Humans could only colonize Mars, but their home world would be better. Venus and mercury would be Volcanic planets.

It would create a system of four "planetary attributes": Temperature, Radiation, Gravitation and Humidity It might even look pretty in GUI if visualized using blue-red (for low-high) values.

For humidity I would change blue - red colors, so that low would be red and high blue.

But, individual mechanic should be simple to understand at first sight. The depth should come from interaction of that mechanic with other mechanics. I am getting feeling that such "planet attribute" rather "planet type" system will inevitably turn either into overly complex mechanic (making it rich but hard to grasp for player) or will have a lot of weird edge cases (making it confusing).

Also words used should be carefully selected for example "lacustrine" is first time I see it today. See Zireael07 link. That humidity works better than vegetation, since Ice planets can have water underneath the ice crust.

I suggest design this carefully and reiterate on the ideas for "attribute-based planetary environment". While it might seem good on paper at first sight, the real gameplay value might be much less, maybe even negative!

This 8 temperature is quite much, but space race only have 3 traits which is still fine.

Zireael07 commented 9 months ago

For humidity I would change blue - red colors, so that low would be red and high blue.

Agreed

tuomount commented 8 months ago

Works now. Closing.