[MOD] More Naval AI

The important promotions most of the time are shock, cover and formation. That is what allows a unit to be a counter to another. The AI seems to tend to get combat three before these promotions – but, for example, a combat one and shock warrior is the favorite against a combat two warrior.

Most of Horatius's pointers are good general rules for the AI, but I disagree with this one. Once Horseback Riding has been discovered, every single unit should automatically receive the Mobility promotion ASAP. Also, in taking the anti-unit promotions, units should be tagged to specialize in only one area. In general, a unit should never take more than one of the shock, cover, formation, or slayer promotions. Otherwise, it's better just to take Combat promotions. There are some exceptions: for example, a unit could take combat 1, shock, and undead slaying for a +100% bonus against skeletons, spectres, pyre zombies, diseased corpses, etc.
 
I do have a real problem with all the IA´s dieing in the first few turns, i think it has something to do with them exploring lais.
Maybe you could include an option to lock all Lais for the first 50 turns?
 
~~ 2.0 breaks the scenarios for me, even if I load them directly.
~~The BUG alerts don't all work, I don't get notified when a city is going to become unhealthy or unhappy even though I have them checked.

OK. I'll look into both issues.

We had an OOS in 1.8.5 (we still have not finished our last game). One of us is playing as the Infernals (we had the previously discussed OOS error while switching civilizations) and he is conquering his previous civilization (the Sheaim). Whenever he conquers one of the Sheaim cities, we have an OOS error.

EDIT1: The OOS happens at random when he conquers a city, not only when he conquers one of his old cities.

Does it happen everytime the Infernals conquer a city? Is it only the Infernals?


Regarding the previous beta patch:

<lots of AI sugegstions>

Thanks for the feedback!

I suspect that the code found in the subversion repository is missing a file or a function. In the linking phase it is not able to find the definition of the CyCityPythonInterface2 function. I was not able to find it either.

EDIT: The game ran fine but it seems to be missing a lot of TXT_KEY_... keys. Maybe some XML files are missing from the repository too?

Looks like I missed adding some files to the repository. BUG added so many.... I'll add the text and CyCity..2 files now. Let me know if you find anything else missing.
 
Does it happen everytime the Infernals conquer a city? Is it only the Infernals?

It did not happen every time they conquered a city, but almost every time. Note that this happened after one of the players moved to the Infernals and we saved that game and restarted from it. In our current game the Infernals are present (but not lead by a human player) and we had no OOS for now.

Looks like I missed adding some files to the repository. BUG added so many.... I'll add the text and CyCity..2 files now. Let me know if you find anything else missing.

I can compile CvGameCoreDLL without problems after merging with r725. The game itself seems to run fine, I can see all BUG and Rev text options fine. Thank you for the quick fix, I'll be back with feedback once I play some games with this new version :)

Regarding Puppet States, I'm wondering if it would be possible to use "minor leaders" for them when possible. With that I mean the extra leaders used only in the scenarios. It might be too much work for such a small gain, though.

EDIT: The mana hide/show option seems broken. I get a python exception while trying to use it.

EDIT2: The Revolution Watch icon appears as a pink square for me (I wonder how I missed it on my first test...). Also, I would like to know if it would be possible to avoid showing the Revolution popup about shortcut/enabled options every time a game is loaded or created.

There is something wrong regarding the Illians commerce on rivers fix. Besides my original fix, it seems that the Temple of the Hand is set to add +1 Commerce on rivers. Therefore, Illians are getting +2 commerce on ice river tiles right now.
 
Whenever I play the new version it shows four or five messages saying something along the lines of BUG mod settings could not be accessed. The message doesn't seem to go away and is extremely annoying, am I missing something here?
 
Regarding Puppet States, I'm wondering if it would be possible to use "minor leaders" for them when possible. With that I mean the extra leaders used only in the scenarios. It might be too much work for such a small gain, though.

That's probably doable, though I'm not quite sure how. Those leaders aren't listed in Civilizationinfos.xml and I suspect that adding them there would make them part of the normal leader rotation. I'll have to see if they have some sort of identifying tag in Leaderheadinfos. Might need to add one otherwise.

