[MOD] More Naval AI

Tried the mod for the first time with a friend at the weekend.
We'd played mostly Wildmana 8 so far, besides some test games of different Master of Mana versions.
We were curious about the performance of the AI in comparison to Wildmana.
We tried a small map with quick tech and a lakes map on monarch.
Therefore the special naval AI features were probably not used that much.
In short words, I'd say that the mod performs much worse than Wildmana at the start, but slightly better than Wildmana if it comes to mid and end game.

Problems in the early game:
Two AI players chose a start position for their city at the edge of Tundra.
They were explicitly moving to those places, so it wasn't just an accident.
The only remarkably features of those places were an iron resource for the Balseraph and a bronze resource for the Khazad.
They shouldn't know this places at the start so I'm not sure if it was just an accident or 'map knowlege cheating'.
Unfortunately for them, the places were almost suicide since growth was close to zero at this places.
There were far better places available with the option to get access to the bronze or iron resources later with another city.
In addition, the Khazad built his city about 4 fields higher than mine.
Well, I was pissed, built six warriors and rushed him. And since he decided to defend just with one warrior he was toast in no time.
Civs in Wildmana usually build at least 4 warriors for defense so it's much harder to rush them at the start.
Balseraphs were rushed an killed by my friend a bit later.

Mid and late game:
Since Kazhad and Balseraph more or less commited suicide, the Malakhim, Hippus and Sheaim were left and developed surprisingly well in the later stages of the game.
Malakhim started war with me after some time but were doing nothing besides moving a stack of about 20 military units forth and back the whole time.
Then the hippus joined suddently and made some surprisingly well attacks against me.
Single cavalry riders harassing my cities by destroying tiles and workers followed by bigger stacks of military units. The Sheaim then also joined and attacked with adepts, skeletons and pyre zombies. Then the Malakhim decided that moving forth and back gets boring after about ~50 times and made an excellent attack with a military stack backed up by catapults. Corlindale then saved my ass by forcing a peace treaty (I was playing Elohim).

The good things:
- The races actually declared war at some time. In Wildmana races often build huge armies but never declare war or send them to attack.
- The Malakhim used catapults to conquer one of my heavy fortified cities. Very good, Wildmana does that very rarely to almost never.
- Especially Hippus used some good harassing tactics against me
- The Sheaim summoned a lot of skeletons and attacked with them

The bad things: (Clearly the early game)
- Bad choice of starting places for the cities
- Only build a city close to another civ if you want to rush them
- Always build a few warriors for defense at the start and...
- ...don't send away if an enemy is building an attack army just a few fields away.
- They are still teching slowly and not focused enough
 
Right now I'm playing with r767. Sometimes (when you lose a unit or when you summon one, sometimes without apparent reason), the list of units in a tile will show glitches, as shown in the screenshot.

Very odd. I havent seen that one before.

EDIT: I spotted another small GUI bug. The Great Commander icon does not appear for me at the GP bar, and its % text uses a different font than the others. Check the second screenshot for an example. Maybe I'm missing the icon file?

Fixed with revision 769.

More Naval AI breaks the Mulcarn Reborn scenario. The error I get is that at ScenarioFunctions.py, line 495: CustomFunctions instance has no attribute getOpenPlayer.

getOpenPlayer function added back into CustomFunctions with revision 768.

Thanks for the bug reports!

In short words, I'd say that the mod performs much worse than Wildmana at the start, but slightly better than Wildmana if it comes to mid and end game.

Thanks for the detailed feedback. I always appreciate hearing about what's working and what's not. I'm playing around with the settling code now to see what tweaks I can come up with.
 
i've got a question about the gamecoredll attached at the end of your 1st post : what is it for ?
 
Now it uses also terrain.
Tested with three cities: The one in desert spawned Malakim, the one at tongue of land spawned Lanun and the one in a cold arboreous region spawned doviello.

Looks like you didnt include your latest changes to Revolution.py. I'm getting the following error.

File "Revolution", line 3993, in chooseRevolutionCiv
TypeError: chooseNewCivAndLeader() takes exactly 7 arguments (5 given)
 
So I would need them only if I'm trying to be a modder right ?
 
nice of you to be so quick to respond :D
I appreciate it a lot.

PS: you don't need to answer to this ;)
 
I'm attaching a few XML text fixes, mostly typos and civilopedia link fixes. It also includes a Python fix for the Gift of Kylorin scenario. All of these issues are also present in vanilla FFH2, but the fixes are done for More Naval AI r777 files.

EDIT: Attachment removed.
 
Hey Tholal, I think the ai needs to protect its settlers a bit more. I just tried a Charadon Rush, and, well, see for yourself.
 
:lol: Hi, A Moon. Keep going! It might turn out to be the quickest conquest victory ever. ;)

"I got gargoyles to the left of me, a dragon to the right!

And here I am stuck in the middle with two cities and some barbarians..."

Yeah...
 
Now it uses also terrain.
Tested with three cities: The one in desert spawned Malakim, the one at tongue of land spawned Lanun and the one in a cold arboreous region spawned doviello.

Thanks for the updated code! I'm seeing the terrain flavoring in effect (Hippus near Horse, Lanun on Coast, etc).

Here are a few things I would like to tweak with the Revolutions code. If you're up for tackling the coding yourself, that would be awesome, otherwise if you could just point me in the right direction, that would also be helpful.

  • Crime should have a minor effect on local instability
  • Revolts creating entirely new civs should be rare
  • If a rebellion happens in captured cities, and the original owner isnt at war with the current owner, spawn a splinter civ of the original owner rather than a new civ
  • Capital cities shouldnt ever ask to form new civs (splinter civ still ok)
  • Settlements shouldnt form new civs either (splinter civ still ok; also homeland rebellion if its a captured city)
  • It seems as if there is some sort of auto-switch to another civ when you're wiped out - would like to post a popup option instead, or at the very least suppress this function entirely
 
While i love the revolutions mod (playing RoM/AnD) i was allways kinda anoyed that it punishes smaler civs harsher than larger civs.
Large civs can often just recapture any city that revolts, while a smal civ can be totaly crippled by just loosing one city.
Also revolutions can be gamebraking in the very early stages of the game.
If you are playing around with the code anyways, this could be a chance to fix those problems.

It would also be nice to have some buildings/spells/units/mana type that helps preventing revolts.
 
While i love the revolutions mod (playing RoM/AnD) i was allways kinda anoyed that it punishes smaler civs harsher than larger civs.

I agree. I want it to be more of an issue for larger civs and it generally shouldnt be an early-game occurrence. I've added some base values to all the Palaces to help with stability. Which leads to your next point...

It would also be nice to have some buildings/spells/units/mana type that helps preventing revolts.

Already in the works. I'll have some initial stability factors for a few buildings (palaces, courthouses, maybe a couple of others) and civics in the next beta release. Look forward to any feedback you might have on it!
 
Nice

Also maybe there could be a way to inflict revolts up on others, this might be something for CoE as it is kinda underpowered anyways.
 
Back
Top Bottom