#20 from Pre v36 Bug list Discussion

First and most important value should be level of education in empire of conqueror.

If i have 200 education and my rival 100 - he will not get nothing as he simply destroy everything he doesnt understand (like barbaric assault to Rome).

If i and my rival have 200 or so education - then he have chance to get 5-25% of beakers to unknow to him technology.

if i have 200 but my rival got 300 or more he will get much more then 25% like 50% or more.
(historical example is england assaulting zulu - they studied them afterwards to gather valueble antropological information)

Number of tech`s and\or % of beakers conqueror can, get must be based on education.

It's important to note that at this time I'm not willing to build into this issue with further coding and as Joseph has pointed out, that's what would have to be done to take education into account. I feel we have much much higher priorities and as a result should stay within the bounds of the coded optional settings already in place.

Rationally, it seems like there could be an educational impact on the system as if the people are more commonly familiar with the technology the nation is able to utilize then it would mean the city could offer the invader a bit more understanding of the things they had knowledge of. It would be some seriously tricky stuff to program though.

Sounds very good to me TB!
I was wondering if Pop should have an effect on tech capture at all, but I think bigger cities use modern technology (Aqueducts, Subway, Airport) more often than smaller ones. Probably an era factor could be handy here; for example 1% per pop in ancient, but only 0.2% per pop in the TH era.

Also, I think the limitation to 5 techs is logical and probably ok for a game balance perspective, I'd still increase it. If you are lucky enough to capture a city from a MUCH more advanced civ, you should be rewarded. And if we allow techs that we don't have all prereqs for, this can add up quickly.

Do you know, how random tech amount works? Let's say we set multiple techs to 9 and the AI has 4 techs we don't know. Will you recive a) 0-4 techs or possibly b) 0-9 techs?

a) Would mean you'd get 4 techs in only 20% of the time, while b) means you get 4 techs in 50% of the time.
Yeah, I noticed that the random number left something to be desired in terms of its description. Without analyzing the code significantly I couldn't answer that question. Obviously you can't get more techs than what the opponent has to offer but would the random amount be more likely to pull the max amount if the settings exceed that amount available and then a random amount is applied? I don't know.

Already though, I'm a little concerned even 5 would mean a lot of overkill. 'If you're lucky enough to capture a city from an opponent that's out-teching you' isn't really all that there is to consider I think. Being ahead technologically doesn't always translate to militarily more powerful and lesser defended cities can become easy tech farms. Also consider the numerous ways this system could be punked. Step 1: I take a city. Step 2: I let the enemy take it back by moving out just about everything when they launch a counter assault. Step 3: I take it again. Rinse and Repeat until you have all the opponent technology - and I'm able to do it because I have such extremely experienced/merged/quality promoted units that they can stand their ground against units an era ahead of them. I worry this whole adjustment would mean that it's too significantly better to actually try to be behind in tech and focus more on building a tremendous military advantage while allowing your neighbors to do the mule work of researching everything for us. Mind you, putting most of the gain in relation to the population of the city does help to limit the effectiveness of such a strategy.
 
There is a strange bit of coding in there with a loop over something that is not used. I think they did not know how to do a while/until statement.

It makes a list of possible techs to get.

Then loops choosing a random tech from this list. It keeps doing this until there are no more techs or it has reached the limit specified in Technology Transfer Count.

Random tech amount is about the amount of a technology not the number of techs.
 
So Random Tech Amount completely supercedes the tech amount specified in the last two tags then? Or is it a random amount from none to the max established there?

Looks like 5 is definitely as high as I would suggest we set Technology Transfer Count considering this new info.
 
It is a boolean! Ie either 0 or not 0 in the code. If it is false then the population percent is added otherwise a number of points equal to the percent is added.

Eg if the percent from population = 4 then if false you get an extra TechCost*4/100 otherwise you get a number between 0 and 4 added! This is another place things don't seem quite right.

edit I am sure it is a boolean but I am also running a fever again so I may be wrong on the actual value.

As I said the code has some strange bits, as if it was written by someone not familiar with Python.

I think it would be possible to add in a bit that checks for buildings that require the possible techs and change the probability on those techs being learned. Though that may skip some prerequisites eg learn microwaves before learn electricity.

edit 2 The code used MapRand rather than SorenRand. I am not sure but I think MapRand can be a source of OOS in multiplayer.
 
It is a boolean! Ie either 0 or not 0 in the code. If it is false then the population percent is added otherwise a number of points equal to the percent is added.

Eg if the percent from population = 4 then if false you get an extra TechCost*4/100 otherwise you get a number between 0 and 4 added! This is another place things don't seem quite right.

edit I am sure it is a boolean but I am also running a fever again so I may be wrong on the actual value.

As I said the code has some strange bits, as if it was written by someone not familiar with Python.

I think it would be possible to add in a bit that checks for buildings that require the possible techs and change the probability on those techs being learned. Though that may skip some prerequisites eg learn microwaves before learn electricity.

I realize it's a boolean... I was just wondering if it completely superceded other settings and it looks like it works with them properly rather than completely trumping them.

That last bit would therefore need to take the bool that declares the prerequisites as necessary to consider a tech to be on the list of possible ones to learn. Still, looks like we'll be adjusting that setting so as to allow the skipping of prereqs (at least to gain bonus research towards a tech-you still wouldn't be able to have the tech til you researched the last point so it'll still require the prereqs to be developed.)

That you could take some of these design considerations and implement them would be wonderful!
 
<snip>

Already though, I'm a little concerned even 5 would mean a lot of overkill. 'If you're lucky enough to capture a city from an opponent that's out-teching you' isn't really all that there is to consider I think. Being ahead technologically doesn't always translate to militarily more powerful and lesser defended cities can become easy tech farms. Also consider the numerous ways this system could be punked. Step 1: I take a city. Step 2: I let the enemy take it back by moving out just about everything when they launch a counter assault. Step 3: I take it again. Rinse and Repeat until you have all the opponent technology - and I'm able to do it because I have such extremely experienced/merged/quality promoted units that they can stand their ground against units an era ahead of them. I worry this whole adjustment would mean that it's too significantly better to actually try to be behind in tech and focus more on building a tremendous military advantage while allowing your neighbors to do the mule work of researching everything for us. Mind you, putting most of the gain in relation to the population of the city does help to limit the effectiveness of such a strategy.

1st off the scenario of the Rinse and Repeat section of your observation would Not be the norm but an extreme. Plus it seems you make the assumption that your Size Matters Option is in play too.
...and I'm able to do it because I have such extremely experienced/merged/quality promoted units that they can stand their ground against units an era ahead of them.
Don't get caught up in the outer limits in your thinking about this but consider the more mean/avg situations. What about those that don't use the Combat Mod?

No, you may not have the superior units if you are behind in Tech. You or AI might capture a frontier city by overwhelming numbers instead of Highly promoted units.

2nd in such a scenario every time you let the opponent retake the city, If you have any Tech it does not (and that Does happen that non Tech leading Civs have a few tech the Leader does not) they would gain a portion of your (Unknown/unresearched to them) tech. But then again in your scenario this would only be in the extreme and not the norm.

The player will always find an exploit. But put it in the context of what the AI might or might not gain. These changes may well allow mid tier Civs to keep somewhat of a better pace with the lead Civs. Give them an incentive to be on the look out for being aggressive enough to take a neighbors city for tech gain.

Of course the bottom dwellers would have nothing to give the aggressive leaders if they are already outteched significantly (which is what TD and it's recent additions already try to address). And would be captured by player and AI alike because they are weak and susceptible to invasion anyway. But if one got lucky it could be the boost it needs to survive awhile longer. But even this is would be an exception, but still possible.

I worry this whole adjustment would mean that it's too significantly better to actually try to be behind in tech and focus more on building a tremendous military advantage while allowing your neighbors to do the mule work of researching everything for us. Mind you, putting most of the gain in relation to the population of the city does help to limit the effectiveness of such a strategy.

If you are "trying" to be behind while having TD On, it would be like fighting a windmill Don Quixote. I think you are getting a bit of tunnel vision with your concerns as they all seem to be focused on the extremes. Just sayin'.

It may in fact cause just the opposite effect. Vanilla BtS used this very principle with it's aggressive Leaders like Monty, Shaka, Peter, and others as a form of balancing. And BtS is not just about the Conquest Victory condition and neither should C2C. Although C2C does seem to push the Mastery Victory Condition which From my experience causes the AI to be less focused on achieving A Victory in the Main BtS Victory set.

Finally, we are not going to "See" what these changes do until they get implemented. And then do we know for sure if these changes are made and added to existing games that they would have Any effect on that game? Or would a New Game be required to see these come into play?

Since this is a Config file does it require a new game to set?

Wow what a bunch of suppositions! :p:lol:

Let's not overthink this okay? :crazyeye:

JosEPh:)
 
Primarily those were all arguments for not enhancing the count beyond 5 as 5 is already a LOT given how exploitable it may be. I have to also consider balancing for all options with any adjustment so it's not invalid to bring up how under a given option there may be more exploitative capacity. And while you say it's an extreme example, if I were out-teched by a neighbor it would be the first thing I'd do once at war. A recently captured city is an easy killing field since the defenses are already torn apart. But then, the reduced population with each invasion would certainly minimize the impact.

I do agree that this may help the more aggressive types to have a counterbalance to a reduced tech progress which would be good... so long as its not so countered that it becomes superior in all cases to select more combat based traits. (Even just selecting leaders with more combat based traits for example.)
 
So is the RandomTech for the number of techs or for % towards a tech?

Then keep in mind TB that recapturing works fine with the current system as well. The main change will be that you get a broader varity of techs with lower % in each. If you get 1 tech and 50% (pop 5 city) or 5 techs with 10% each, there is not that much difference (with similar tech costs of course).
 
Primarily those were all arguments for not enhancing the count beyond 5 as 5 is already a LOT given how exploitable it may be.

I used the Hydro Approach here. ;)



I have to also consider balancing for all options with any adjustment so it's not invalid to bring up how under a given option there may be more exploitative capacity. And while you say it's an extreme example, if I were out-teched by a neighbor it would be the first thing I'd do once at war. A recently captured city is an easy killing field since the defenses are already torn apart. But then, the reduced population with each invasion would certainly minimize the impact.

I do agree that this may help the more aggressive types to have a counterbalance to a reduced tech progress which would be good... so long as its not so countered that it becomes superior in all cases to select more combat based traits. (Even just selecting leaders with more combat based traits for example.)

Zappara made this Mod back in Feb of 2010, if I read the C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Caveman2Cosmos\Assets\Config\EnhancedTechConquest.new file correctly. That file gives what is bolean and what is not.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
Enhanced Tech Conquest settings
by Zappara
-->
<mod id="EnhancedTechConquest"
module="CvEnhancedTechConquestEventManager"
name="Enhanced Tech Conquest"
author="Zappara"
version="1.0"
date="17/02/20§0"
url="">

<events module="CvEnhancedTechConquestEventManager"/>

<options id="EnhancedTechConquest" file="EnhancedTechConquest.ini">
<section id="ETCSettings">
<option id="CompleteTechnologyDiscovery" key="CompleteTechnologyDiscovery" type="boolean" default="False"/>
<option id="TechnologyTransferCount" key="TechnologyTransferCount" type="int" default="1"/>
<option id="RandomTechnologyTransferAmount" key="RandomTechnologyTransferAmount" type="boolean" default="False"/>
<option id="TechnologyTransferIgnorePrereq" key="TechnologyTransferIgnorePrereq" type="boolean" default="False"/>
<option id="DisableFullTechnologyTransfer" key="DisableFullTechnologyTransfer" type="boolean" default="True"/>
<option id="BaseTechnologyTransferPercent" key="BaseTechnologyTransferPercent" type="int" default="25"/>
<option id="PercentagePerCityPopulation" key="PercentagePerCityPopulation" type="int" default="5"/>
</section>
</options>
</mod>

JosEPh
 
Thanks for the info DH.

JosEPh :)
 
I'm in conversation with AND modders and Afforess replied that that Config file was redundant as it was incorporated into some of Zappara's last BUG Event manager manipulations.
http://forums.civfanatics.com/showpost.php?p=13707878&postcount=10

We could be just *issing in the wind with these changes. And the ability to make changes were taken from the player a long time ago. If this bears out to be true (and I have no reason to doubt Afforess no matter how much we might disagree on things).

So it looks like if any adjustments are to be made they must be made somehow somewhere else.

This kind of suxs impo.

JosEPh
 
I could not understand why it was called Caveman2Cosmos Config.ini instead of something like Enhanced Tech Conquest.ini, but if this is where Zappara was moving things then it would make sense.

I'll have a look and see where these items are referenced anywhere in the folder.
 
The only place to make adjustments is in the Assets\Config\EnhancedTechConquest.new file. The Config.ini was rendered useless by this .new file when Zappara introduced it to BUG according to Afforess. It has not been touched for ages, since 02/17/2010 right before Zappara walked away from RoM.

EDIT:mad:T-Brd and DH,
SVN version 8358 this is file:
quote]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
Enhanced Tech Conquest settings
by Zappara
-->
<mod id="EnhancedTechConquest"
module="CvEnhancedTechConquestEventManager"
name="Enhanced Tech Conquest"
author="Zappara"
version="1.0"
date="17/02/20§0"
url="">

<events module="CvEnhancedTechConquestEventManager"/>

<options id="EnhancedTechConquest" file="EnhancedTechConquest.ini">
<section id="ETCSettings">
<option id="CompleteTechnologyDiscovery" key="CompleteTechnologyDiscovery" type="boolean" default="False"/>
<option id="TechnologyTransferCount" key="TechnologyTransferCount" type="int" default="1"/>
<option id="RandomTechnologyTransferAmount" key="RandomTechnologyTransferAmount" type="boolean" default="False"/>
<option id="TechnologyTransferIgnorePrereq" key="TechnologyTransferIgnorePrereq" type="boolean" default="False"/>
<option id="DisableFullTechnologyTransfer" key="DisableFullTechnologyTransfer" type="boolean" default="True"/>
<option id="BaseTechnologyTransferPercent" key="BaseTechnologyTransferPercent" type="int" default="25"/>
<option id="PercentagePerCityPopulation" key="PercentagePerCityPopulation" type="int" default="5"/>
</section>
</options>
</mod>
And as you can see This file still has the original settings. The Config.ini file changes will have no effect upon the game. So it can be removed. This also means the player without knowledge of this .new file has no way to change these settings.

JosEPh
 
OK what Zappara did, but did not quite complete, is he made Enhanced Tech Conquest use the BUG modular python.

It is defined OK in the Assets/Config/init.XML so it should be active.

It's linking definition that tells BUG what the Python does etc is the Assets\Config\EnhancedTechConquest.new.xml. It contains some extra code that does not appear to have been completed about the default parameters. These are not used anywhere that I can see. Zappara was probably going to add a page to the BUG Options screens but did not finish. It is supposed to use a new UserSettings file EnhancedTechConquest.ini but doesn't and it should create one but it doesn't.

The linking file identifies the event manager code used by BUG linking to the actual Python code used. I would have done it differently but both methods are fine. This code is in Assets/Python/EnhancedTechConquestUtils.

The code that actually does the work is EnhancedTechConquest.py. This bit of code has default values for all the values but if a file called Caveman2Cosmos Config.ini if it exists it gets the values from there.

Having said this the file "Caveman2Cosmos Config.ini" may be in the wrong folder. It may need to move to the UserSettings folder to be used.

What needs to be done
1. Check the ini file is in the correct folder

2. Add some debug prints so that the values used will show up in the PythonErr2.log file.

3. Figure out what Zappara was doing in the Assets\Config\EnhancedTechConquest.new.xml and see if it will be useful to finish it if not remove the excess code. As I said it looks like he was going to have the parameters available in the BUG Options screen but had not gotten that far.​
 
Well I'm getting a much better answer from you than I did Afforess or any of the other AND Team. I wish I could do more than just dig stuff up as I think this is a Good player Option to have available. But even so, if it's Not working at all would be good to know too.

Thanks DH for looking at this.

JosEPh
 
I put in the debug prints and this is what I get in PythonDbg.log
Code:
10:05:40 DEBUG: Enhanced Tech Conquest
10:05:40 DEBUG:     Complete Technology Discovery.... 0
10:05:40 DEBUG:     Technology Transfer Count........ 5
10:05:40 DEBUG:     Random Technology Transfer Amount 1
10:05:40 DEBUG:     Technology Transfer Ignore Prereq 1
10:05:40 DEBUG:     Disable Full Technology Transfer. 1
10:05:40 DEBUG:     Base Technology Transfer Percent. 5
10:05:40 DEBUG:     Percentage Per City Population... 1

My formatting did not work but those values look like the ones we defined. They don't look like the defaults.

I am going to try it with the config file in the UserSettings folder because that is where all the others are. It may be that the program searches one then the other.
 
OK what Zappara did, but did not quite complete, is he made Enhanced Tech Conquest use the BUG modular python.

It is defined OK in the Assets/Config/init.XML so it should be active.

This is exactly correct, I "kinda" remember working with Zappara on this (been alooooong time ago) for testing proposes still don't know everything about it though . .
 
I put in the debug prints and this is what I get in PythonDbg.log
Code:
10:05:40 DEBUG: Enhanced Tech Conquest
10:05:40 DEBUG:     Complete Technology Discovery.... 0
10:05:40 DEBUG:     Technology Transfer Count........ 5
10:05:40 DEBUG:     Random Technology Transfer Amount 1
10:05:40 DEBUG:     Technology Transfer Ignore Prereq 1
10:05:40 DEBUG:     Disable Full Technology Transfer. 1
10:05:40 DEBUG:     Base Technology Transfer Percent. 5
10:05:40 DEBUG:     Percentage Per City Population... 1

My formatting did not work but those values look like the ones we defined. They don't look like the defaults.

I am going to try it with the config file in the UserSettings folder because that is where all the others are. It may be that the program searches one then the other.

So the Config.ini changes actually do something after all. That's a plus in my book! As I wanted to test if setting the 1st value to True would actually give All the techs from the Civ who lost a city (decent sized and not a 1 or 2 pop city) to conquest.

JosEPh
 
Top Bottom