I ran some more synthetic tests, by giving each AI the same land (using the mapscript attached) and letting them play 10 times for 150 turns. [...]
Those tests are about early runaway leaders. A broader concern is whether civs on small continents generally have a better shot at winning the game than civs on large continents. Ideally, to win, a civ should have to do more than conquer its only neighbor and then play it safe. For what it's worth (not much), I've run one full game on your synthetic map, on Emperor difficulty, and got Brennus and Suryavarman on the largest continent. Two similarly warlike leaders with symmetrical starts; difficult for one to get the upper hand, but Brennus managed it eventually, then got quite a bit ahead of everyone else in score, far ahead in power, and, over time, launched invasions against four other continents, always taking a couple of cities, but failing to conquer any capitals (and often also failing to hold onto the smaller cities in the long run). It was enough for a Time victory because everyone else had been ravaged to some extent and didn't have enough land for a timely peaceful victory. Nice game for testing colonial vassals; Brennus created three of them.
Apart from bonus distributions at game start and attempting to optimize civ placement (I concur that this is actually pretty good as it stands), I am unsure whether something can actually be done about it. Warfare simply is a costly matter, as it is to be unable to trade techs or bonuses (and it's obviously a good thing that the Kmod/AdvCiv AI now knows to play out isolated starts).
Maintaing a military at peacetime is costly, but actual warfare should, in principle, only happen when it's advantageous for one side. Some reasons why this principle often doesn't apply:
* The AI tries to go after disliked civs (especially the worst enemy) even when the cost of war will likely outweigh the benfits.
* Some AI leaders try to win military victories for no rational reason although a Space victory (after some conquests) is probably often the safer route.
* War preparations arguably tend to be a bit shorter than the optimal duration. (Because I don't want the stakes to get too high.)
* It can be rational to start a war that is unlikely to accomplish much when the attacker is almost certain not to win the game peacefully.
There are good reasons for these behaviors, but they could be tweaked, maybe.
For the special problem of a civ that is initially isolated apart from coastal water connections: I'd like to revise the trade route assignment algorithm and the modifier formulas in a way that favors trade between
any coastal cities. Trade between continents should be extra rewarding, but not too much so. (And a tech diffusion system that takes into account distances would also help.)
Many of the flavors actually kill the AI. That said, I feel that the AI in AdvCiv makes much more sensible decisions concerning religions and is generally much less eager to found one (compared to BTS or KMod).
K-Mod has indeed already put a break on early religions:
Code:
if (!bNeighbouringReligions)
{
iReligionValue += 20;
if (AI_getFlavorValue(FLAVOR_RELIGION) > 0)
iReligionValue += 28 + 4 * AI_getFlavorValue(FLAVOR_RELIGION);
if (GC.getGame().getElapsedGameTurns() >=
32 * GC.getInfo(GC.getGame().getGameSpeedType()).getResearchPercent() / 100)
{
iReligionValue += 60;
}
if (AI_atVictoryStage(AI_VICTORY_CULTURE1))
iReligionValue += 84;
}
(That's not the entire religion tech evaluation.) Nevertheless, for example in the Brennus game, Montezuma founded Buddhism on turn 27 and founded his second city only on turn 37. I mention the city because the first (small) benefit of a religion is that it can pop the borders of the second city – by getting founded there or, maybe, through a Missionary. Extra happiness in the capital also isn't going to matter before founding another city.
I tried to add the xml part of the prophets stuff as a modular mod, but there's an BTS bug messing up the tech-tree when loading modular techs that have orprereqs set [...]. According to
this post, this is related to loading some xml files to early (in pass 0 I guess), here's a quote of the readme: [...]
That's an interesting old mod. I think I've managed to isolate the relevant XML loading code (
Git commit); haven't tested it though. I've avoided the "Incremental Modular XML loading" changes, not only to avoid breaking something, but also because it adds more clutter to the XML loading code. Most of the other bugfixes in the mod were included in the unofficial patch, but some of them I fixed myself not too long ago. Kind of crazy that rheinig had already done that 10 years earlier.