[MOD] More Naval AI

Gotcha just thought I would ask, but it might be a good idea to add it as a Kuriate ability that allows extra unit allowed to be built for every 15 population otherwise Kuriates get overrun too fast by everyone else

I agree with you, I don't think it would be gamebreaking, and would help make the Kuriotates or any other mega city to have a little more advantage. Kuriotates are one of the weakest AI civs IMO, as they always get crushed or compromised in my games. I think this is implemented in A New Dawn mod and works fine. I don't think vanilla FFH2 was finished, and that is why I like good mods that further its development, especially the AI.
 
Funny - the Kuriotates tend to do pretty well in my games, most of the time. However, the Mercurian Gate is crucial to their late-game success.
 
It certainly would be possible, but it's not something I'm likely to implement. Being able to build multiple units per turn in a city completely changes the dynamics of the game. And unless you design the game around that concept (which FFH is not), all sorts of things get thrown out of whack.

Think about it this way. You're not just building an army of robots (well, I guess the Lurchuirp are to some extent). You're recruiting and training a host of living beings. There are certain limitations on how quickly that can be done and that's expressed in-game as only being able to build 1 unit per city per turn.

I agree with most of that; It's something I DID merge into RifE, but only the Clan and Bannor are able to use it, and only the Clan is really able to leverage it well. It replaced the Warrens mechanic.
 
Hello.

Me and my dad have been playing ffh with your AI patch for awhile now, and just updated to the newest version.

In the attached savefile, I am playing as the lanun, and my dad is playing as the hippus. An OOS occurs whenever the lanun (me, host) player double clicks on the city Dunwich.

The OOS does not occur on the previous turn, and continues to occur if the city is viewed on subsequent turns. The pirate cove had literally only just upgraded that turn, and is adjacent to the city, whereas the ones near Innsmouth are not adjacent. So maybe it is possible the defensive bonus is causing it. Or maybe the revolution points acculumating in Dunwich is causing it?

We are playing on marathon, on a huge pangaea, with all civs on separate teams (ourselves included). barbarian world, raging barbarians, no tech trade/brokering, no archeron, no world spells, city flip after conquest, permanent alliances, new random seed on reload, wildlands, hallowed ground, compact enforced, all unique features, advanced tactics, and puppet states and revolutions are the game options we have

As well as this, gargolyes (spawned from pristin pass) attack cities as aggressively as barbarian warriors do now, I don't know if that's intentional.

Also computers destroy dungeons/barrows/etc far more aggressively than before. Three civs were wiped out in the first ~10 turns by a fire elemental which ended up sieging the hippus capital.
 

Attachments

Funny - the Kuriotates tend to do pretty well in my games, most of the time. However, the Mercurian Gate is crucial to their late-game success.

Exactly, the Mercurian gate is the wonder that makes Kuriotiates AI have a ghost of a chance, by providing them with a powerful ally to fight for them, otherwise they get swarmed by hordes of units.

Also they can survive wars if they are short, they just can't win them because they will lose more units per turn then they can produce per turn.

Human players can work around this by building a large reserve, AI does build a reserve but it isn't large enough and they are too risky in their behavior. Kuriotiate AI should be more cautious with units.
 
How about putting in an event that lets the player know when someone is building the last section of the altar? We already get one for the tower of mastery and we'd get one for a spaceship in BTS.
 
Funny - the Kuriotates tend to do pretty well in my games, most of the time. However, the Mercurian Gate is crucial to their late-game success.

