Discussion in 'Bugs and Crashes' started by Dancing Hoskuld, Dec 26, 2016.
v38.1 is now patched and ready for downloading . .
Thank you SO! This will help folks a lot. I'll update the player's guide with the new download link but I'm not sure where to find it... I'll look tomorrow.
In my game on the Vertical Solar Map all my opponents are just sitting there and are founding no new cities. Most of them produce Lesser Research. I am not at war with anyone and they have plenty of space to expand. I am somewhere in the middle of the Ancient Era.
These are my settings:
No Technology Trading
No Tech. Brokering
No Vassal States
No Tech Diffusion
Surround and Destroy
No Zones of Control
No Negative Traits
C2C Combat Mod - Fight or Flight
C2C Combat Mod - Size Matters
Minimum City Border
Assigned Specialists XP
Teleporting Hunting Awards
C2C Combat Mod - Hide and Seek
Peace Among NPCs
Animals Stay Out!
I'm on SVN 9920 and I've discovered the Ethiopians are doing nothing but building Story Tellers, they have 9 of them! I have a feeling the Incans might be doing something similar just by the sheer disparity in combat strength shown in the UI in the bottom corner.
Interesting. My games they've been doing anything but... they've been quite agressively building new cities. So this is rather curious. I'll look into it when I can.
My game is before anyone has got to tribalism, but i noticed I appeared to be the only one actively hunting and then discovered that bizarre scenario with the Ethiopians.
This is not as odd as it may appear. The AI wants to be at whatever it takes to get the best benefit out of education that's available. They're reacting a little too strong to get there but they start at 0 with education and want to be at 100. I've gotta think of a way to get them to be more measured in their approach without under reacting to other properties. It's kinda buggy but its also kinda a valid strategy as well.
However, sitting there having every city building research when there's definitely other beneficial things they could be doing - that's a problem.
At around the ancient-classical era, there are (were?) periods where you can only build buildings with low ROI rate. The AI might notice that and decide to invest in research instead. It's quite possible that he made the correct call, if it didn't wish to go to war or expand due to upkeep.
This discussion "could" tie into the Venus of Willendorf discussion. If the Ethiopians are building STs then perhaps they have the Wonder and are prepping for the next city, especially if the 1 City Tile Start is On.
But jatkinson is playing on Eternity GS and is still in Preh Era. The AI is probably prepping for Tribalism and it's 2nd city as well as what T-rb mentioned of having it's Education Level above 100.
@JosEPh_II I think he meant this quote:
Since jatkinson was commenting on the AI building story tellers (not research), I assumed T-brd was answering to this part.
I might be mistaken, though.
The AI doesn't look at ROI for building determinations but it does arrange its priorities by the time cost to build so it kinda does. I think I erroneously enhanced their sensitivity to prop cntrl need in my set of fixes thinking it could help with a problem but it had nothing to do with it so just created a new problem. Easy fix when I get a minute.
The AI is not so clever. It only sends settlers with minimal but strong escorts then lets the newborn city cry for what it needs and responds to the strongest needs first. Its a fast way to spread at least.
Going out on a limb here..but it is possible the AI is miscalculating the situation and therefore overbuilds stuff?
If you mouse-over properties in the city screen, you get a few numbers that don't add up correctly.
The disease: minus 6 plus 11 is plus 5 but the trend is -4? And even if I add the missing 4% decay-towards-zero myself I still can't make head or tails of this calculation.
If the mouse-over calculation is wacky then perhaps the calculation the AI uses in the code is also wacky.
What I personally calculate, as a player, is the drift-towards value of a property. In the above example, disease is 57 (let's call this A) and the drift is -4 (let's call this B). Since there is a 4% drift towards zero, every 25 points higher disease gives -1 drift and every 25 points lower disease gives +1 drift. When you reach the drift-towards value, the property is stable. So this gets the formula:
Drift_Towards_Value = A + B * 25.
In the above example, the current disease will drop until they are close to 57 + (-4)*25 = 57 - 100 = minus 43. If nothing changes (i.e. no additional sources of disease), disease will drop turn after turn until it hits minus 43 and then is stable. It may stop a few points above that due to rounding.
Jatkinson's above post shows a level 2 city in prehistoric. To get to roughly 100 starting from zero, you need a net +4 education/turn above the level needed to compensate for the education consumption. Even at deity/nightmare, 9 story tellers is excessive, especially with the buildup promotion.
They don't take into account the 'trend' at all, only where they are at now. Trying to create a mathematical structure that takes the overall drift to achieve a particular level would be a nightmare. However, when I adjusted their reaction sensitivity, which is a matter of how they prioritize their build selections, I made them much less tolerant of not being where they wanted to be and they aren't using a more gradual approach as they should be so they are just training these units until they get where they want to be. It's not the worst bug in the world because when they then start getting access to the buildings that these storytellers can build, they'll immediately start dumping them into those.
But I will be fixing it anyhow.
The more concerning one is that I have no idea what might make the whole nation suddenly go on researching. The only thing I know that can mean is one of two things (though research into the code may show more) - either they feel they are in a desperate need to catch up in tech situation, or they are finished with every build/unit train that they would want and have nothing better to do. This scenario at first glance at the explanation, doesn't seem to validly qualify for either of those situations.
That tooltip/mouseover is So misleading I wish it was not even there. All it does is add to confusion because the path the math takes is complicated. The AI has no problem with the numbers, it's the players that do.
Because you can not see the diffusion rate and it's back and forth workings the decay rate does not give you an accurate means of figuring it out. So all your formula's have missing data that changes the numbers multiple times.
+Thunderbrd: perhaps the AI should learn to use this trend-towards-value. And if I can calculate it quickly from values on screen with a simple formula, so can the AI. Without it, it is very easy to overshoot with countermeasures.
+JosEPh_II: diffusion complicates it a bit, yes, but not so much, as the diffusion is already included in the current drift (B in my formula). It will change a bit over time but not by much, unless there has been a really big and rapid change.
Still, as a player I've been able to figure out how to make use of it and it would be far worse if it wasn't there. At least it's telling you where you are at right now and the (well coined term) 'trend'.
If a math genius would like to work on that they are welcome to it. I've set up the method for the AI to adapt in another way. One problem is even figuring out how to draw those references AIAndy is using for that screen display. His programming is... very difficult to follow. This is because he tends to use one name for many functions and let the code determine from the parameter type being called for, which function to refer to and I get lost in his basic naming for things. He also pieces together the display codes in such an intricate maze of generic possibilities that it's very difficult to track down a particular variable.
But that's not the only thing...it's not like cities sit around thinking about everything they can do at once and figuring out what the best thing is from that mass of information. They have priorities and evaluate those priorities in order to see if it's the right time for this or that. Once a priority says 'yes me' then that's what it does and it stops looking further. Building into this decision matrix tree a more complex evaluation would slow things down a lot.
I thought the trend value on the screen display (B) is simply the difference between the current value and the value of the last turn before the current turn?
I cannot confirm that.
While this might be an advice which you already know about, it sounds like you might have missed it- VS default so that if you press f12 while selecting a function (or a variable), it will jump to its definition. This is a bit troublesome with interfaces, but might help you with quickly navigating to the correct function.
In regards to Noriad's idea- it sounds like the AI should assign two roles to property units. The AI might work like this already, I'm not familiar with it enough, so rather throw this idea out.
Type 1 role: the unit will stay at the city at all time, simply reducing the crime/disease/education.
Type 2 role: the unit will move to cities with high property, and reduce it.
If a city's property is rising, units from the second role will want to reach the city and turn into a type 1 role.
This means that the AI will want to have a few type 2 units to reduce high property, and as backup for new type 1 units. The type 1 units will simply stay in the cities, ignoring the world.
The actual math for priorities should be something along the lines of
A*a+B*b-C*c, where A is the current property, B is the change rate, and C is the number of units enroute. a,b,c are the score modifiers. When the AI decides where to send a unit, he takes the highest number, as resulted from the previous equation.
Is this at all similar to how the AI works?
Separate names with a comma.