How to restrict colonization research?
How to restrict colonization research?
So I want to make a game where all races are forced to stick to their own world as far as colonization, that means Humans can only do continental planets etc... essentially I want to remove research for colonization beyond the first one, I realize there are two races that have race specific techs later (also required victory goals) but I can deal with that later. If a civ wants to colonize a different world then they need to find a colony ship of that other race to do so, colonize, then they can colonize those worlds from ships made from that secondary race's planet only, I realize your race might still migrate to the planet, but one problem at a time
So what I've tried so far
Idea: Make Marshy swamp colonization tech require continental planet as a parent
Result: Worked
Idea: Make continental planet require swamp next, essentially removing the ability to get it
Result: Game could not create a new world, guessing it didn't like the circular argument
Idea: Delete all other colonization techs in research.txt
Result: Game executable wouldn't even load
Last thing I wanted to try to do was to create a race specific requirements for continental and swamp, say mechanoid since they don't expand effectively locking out all other races. However I have no idea how to make a tech race specific, you can make certain components which are hardwired into the code race specific (Firestorm, Novacore, etc) which itself makes those tech paths race specific by default but can not figure out how to restrict the research. ALLOWED RACES tag in research.txt seems broken as well, I put ALLOWED RACES ; in there after any tech and the game executable won't even load, do it in the customization folder and game crashes when I try to load that customization.
Only ideas I have left is to cripple the one bug race by removing their ability to use the Shaktur firestorm component, then make that tech, Devastating Plasma I believe, the parent of continental and swamp colonization. However I have gotten research jumps on colonization tech by scrapping certain found ships so ideally I'd like to just make them not part of the game at all.
Anyone have any ideas?
So what I've tried so far
Idea: Make Marshy swamp colonization tech require continental planet as a parent
Result: Worked
Idea: Make continental planet require swamp next, essentially removing the ability to get it
Result: Game could not create a new world, guessing it didn't like the circular argument
Idea: Delete all other colonization techs in research.txt
Result: Game executable wouldn't even load
Last thing I wanted to try to do was to create a race specific requirements for continental and swamp, say mechanoid since they don't expand effectively locking out all other races. However I have no idea how to make a tech race specific, you can make certain components which are hardwired into the code race specific (Firestorm, Novacore, etc) which itself makes those tech paths race specific by default but can not figure out how to restrict the research. ALLOWED RACES tag in research.txt seems broken as well, I put ALLOWED RACES ; in there after any tech and the game executable won't even load, do it in the customization folder and game crashes when I try to load that customization.
Only ideas I have left is to cripple the one bug race by removing their ability to use the Shaktur firestorm component, then make that tech, Devastating Plasma I believe, the parent of continental and swamp colonization. However I have gotten research jumps on colonization tech by scrapping certain found ships so ideally I'd like to just make them not part of the game at all.
Anyone have any ideas?
- Blackstork
- Posts: 802
- Joined: Mon Jul 07, 2014 3:45 am
RE: How to restrict colonization research?
You can also change stuff in policy and race file adjusting : planet type colonization priority, research and colonization cost multipliers and research queues in race file.
-
- Posts: 236
- Joined: Fri Jul 23, 2010 9:54 pm
RE: How to restrict colonization research?
I think one would be like this...
Make 6 differenct colonization tech modules. And make it a special component for each race depending on the planet you want. Then limit the branch of their tree.
So...
colonization Module1 (desert)
colonization Module1 (ocean)
etc.
The only problem is that each race is only allowed 1 special tech. This is actually a major problem with each race only allowed 1 special tech.
Make 6 differenct colonization tech modules. And make it a special component for each race depending on the planet you want. Then limit the branch of their tree.
So...
colonization Module1 (desert)
colonization Module1 (ocean)
etc.
The only problem is that each race is only allowed 1 special tech. This is actually a major problem with each race only allowed 1 special tech.
RE: How to restrict colonization research?
Blackstork: I don't want to make colonization research prohibitively expensive (I did think about that) because my fear is the AI would start research a tech and basically be stuck on it eliminating any further High-Tech research paths, basically crippling them. I'll look into policy changing races, although I hoped not to have to go that direction since there's a lot more races than there are techs I want to remove.
Fierceking: THat would be a fabulous solution, except like you said one "unique" research component per race kind of ruins it. Seems like using the Shakturi as my scapegoat to block of techs might be the direction I have to go.
Fierceking: THat would be a fabulous solution, except like you said one "unique" research component per race kind of ruins it. Seems like using the Shakturi as my scapegoat to block of techs might be the direction I have to go.
RE: How to restrict colonization research?
I don't understand why the "ALLOWED RACES ;" isn't working unless your using a version that came before that modding feature was added. I use it extensively in my mod, especially to overcome the 1 special component per race thing. You can even add components that races are restricted from using to a tech and it effectively blocks the race from even getting the tech. I am attaching just the tech file I use so you can make sure you are formatting it right, as spacing and such does often matter. Just search for the legacy techs for a prime example.
EDIT: Instead of adding 6 colony modules maybe just add a tech after prefab architecture but before the planet colonization techs that grants access to the colony module. Nice idea, by the way.
EDIT: Instead of adding 6 colony modules maybe just add a tech after prefab architecture but before the planet colonization techs that grants access to the colony module. Nice idea, by the way.
- Attachments
-
- research.txt
- (73.79 KiB) Downloaded 14 times
RE: How to restrict colonization research?
Thanks a ton, that helped me immensely.
Had no idea how to parse the argument, my first thought was to use the numerical value that corresponded to each race in the races.txt file.. obviously that did not work. But then I left it null since it said that if nothing was given all races would be allowed to use it, I think I took that to mean if no races were listed after ALLOWED RACES all would get it. However did a quickie test and yup once I put an actual race name in it worked. Re-reading the comments in the research.txt file the ambiguity is no longer there now that I know the right way to do it.
Now that I know I can get this working, I feel like perhaps rewriting the structure of the research tree itself around the colonization techs. I wish it was a tech that was given to a race and didn't need to be researched, i.e. Humans know how to colonize continental planets, why do they need to research the tech? Either way now I can run with some ideas I've been scheming of.
Had no idea how to parse the argument, my first thought was to use the numerical value that corresponded to each race in the races.txt file.. obviously that did not work. But then I left it null since it said that if nothing was given all races would be allowed to use it, I think I took that to mean if no races were listed after ALLOWED RACES all would get it. However did a quickie test and yup once I put an actual race name in it worked. Re-reading the comments in the research.txt file the ambiguity is no longer there now that I know the right way to do it.
Now that I know I can get this working, I feel like perhaps rewriting the structure of the research tree itself around the colonization techs. I wish it was a tech that was given to a race and didn't need to be researched, i.e. Humans know how to colonize continental planets, why do they need to research the tech? Either way now I can run with some ideas I've been scheming of.
- Blackstork
- Posts: 802
- Joined: Mon Jul 07, 2014 3:45 am
RE: How to restrict colonization research?
ORIGINAL: MikeSF
Blackstork: I don't want to make colonization research prohibitively expensive (I did think about that) because my fear is the AI would start research a tech and basically be stuck on it eliminating any further High-Tech research paths, basically crippling them. I'll look into policy changing races, although I hoped not to have to go that direction since there's a lot more races than there are techs I want to remove.
Fierceking: THat would be a fabulous solution, except like you said one "unique" research component per race kind of ruins it. Seems like using the Shakturi as my scapegoat to block of techs might be the direction I have to go.
You can use research queue for that (check how its working in Icemania's AI mod)
Also you can setup policy priorities / costs.... with low priority race will not colonize worse priority planet if there better priority availble.
But mensrea's way will also work, simply if you use research queues for ai in your mod this wont be problem anyways
RE: How to restrict colonization research?
Glad I could help.
There are settings in the race files that let you reduce the research costs of settling different planets:
ResearchColonizationCostFactorContinental ;1.0
ResearchColonizationCostFactorMarshySwamp ;1.0
ResearchColonizationCostFactorOcean ;1.0
ResearchColonizationCostFactorDesert ;1.0
ResearchColonizationCostFactorIce ;1.0
ResearchColonizationCostFactorVolcanic ;1.0
just set continental to 0.1 or something, that way they would still have to research the actual process of building a colony component, but it would be trivial to figure out how to colonize a world similar to their home planet.
Or, you could add level 0 techs which are unlocked right away or have a 0.1 research multiplier. Just add the ability to colonize certain worlds to those, and then make it so only certain races have access to them.
There are settings in the race files that let you reduce the research costs of settling different planets:
ResearchColonizationCostFactorContinental ;1.0
ResearchColonizationCostFactorMarshySwamp ;1.0
ResearchColonizationCostFactorOcean ;1.0
ResearchColonizationCostFactorDesert ;1.0
ResearchColonizationCostFactorIce ;1.0
ResearchColonizationCostFactorVolcanic ;1.0
just set continental to 0.1 or something, that way they would still have to research the actual process of building a colony component, but it would be trivial to figure out how to colonize a world similar to their home planet.
Or, you could add level 0 techs which are unlocked right away or have a 0.1 research multiplier. Just add the ability to colonize certain worlds to those, and then make it so only certain races have access to them.
- Blackstork
- Posts: 802
- Joined: Mon Jul 07, 2014 3:45 am
RE: How to restrict colonization research?
thats what i talked about - those + research queues + policy priority strings, they could be set to whatever you want,ORIGINAL: mensrea
Glad I could help.
There are settings in the race files that let you reduce the research costs of settling different planets:
ResearchColonizationCostFactorContinental ;1.0
ResearchColonizationCostFactorMarshySwamp ;1.0
ResearchColonizationCostFactorOcean ;1.0
ResearchColonizationCostFactorDesert ;1.0
ResearchColonizationCostFactorIce ;1.0
ResearchColonizationCostFactorVolcanic ;1.0
just set continental to 0.1 or something, that way they would still have to research the actual process of building a colony component, but it would be trivial to figure out how to colonize a world similar to their home planet.
Or, you could add level 0 techs which are unlocked right away or have a 0.1 research multiplier. Just add the ability to colonize certain worlds to those, and then make it so only certain races have access to them.
RE: How to restrict colonization research?
Alright, newest version. Don't restrict races from researching any tech, however remove the tech's ability to colonize said biotype, and instead replace it with colony growth rates doubling as the benefit. This still restricts you from colonizing other planets not native to your species, and if you do get another colony type (invasion, refuge colony ship, etc) you still can get the double growth bonus, plus the other benefits will still be there (terraforming, larger colony modules, etc).
RE: How to restrict colonization research?
I was also interested in doing this but someone said once you take over a planet you can colonize that type of planet so kind of ruins the point of this?
RE: How to restrict colonization research?
That's not true, taking over a planet doesn't give your empire's race the ability to colonize, however once that planet gets big enough, it can build colony ships filled with that race, which can then colonize it's own types of planets.
It sounded from the OP that this is what he wanted.
It sounded from the OP that this is what he wanted.
RE: How to restrict colonization research?
ORIGINAL: Damiac
That's not true, taking over a planet doesn't give your empire's race the ability to colonize, however once that planet gets big enough, it can build colony ships filled with that race, which can then colonize it's own types of planets.
It sounded from the OP that this is what he wanted.
Ah gotcha well then that might be ok then!
RE: How to restrict colonization research?
ORIGINAL: MikeSF
Alright, newest version. Don't restrict races from researching any tech, however remove the tech's ability to colonize said biotype, and instead replace it with colony growth rates doubling as the benefit. This still restricts you from colonizing other planets not native to your species, and if you do get another colony type (invasion, refuge colony ship, etc) you still can get the double growth bonus, plus the other benefits will still be there (terraforming, larger colony modules, etc)
Would this not be redundant? Double growth bonus with colonization and then double growth bonus with advanced colonization and then terraforming? Would these stack?
Also the allowed races will not let you prevent all races from researching:
'ALLOWED RACES: filter project to specific alien races, only the named races can research the project. If no races defined then all races can research -
Maybe doing allowed races for only that race that can settle that type of planet?
[Edit] Yep that worked for me and is going to be my solution!