Revision 912
- Restore some mistakenly deleted text entries
- Decrease Meteor event occurance weight
- Separate BBAI logging into separate log file per team
- Remove floating defenders cache, waste of memory
- Turn off unit tendering contract system
- Tweak Ai city defense behavior
- Tone down AI resource claiming
- Add logging for great commander AI decisions (which has only shown me how poorly the AI is with them...)
The changelog here seems pretty minor, but it's actually massive.
The BBAI logging change makes it significantly to follow a particular AI player's actions. Before you had sift through one massive log to find a particular player's actions. Now you don't.
Floating defenders needed was being cached by 2 separate variables, when the calculation was already cached as part of CvCityAI::AI_minDefenders, and redundant. 8 bytes of memory per city reclaimed.
Tried to make AI's defend cities a bit more, but the changes are minor.
AI's will not claim resources now unless the resource is adjacent to one of their tiles. This prevents some absurd behaviors noticed.
Unit Tendering. So this was a feature introduced by C2C. It replaced the older, BTS method of unit production with a more centralized system that had cities advertise needed units, and either units would fill contractual orders, or cities would produce units to fill the contracts themselves. All well and good. Except this system lacked any implementation where the AI could mass extra units for war. Structurally, the ability to create offensive contracts existed, but in practice, it never happened. Writing the code necessary to correctly count the number and strength of units that an AI might need for offensive purposes is no minor task. After some simple testing, I realized that reverting to the older-BTS unit production was for the best. While not as good for defensive purposes, it did allow the AI to correctly mass units for war. If you've noticed the AI has a terrible time actually executing war's, this is why. It was unable to train units specifically for war making.
I also added extra logging so I can track every decision AI's make about great commander units, as I've seen the AI misuse them, and many forum reports corroborate this. Early analysis of this logging shows extremely poor AI decision making. I don't have the time to look into fixing this now, but at least I have a better of handle of what is going wrong.