I play on Large or huge maps, and usually all landmass maps, so they only get a few megacities, and simply cannot keep up with other civs who have 10-20 cities. I guess on a standard sea map or smaller the kuriotates could do better, however I think on Standard size they only get 3 megacities :(
 
IKuriotates are one of the weakest AI civs IMO, as they always get crushed or compromised in my games.
Funny - the Kuriotates tend to do pretty well in my games, most of the time. However, the Mercurian Gate is crucial to their late-game success.
I play on Large or huge maps, and usually all landmass maps, so they only get a few megacities, and simply cannot keep up with other civs who have 10-20 cities. I guess on a standard sea map or smaller the kuriotates could do better, however I think on Standard size they only get 3 megacities :(
I usually play on huge as well, and in my current game it's 500 turns in and I'm in second (well, third) behind the Kuriotates (and Mercurians). They just got their cities rolling early and cranked out wonders like crazy. I'm going to crush them with waves upon waves of fully upgraded Iron Golems shortly, but it's not as though they've done poorly.

For obvious reasons, they are dependent on getting a good starting position, but they can do well on small maps where their empire isn't relatively small, and on larger maps if they have the Mercurians to do the expanding for them. This isn't the first game I've played where they've done well.

Even beyond that, I'm not convinced that 2 units per turn is really a solution to their problems. There's nothing wrong with cranking out the top units, and there aren't many cities that are going to do that in less than a turn. Centaur Knights and Crossbowmen are 240 hammers apiece.
 
So I was partially wrong about the building not being built.

Seems they only don't build those building if you start in the medieval age or use advanced placement with gratuitous amounts of money to research all techs and have a empire in the first turn.

If you start in ancient age with settlers they will build palisade,monuments, etc
 
Tholal's mod is the only one that is stable on Huge map size, otherwise I stick with Large. RiFE I'll try soon probably on Standard.

Excellent point about the crossbowmen. I think it makes sense to a point, but building 2 arquebus each turn is quite powerful, though I like the idea very much to have an option to allow AI to utilize this feature (like removing AI building requirement). Actually could encourage the AI to build higher pop cities.

I like the idea of letting the settlements become more productive with limited options.

I usually play on huge as well, and in my current game it's 500 turns in and I'm in second (well, third) behind the Kuriotates (and Mercurians). They just got their cities rolling early and cranked out wonders like crazy. I'm going to crush them with waves upon waves of fully upgraded Iron Golems shortly, but it's not as though they've done poorly.

For obvious reasons, they are dependent on getting a good starting position, but they can do well on small maps where their empire isn't relatively small, and on larger maps if they have the Mercurians to do the expanding for them. This isn't the first game I've played where they've done well.

Even beyond that, I'm not convinced that 2 units per turn is really a solution to their problems. There's nothing wrong with cranking out the top units, and there aren't many cities that are going to do that in less than a turn. Centaur Knights and Crossbowmen are 240 hammers apiece.
 
I usually play on huge as well, and in my current game it's 500 turns in and I'm in second (well, third) behind the Kuriotates (and Mercurians). They just got their cities rolling early and cranked out wonders like crazy. I'm going to crush them with waves upon waves of fully upgraded Iron Golems shortly, but it's not as though they've done poorly.

Look how you are dealing with them, by burying them with numbers, why because they cannot keep up with your production despite having significantly better cities then you

(also look at your scores, when using the meter it adds all members of a teams scores together for positioning, do you have a gold star next to your name? guess what you are in the lead)

For obvious reasons, they are dependent on getting a good starting position, but they can do well on small maps where their empire isn't relatively small, and on larger maps if they have the Mercurians to do the expanding for them. This isn't the first game I've played where they've done well.

Except they should not have to rely on the Mercurians to be viable in large maps. They should be able to hold their own and be able to fight, not just be delegated to nonviolent victories when alone


Even beyond that, I'm not convinced that 2 units per turn is really a solution to their problems. There's nothing wrong with cranking out the top units, and there aren't many cities that are going to do that in less than a turn. Centaur Knights and Crossbowmen are 240 hammers apiece.

and Aquibusiers cost 180 and champions 120 and unlike those "top" units there is no national cap and they both cost about half what Crossbow and knights do.
 
and a mega-city (kuriotate), with forge, adequat resources, GP, civics and wonders, and eventually heroic epic can normally largely output 150:hammers: and more generally up to 200-300:hammers: a turn.
(that mean that they can produce between 4units every 3 turns to up to 5units every 2 turns, but can't as it can only build 1unit/turn.)

Even without playing the kurios I generally reach a stage where my best city (and maybe a second one) gives me gold every turn as I have already build all buildings, all wonders availables, all tierIV units... and I can build all tier III units in less than 1 turn.
So I can't even evaluate the potential of the kurios..
 
Because of a mistake in my sorter, "Random Evil Leader" appeared last instead of first. I'm attaching the fixed files.

I'm also attaching a spell that allows to declare war to the barbarians, asking for confirmation first. The spell code (the prerreq function and the war change itself) is taken from Erebus in the Balance (thanks!). The popup is the result of a lot of trial and error on my part, and it also uses an extension of Snarko's solution for avoiding OOS errors. The files are based on r973.

Also, it is still not possible to join Great Generals with arcane units. I managed to fix that on my local build, basing my code upon the changes you already made for allowing Great Generals to join with disciple units.

In the Civilopedia, at the Traits section, the hover text for all leaders always shows the Amurite Hero and World Spell.
 

Attachments

It seems that you still have not exposed pTeam.setHasEmbassy(iTeam, True) to python in the latest version.


Could you add a tag to allow specific units to move through territory under a Right of Passage Agreement without needing to make them defensive only, giving them 0 strength, or using the <bRivalTerritory>1 tag that would let them move there without any sort of agreement?
 
I'm also attaching a spell that allows to declare war to the barbarians, asking for confirmation first. The spell code (the prerreq function and the war change itself) is taken from Erebus in the Balance (thanks!). The popup is the result of a lot of trial and error on my part, and it also uses an extension of Snarko's solution for avoiding OOS errors. The files are based on r973.

Looks good. Thanks!

Also, it is still not possible to join Great Generals with arcane units. I managed to fix that on my local build, basing my code upon the changes you already made for allowing Great Generals to join with disciple units.

Meant to include that with the last release but I forgot about it.

In the Civilopedia, at the Traits section, the hover text for all leaders always shows the Amurite Hero and World Spell.

I'm not seeing this issue.

It seems that you still have not exposed pTeam.setHasEmbassy(iTeam, True) to python in the latest version.

I did that a while back. Make sure that you're setting it by team and not player.

Could you add a tag to allow specific units to move through territory under a Right of Passage Agreement without needing to make them defensive only, giving them 0 strength, or using the <bRivalTerritory>1 tag that would let them move there without any sort of agreement?

Looking at the code, it seems like it checks for the bRivalTerritory flag before it gets to the various Open Borders options, so it should already work as you want it to.
 
pFounderTeam.setHasEmbassy(iInfernalTeam, True) still does not seem to be working in my Infernal Pact ritual. I'll to check it again.

edit: It wasn't working, but I managed to fix it by moving that part of the code up a little and using the function twice to set an embassy for both teams instead of only one.


I think you misunderstood me about bRivalTerritory. I know that that lets a unit move in rival territory regardless of whether you have Open Borders or a Right of Passage agreement. What I would like is a way to allow units to move through rival territory with a Right of Passage Agreement without allowing them to do so when you have no agreement.
 
I usually play on huge as well, and in my current game it's 500 turns in and I'm in second (well, third) behind the Kuriotates (and Mercurians). They just got their cities rolling early and cranked out wonders like crazy. I'm going to crush them with waves upon waves of fully upgraded Iron Golems shortly, but it's not as though they've done poorly.
Look how you are dealing with them, by burying them with numbers, why because they cannot keep up with your production despite having significantly better cities then you
Well, I'm actually quite a ways behind in troop numbers. I have less than 100 Iron Golems, which is way behind the Mercurian numbers and barely on the level of the Kuriotates. I'm really just burying them in the awesomeness of IGs with Empower 5 and Fire 2. I'm winning with quality (and tactics), not quantity.

(also look at your scores, when using the meter it adds all members of a teams scores together for positioning, do you have a gold star next to your name? guess what you are in the lead)
My meter doesn't list the teams by score ever since I switched to Tholal's mod, but FWIW I was behind them in score until the war had been going for a while and I had captured/sacked a bunch of cities.

For obvious reasons, they are dependent on getting a good starting position, but they can do well on small maps where their empire isn't relatively small, and on larger maps if they have the Mercurians to do the expanding for them. This isn't the first game I've played where they've done well.
Except they should not have to rely on the Mercurians to be viable in large maps. They should be able to hold their own and be able to fight, not just be delegated to nonviolent victories when alone
First, they're not entirely reliant on the Mercurians on all large maps - I probably overstated that. They are helped quite a lot by them when trying to win by domination/conquest, but even those victories are possible without Mercurians - since their max city count scales with map size, the amount of land relative to the size of the map is a bigger factor than whether you're on a medium, large, or huge map.

Moreover, why should every faction be able to win every way on every map without it being a big challenge? I don't see why that should be considered desireable. If you play the Kuriotates on a map with lots of land given the map size, and you either don't want to win by nonviolent means or you turned those wins off, and you either lost the race for the Mercurian Gate or decided not to pursue it, and you didn't tap mercenaries or other approaches to augmenting your troop stacks, then that game will be harder than usual. That's OK in my book.

Even beyond that, I'm not convinced that 2 units per turn is really a solution to their problems. There's nothing wrong with cranking out the top units, and there aren't many cities that are going to do that in less than a turn. Centaur Knights and Crossbowmen are 240 hammers apiece.
and Aquibusiers cost 180 and champions 120 and unlike those "top" units there is no national cap and they both cost about half what Crossbow and knights do.
Well, the tier 4 units probably aren't the best example, although you could produce 4 each of several different sorts of tier 4 units, and keep yourself busy if you're actually in a war of attrition. Still, sure, you've got to settle for 180 hammer figures. As long as you don't overspecialize your cities, though, this really doesn't seem like such a drawback. And if you did make one city the big hammer producer, then maybe you should be building wonders or towers or something instead of troops, with that city.

I continue to think that allowing Kuriotates to produce multiple units in one turn is a solution to a non-problem.
 
A couple friends and I played a frustrating game with the new patch with an OOS on turn one using Advanced Tactics (no Rev/PuppetState), speed Quick. We got past it with a reload, but AI civs were popping graveyards and dungeons right away, spawning high level monsters that took us out (an Azer killed me just after I built my first warrior past the initial pre-spawn warrior, and I wasn't the one to pop that dungeon or barrow).

New game, same settings. We got hit with an OOS about 30 turns in, reloaded on that turn, continued for about another 20 or so until one of my friends got wiped by Mahala for refusing to give their map as tribute.

In the process, I was able to capture an AI city that got captured by a Barbarian Gargoyle. The Gargoyle, still injured from taking the city, saw my stack of five warriors and counterattacked (and died), leaving the city ripe for the taking. AI was also popping dungeons and the like with impunity like in the last game.

Included are the two games at the OOS points; unfortunately, I'm not finding an OOS log to include.
 

Attachments

Included are the two games at the OOS points; unfortunately, I'm not finding an OOS log to include.

I'm not entirely sure how (or if I even can) to debug a multiplayer game, but I'll see if I can load your saves.

Regarding OOS logging, in CivilizationIV.ini, there is the following section.

Code:
; Enable synchronization logging
SynchLog = 0

Change the 0 to a 1.
 
Back
Top Bottom