Poor planets better than Adequate on the long run

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

Post Reply
Message
Author
User avatar
Oberlus
Cosmic Dragon
Posts: 5760
Joined: Mon Apr 10, 2017 4:25 pm

Poor planets better than Adequate on the long run

#1 Post by Oberlus »

Habitability modifiers before population scaling:
Good Adeq. Poor Host.
Environment base value: 3 0 -2 -4
Symbiotic Biology (tech): 1 1 1
Xeno. Genetics (tech): 2 2 1
Xeno. Hybridization (tech): 1 2
Cyborgs (tech): 2
Subtotal: 4 13 2 1
That is: mid game (when you get Xeno. Genetics), poor planets have same population than adequate planets. And after Xeno. Hybrids. they have +1*size more population.
/Edit: Gah! I missed that Xeno Genetics also gives +2 to adequate planets!/

This isn't changed by the other possible population modifiers:

Species population trait (applied after all the above modifiers): +/- 0.25*ABS(Subtotal)

After-scaling population modifiers that don't consider habitability (apply the same modifier to good, adeq., poor and hostile environments):
Subterranean Habitation (tech): +1
Orbital Habitation (tech): +1
N-Dimensional Structures (tech): +2
Self-sustaining or the 3 specials (species): +3
Phototrophic modifiers (species): +3 (Blue), +1.5 (White), -1 (Red/Neutron), -10 (Black/No star).

I think this poor>adequate needs some fix.

User avatar
Oberlus
Cosmic Dragon
Posts: 5760
Joined: Mon Apr 10, 2017 4:25 pm

Re: Poor planets better than Adequate on the long run

#2 Post by Oberlus »

Giving +1 to adeq. to Xeno. Genetics and Xeno. Hybrids (suggested by L29Ah) makes a lot of sense to me.

That gets us to the following, late game (all growth techs researched):

Without specials/self-sustaining/bad-good-pop.:
Good: 8*size (160%)
Adequate: 7*size (140%)
Poor: 6*size (120%)
Hostile: 5*size (100%)

With self-sustaining or the 3 specials:
Good: 11*size (137.5%)
Adequate: 10*size (125%)
Poor: 9*size (112.5%)
Hostile: 8*size (100%)

User avatar
Oberlus
Cosmic Dragon
Posts: 5760
Joined: Mon Apr 10, 2017 4:25 pm

Re: Poor planets better than Adequate on the long run

#3 Post by Oberlus »

I don't discard having missed some population modifier for adequate environments that would invalidate the OP. But I can't find any other FOCS calling to SetTargetPopulation:

Code: Select all