EDIT: The mana hide/show option seems broken. I get a python exception while trying to use it.

This is all handled in CvMainInterface.py
Edit: OK. I see the python error in the logs, though it still hides and un-hides. I'll look into it.


EDIT2: The Revolution Watch icon appears as a pink square for me (I wonder how I missed it on my first test...).

Looks like I missed a couple of buttons. Missing files uploaded to Sourceforge

Also, I would like to know if it would be possible to avoid showing the Revolution popup about shortcut/enabled options every time a game is loaded or created.

This should only appear for games in which Revolutions are enabled. That popup is made somewhere in python. Not sure where off the top of my head, but you should be able to find it pretty easily and then just comment that section of code out.

There is something wrong regarding the Illians commerce on rivers fix. Besides my original fix, it seems that the Temple of the Hand is set to add +1 Commerce on rivers. Therefore, Illians are getting +2 commerce on ice river tiles right now.

Thanks! Fix uploaded to Sourceforge.


Whenever I play the new version it shows four or five messages saying something along the lines of BUG mod settings could not be accessed. The message doesn't seem to go away and is extremely annoying, am I missing something here?

Sounds like you didnt download and install the BUG .ini files.
 
Thanks, I'll check how to disable the Revolutions popup in my build. IMO it is quite tiresome to get it every time you start/load a game :)

I had a single player test game with r728 yesterday (holidays allow you to do that :P) and I noticed some issues.

Previously I was using r694 (which already included puppet states) and when I conquered a city I had the option to convert it into a puppet state. This option does not appear anymore.

The technology names in the technology advisor do not appear in their place anymore, they appear moved to the left.

Sometimes, a religionFounded event handler would appear. See "bug_issue.png" for the error message. I did not notice any ingame problems because of this, though.

The last issue is the most noticeable. When a revolution happens, it is possible to get the @Random (by Alignment) civilization into the game.

I have enjoyed revolutions so far, it makes me pay more attention to my cities. I missed puppet states though. And having BUG is a blessing too. Thank you again for your work :)
 

Attachments

  • bug_issue.JPG
    bug_issue.JPG
    225.3 KB · Views: 68
  • revolutions_issue.JPG
    revolutions_issue.JPG
    162.1 KB · Views: 62
Thanks, I'll check how to disable the Revolutions popup in my build. IMO it is quite tiresome to get it every time you start/load a game :)

In the config directory, change the ActivePopup setting in Revolution.xml to False. I'll probably make this the default option with the next release as that popup really isn't very useful.
 
Previously I was using r694 (which already included puppet states) and when I conquered a city I had the option to convert it into a puppet state. This option does not appear anymore.

I made it so that setting up a Puppet State requires the ability to create Vassals. The option should appear when you have Feudalism.

The technology names in the technology advisor do not appear in their place anymore, they appear moved to the left.

I saw this happen once but then it seemed to fix itself and I haven't seen it again. Is this UI issue happening all the time?
Edit: Well I just saw it again in my current test game, though only 3 tech names are misaligned. I'll look into it.

Sometimes, a religionFounded event handler would appear. See "bug_issue.png" for the error message. I did not notice any ingame problems because of this, though.

I suspect that this is related to the tester.py file in the Revolutions folder. I'm going to try removing it for the next release.

The last issue is the most noticeable. When a revolution happens, it is possible to get the @Random (by Alignment) civilization into the game.

Yep. The Revolutions game option still needs lots of work. If anyone wants to take a shot at the Revolutions python code, I'd love the help!
 
I do have a real problem with all the AI´s dieing in the first few turns, i think it has something to do with them exploring lais.
Maybe you could include an option to lock all Lairs for the first 50 turns?

I see this occasionally. Mainly due to Azers, particularly named ones. I'm hesitant to make any changes here because the AI civs aren't killing themselves by exploring lairs. What's happening is they are exploring lairs that are near other civs, which seems like a perfectly valid AI decision. As a human player, I don't hesitate to explore a lair that isn't near my cities.