freeorion$ grep -r SetTargetPopulation default/scripting/*
default/scripting/buildings/GATEWAY_VOID.focs.txt:                SetTargetPopulation value = min(Value, 0)
default/scripting/buildings/HYPER_DAM.focs.txt:            effects = SetTargetPopulation value = Value - Target.HabitableSize
default/scripting/specials/planet/growth/growth.macros:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize  // One for each special
default/scripting/specials/planet/growth/growth.macros:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize  // Provides the bonus locally, no matter the focus
default/scripting/specials/planet/growth/growth.macros:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize  // One for each special
default/scripting/specials/planet/growth/growth.macros:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize  // Provides the bonus locally, no matter the focus
default/scripting/specials/planet/growth/growth.macros:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize  // One for each special
default/scripting/specials/planet/growth/growth.macros:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize  // Provides the bonus locally, no matter the focus
default/scripting/specials/planet/monster_stealth/DIM_RIFT_MASTER.focs.txt:                SetTargetPopulation value = Value - 4
default/scripting/specials/planet/TIDAL_LOCK.focs.txt:            effects = SetTargetPopulation value = Value - 1 * Target.HabitableSize accountinglabel = "TIDAL_LOCK_LABEL"
default/scripting/specials/planet/WORLDTREE.focs.txt:            effects = SetTargetPopulation value = Value + 1
default/scripting/specials/planet/GAIA.focs.txt:                SetTargetPopulation value = Value + 3 * Target.HabitableSize accountinglabel = "GAIA_LABEL"
default/scripting/specials/planet/TEMPORAL_ANOMOLY.focs.txt:            effects = SetTargetPopulation value = Value - 5 * Target.HabitableSize accountinglabel = "TEMPORAL_ANOMALY_SPECIAL"
default/scripting/species/common/advanced_focus.macros:            effects = SetTargetPopulation value = Value - 4
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value -0.25*abs(Value) accountinglabel = "BAD_POPULATION_LABEL"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value +0.25*abs(Value) accountinglabel = "GOOD_POPULATION_LABEL"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = -999 accountinglabel = "UNINHABTIABLE_ENVIRONMENT_LABEL"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value - 4 * Source.HabitableSize accountinglabel = "HOSTILE_ENVIRONMENT_LABEL"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value - 2 * Source.HabitableSize accountinglabel = "POOR_ENVIRONMENT_LABEL"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value + 0 * Source.HabitableSize accountinglabel = "ADEQUATE_ENVIRONMENT_LABEL"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value + 3 * Target.HabitableSize accountinglabel = "GOOD_ENVIRONMENT_LABEL"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value + 2 * Target.HabitableSize accountinglabel = "HOMEWORLD_BONUS"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize accountinglabel = "HOMEWORLD_SUPPLY"
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value + 3 * Target.HabitableSize  // Gets the same bonus as three growth specials
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value + 3 * Source.HabitableSize // Photrophic
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value + 1.5 * Source.HabitableSize // Photrophic
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value - 1 * Source.HabitableSize // Photrophic
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value - 10 * Source.HabitableSize // Photrophic
default/scripting/species/common/population.macros:            effects = SetTargetPopulation value = Value - 0.5*abs(Value) // Gaseous
default/scripting/species/common/xenophobic.macros:            effects = SetTargetPopulation value = Value - min(
default/scripting/species/SP_LEMBALALAM.focs.txt:                SetTargetPopulation value = 5 accountinglabel = "IMMORTAL_LABEL"
default/scripting/species/SP_BANFORO.focs.txt:            effects = SetTargetPopulation value = Value - 2 * Source.HabitableSize
default/scripting/species/SP_BANFORO.focs.txt:            effects = SetTargetPopulation value = Value - Source.HabitableSize
default/scripting/techs/growth/SUBTER_HAB.focs.txt:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize accountinglabel = "GRO_SUBTER_HAB" // All env.
default/scripting/techs/growth/XENO_GENETICS.focs.txt:            effects = SetTargetPopulation value = Value + 2 * Target.HabitableSize accountinglabel = "GRO_XENO_GENETICS" // Poor
default/scripting/techs/growth/XENO_GENETICS.focs.txt:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize accountinglabel = "GRO_XENO_GENETICS" // Hostile
default/scripting/techs/growth/ORBITAL_HAB.focs.txt:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize accountinglabel = "ORBITAL_HAB_LABEL" // All env.
default/scripting/techs/growth/PLANETARY_ECOLOGY.focs.txt:            effects = SetTargetPopulation value = Value + 1 accountinglabel = "GRO_PLANET_ECOL"  // Overriden by Symb. Bio.
default/scripting/techs/growth/SYMBIOTIC_BIO.focs.txt:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize accountinglabel = "GRO_SYMBIOTIC_BIO" // Good, Adeq. and Poor
default/scripting/techs/growth/XENO_HYBRIDS.focs.txt:            effects = SetTargetPopulation value = Value + 1 * Target.HabitableSize accountinglabel = "GRO_XENO_HYBRIDS" // Poor
default/scripting/techs/growth/XENO_HYBRIDS.focs.txt:            effects = SetTargetPopulation value = Value + 2 * Target.HabitableSize accountinglabel = "GRO_XENO_HYBRIDS" // Hostile
default/scripting/techs/growth/CYBORG.focs.txt:            effects = SetTargetPopulation value = Value + 2 * Target.HabitableSize  accountinglabel = "GRO_CYBORG"  // Hostile
default/scripting/techs/construction/N_DIMEN_STRUCT.focs.txt:                SetTargetPopulation value = Value + 2 * Target.HabitableSize // All env.

User avatar
swaq
Space Dragon
Posts: 384
Joined: Tue Aug 20, 2019 1:56 pm

Re: Poor planets better than Adequate on the long run

#4 Post by swaq »

I like the idea of +1 to adequate planets for the two Xeno techs.

User avatar
Oberlus
Cosmic Dragon
Posts: 5760
Joined: Mon Apr 10, 2017 4:25 pm

Re: Poor planets better than Adequate on the long run

#5 Post by Oberlus »

Adequate planets can be colonized almost right away:
Planet. Eco.: 4/2
Granted in 2 turns for any species.

Poor planets need a lot more (all of the following):
Sub. Hab.: 12/2
Symb. Bio.: 50/6
Gen. Eng.: 4/3
Gen. Med.: 12/4
Xeno. Gen.: 75/8
153 RP and a minimum of 15 turns (after Planet. Eco.).
You can skip Xeno. Gen. if you have one special (two for same pop.).
With self-sustaining you can skip Xeno. Gen. and Symb. Bio.

Hostile takes also much more (after the above):
Xeno. Hybr.: 150/10 or two specials.
Orb. Hab.: 250/7 or one special.
400 RP and many turns unless uber-research or three specials or self-sustaining.

I think it would be good for game balance to make easier to get to poor, and no so easy to get to adequate. Thoughts?

User avatar
labgnome
Juggernaut
Posts: 833
Joined: Mon Mar 02, 2015 5:57 pm

Re: Poor planets better than Adequate on the long run

#6 Post by labgnome »

That looks good to me.
All of my contributions should be considered released under creative commons attribution share-alike license, CC-BY-SA 3.0 for use in, by and with the Free Orion project.

o01eg
Programmer
Posts: 2026
Joined: Sat Dec 10, 2011 5:46 am

Re: Poor planets better than Adequate on the long run

#7 Post by o01eg »

Can it be fixed considering Xeno-tech issues in #2916?
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-04-14.ad50e93.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Oberlus
Cosmic Dragon
Posts: 5760
Joined: Mon Apr 10, 2017 4:25 pm

Re: Poor planets better than Adequate on the long run

#8 Post by Oberlus »

o01eg wrote: Thu May 07, 2020 3:52 pm Can it be fixed considering Xeno-tech issues in #2916?
When I went to the file to add the extra pop bonus to adequate I realised I was blind. Xeno. Genetics already gives +2 to Adequate.

o01eg
Programmer
Posts: 2026
Joined: Sat Dec 10, 2011 5:46 am

Re: Poor planets better than Adequate on the long run

#9 Post by o01eg »

Nice, I was thinking about to make it 0.4.10 blocking issue.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-04-14.ad50e93.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Post Reply