I suspect that the new barbarian AI is having some effect as the Azers no longer simply suicide but will sometimes wait to heal up when they've been injured, so I think I'll pursue some changes in that area first and see how it goes.

Thanks for the feedback!
 
The BUG power ratio option for the scoreboard isn't working.

I disabled it and I think this is an option that I will end up removing entirely. The player doesn't know the other player's specific power scores (just some general info they can glean from the demographics and charts), so giving out this info is a bit of a cheat. This option makes more sense in a game that includes espionage and such, which FFH does not.
 
In the config directory, change the ActivePopup setting in Revolution.xml to False. I'll probably make this the default option with the next release as that popup really isn't very useful.

Thank you!


I made it so that setting up a Puppet State requires the ability to create Vassals. The option should appear when you have Feudalism.

That decision makes sense. I'm missing Feudalism so that explains my issue. A "Enables puppet states" text should be added to the Feudalism entry in the Civilopedia.


I saw this happen once but then it seemed to fix itself and I haven't seen it again. Is this UI issue happening all the time?
Edit: Well I just saw it again in my current test game, though only 3 tech names are misaligned. I'll look into it.

I loaded a savegame that had the issue to take a screenshot, but titles appear correctly now... Maybe it is something that only happens after some time playing?


Yep. The Revolutions game option still needs lots of work. If anyone wants to take a shot at the Revolutions python code, I'd love the help!

I still don't know how to find what I want in the python code, but if you point me to where it handles revolution events I can try to understand how it chooses which civilization to use.
 
I see this occasionally. Mainly due to Azers, particularly named ones. I'm hesitant to make any changes here because the AI civs aren't killing themselves by exploring lairs. What's happening is they are exploring lairs that are near other civs, which seems like a perfectly valid AI decision. As a human player, I don't hesitate to explore a lair that isn't near my cities.

I suspect that the new barbarian AI is having some effect as the Azers no longer simply suicide but will sometimes wait to heal up when they've been injured, so I think I'll pursue some changes in that area first and see how it goes.

Thanks for the feedback!

One way i could imagene, even though probly requiering a lot of work, would be to scale the lair spawns with the progress of the game.
 
I see this occasionally. Mainly due to Azers, particularly named ones. I'm hesitant to make any changes here because the AI civs aren't killing themselves by exploring lairs. What's happening is they are exploring lairs that are near other civs, which seems like a perfectly valid AI decision. As a human player, I don't hesitate to explore a lair that isn't near my cities.

The contributing factor could be the AI's being in too much of a hurry to push out their 1st worker leaving their city poorly defended for way too long. 3 warriors on guard should be the minimum before considering worker.
 
Yep. The Revolutions game option still needs lots of work. If anyone wants to take a shot at the Revolutions python code, I'd love the help!

That should help with the Random Civ problem. I'm not able to try it out, but it's just few lines of code.
All changes are commented with "lfgr"
 

Attachments

We had another OOS error while playing with r694. Again, Hyborem and the Infernals were present, but now they are happening in "normal" turns too. I'm confident that the OOS are related to Hyborem or the Infernal civilization in some way, but I don't know how. What can I do to help with debugging this issue?
 
That should help with the Random Civ problem. I'm not able to try it out, but it's just few lines of code.
All changes are commented with "lfgr"

Thanks! I'll check out your fix when I get a chance


We had another OOS error while playing with r694. Again, Hyborem and the Infernals were present, but now they are happening in "normal" turns too. I'm confident that the OOS are related to Hyborem or the Infernal civilization in some way, but I don't know how. What can I do to help with debugging this issue?

I'm not really sure to be honest. I know pretty much nothing about OOS issues. Perhaps running a debug DLL and taking note of any asserts that come up when the Infernals are created will point in the right direction?
 
Sounds like you didnt download and install the BUG .ini files.

I did download them but I wasn't sure where I was supposed to put the files, possibly put them in the wrong place? Sorry I'm a complete failure with computers :p
 
Back
Top Bottom