Artificial Unintelligence

Besides the obvious performance issues....

Not detrimentally so, hopefully ... although you can still justify it as "a human player will still take longer to do their turn" :p.


Another question though:

For the CvUnitMissions, are the unit missions (for the AI) executed immediately (where possible, i.e. as soon as it's pushed in) by the unit, or are all the mission actions "queued" until a designated part of the turn, and then executed en-masse?
 
Not detrimentally so, hopefully ... although you can still justify it as "a human player will still take longer to do their turn" :p.
Oh, people will definitely notice and complain: even if an AI would not take as long to execute their turn as a human player, having 63 AIs in one game (62 slots + 1 barbarian) would still mean very long turn times. Heck, a lot of people don't even like the slowdown of v9 compared to vanilla, which is nothing compared to the slowdown they'd get in v10.

Another question though:

For the CvUnitMissions, are the unit missions (for the AI) executed immediately (where possible, i.e. as soon as it's pushed in) by the unit, or are all the mission actions "queued" until a designated part of the turn, and then executed en-masse?
Queued attacks worked this way, but I removed them because they hindered the AI a lot, had a few unintended side-effects (Impi ranged attacks firing before non-Impi melee attacks being one such side-effect), and their only benefit seemed to be aesthetic. As for the CvUnitMissions stuff, the head mission at the bottom of the mission stack is executed immediately when it is added, and missions only queue up if the head mission does not complete in a single turn. This means that the queue is most often used as a queue when building improvements that require the removal of features beforehand: for example, if a worker is ordered to build a Plantation on top of some Jungle Citrus, a Remove Jungle mission is added first as the head mission, followed by the actual Build Plantation mission.
 
By the looks of what I have read, I will be sure to love your mod! I just have to find time to play Civ V again (between 5 undergrad classes).
 
is this compatible with gazebos community patch core only?

IIRC, the Community Patch Project devs spent a considerable amount of time merging AuI v9 and bits of v10 with their mod's DLL. Though the two mods are not compatible on paper, the Community Patch Project should already include AuI as part of their DLL.
 
How's v10 coming along, Delnar?

Slowly. I cannot actually debug my current builds properly: compiling with optimizations means that I cannot explore the game's memory state when DangerPlots causes a crash, compiling without optimizations freezes the game as soon as the map is loaded. I do not know how to fix this, so for now, I am just doing general tweaking and cleaning to the project while I focus on other things, like daily, 10-hour university sessions and preparing to run some of my more gameplay-affecting tweaks for v10 through the NQ multiplayer community for safety's sake.
 
hi all,

i read about this hybrid mode for multiplayer in the changelog. does that mean that you got multiplayer to work without desyncs?
 
hi all,

i read about this hybrid mode for multiplayer in the changelog. does that mean that you got multiplayer to work without desyncs?

My hybrid mode thing needs to be properly tested first; it's one of the reasons I'm working on getting some of my more technical tweaks ported to NQMod's DLL, so that the NQ Multiplayer community can help playtesting changes like these.
 
I would like to know if this mod works on Mac and if it is compatible with Really Advanced Setup. Thank you!
 
I would like to know if this mod works on Mac and if it is compatible with Really Advanced Setup. Thank you!
Unfortunately, DLL mods like this one are Windows only. We don't have the Mac source code.
 
Unfortunately, DLL mods like this one are Windows only. We don't have the Mac source code.

I understand, but what about the Lite Version (XML only)?
 
I understand, but what about the Lite Version (XML only)?

The Lite version should be fine. Platforms, ie. running mods on OSX or Linux, are only an issue for mods that use a replacement .dll, like the non-Lite version of AuI. However, AuI should work fine for versions of Civ5 installed inside a Windows shell like Crossover (emulators like VMWare and Parallels probably won't work), or if you're quite technically savvy, an OSX port of Wine.

In other news, I finally found out what was causing unoptimized versions of the DLL to freeze the game at startup (it's the inline setting for some reason), so I'll be able to resume debugging my new DangerPlots.
 
Great news about resuming debugging. Hope it goes well for you.
 
IIRC, the Community Patch Project devs spent a considerable amount of time merging AuI v9 and bits of v10 with their mod's DLL. Though the two mods are not compatible on paper, the Community Patch Project should already include AuI as part of their DLL.

Yep - quite a few of your changes have made their way into the CP. I mentioned earlier, but perhaps you missed - if you want to 'join forces' with ilteroi and I (also, tangentially, whoward), on the CP, you'd be more than welcome. Many of the issues you are having with dangerplots are resolved in the CP, for example, and the fewer DLL mods we have floating around, the better. Ideally, all DLL changes for civ 5 will someday end up in one super-DLL.

G
 
Hey Delnar, any news about version 10? Sounds really exciting especially the AI improvements in multiplayer with diplomacy and war declarations, have really missed this since I switched to using your DLL mod over JDH's Active AI Diplomacy (who needs active AI if they're still stupid? Plus, IDK if it's just me but I could never provoke the AI to declare war even when using the Active AI mod, all other diplomacy options still worked fine).

Either way, huge thanks for this mod as it completely transforms the game, having played 100+ hours with the vanilla AI this is such an improvement. I'm using v9 already in multiplayer together with the non-DLL changes from NQ and it works really well together, just with the usual "Firaxis limitations" of the AI being unable to declare war unless they can set up a war deal with another AI (why, firaxis, why!).

PS. Any way to donate a small amount/steam gift for your fantastic work? :goodjob:
 
Unfortunately, DLL mods like this one are Windows only. We don't have the Mac source code.

I have the mod installed through the Workshop while on a mac. Does this mean I'm only getting the functionality of the Lite version? I definitely see a difference in AI capabilities, particularly with ranges units.
 
Yay, finally have access to a working machine after a week or two of freeloading, I can actually continue modding now... after I've caught up on my week or two of missed university work, that is.

Yep - quite a few of your changes have made their way into the CP. I mentioned earlier, but perhaps you missed - if you want to 'join forces' with ilteroi and I (also, tangentially, whoward), on the CP, you'd be more than welcome. Many of the issues you are having with dangerplots are resolved in the CP, for example, and the fewer DLL mods we have floating around, the better. Ideally, all DLL changes for civ 5 will someday end up in one super-DLL.

Hmm, yes, I'm quite curious about what you guys have done, especially seeing as you've had more time to work on the CPP than I have had time to work on AuI in the past few months (this year of uni has been a PITA). In the meantime, I've also been working on a bunch of technical fixes on a branch of NQMod that I set up; since a lot of these fixes affect the multiplayer side of things more than singleplayer side (eg. making barbarians not spawn and move in the same turn against simultaneous mode players), and NQ now plays with NQMod almost exclusively, making these changes to NQMod first would let me test them more easily.

Also, someone pointed me to overflow issues when using mods that increased science costs to more than 6x Standard. By my estimates, overflow happens at around 2^16 beakers, but since 100x the beaker cost is what is actually stored, this would mean overflow happens at around 2^23, which would line up with a 23-bit mantissa of a 32-bit float, even if it is circumstantial evidence (though the fact that overflow in C++ is undefined for signed integers but defined for floats also supports the fact that things muck up because of a float<->integer conversion somewhere). I'm wondering whether switching certain variables to be stored as 64-bit versions would help; it's certainly possible in SQL (use bigint instead of integer for the table storing the values), CvDatabaseUtility seems to have (yet unused) support for __int64, and I'm fairly certain the DLL-Lua interface can also pass on 64-bit integers...

Hey Delnar, any news about version 10? Sounds really exciting especially the AI improvements in multiplayer with diplomacy and war declarations, have really missed this since I switched to using your DLL mod over JDH's Active AI Diplomacy (who needs active AI if they're still stupid? Plus, IDK if it's just me but I could never provoke the AI to declare war even when using the Active AI mod, all other diplomacy options still worked fine).

Either way, huge thanks for this mod as it completely transforms the game, having played 100+ hours with the vanilla AI this is such an improvement. I'm using v9 already in multiplayer together with the non-DLL changes from NQ and it works really well together, just with the usual "Firaxis limitations" of the AI being unable to declare war unless they can set up a war deal with another AI (why, firaxis, why!).

PS. Any way to donate a small amount/steam gift for your fantastic work? :goodjob:

The short version on v10 is that progress has been slow, partly because I'm busier than ever IRL and partly because my planned AI changes for v10 have been the most frustrating thing to both debug and to make sure they work as intended. Quite often, I got so frustrated debugging AI changes that I distracted myself with other technical changes (bugfixes and the like) and patching up holes that I'd left from my previous efforts. Oh well, at least when v10 comes out, people will also be able to enjoy things like observer mode actually letting you view city screens, a hybrid mode that makes the game progress much faster (this was the thing notque was envisioning way back, though implementing it made me have to fix a lot of hidden bugs in Civ5, such as the AIs never actually being able to end their turns), and turn timers being paused when a player is reconnecting in a multiplayer match.

I haven't set up anything for donations, partly because I don't trust Paypal, partly because Civ5 modding is very much a community effort (I've built on top of WHoward's, Gazebo's, Ilteroi's, and Ninakoru's work among others) and getting donations while the people whose work I build on don't would make me feel guilty, and partly because I don't want to unintentionally guilt anyone out of their money. I'd normally be up for commissioned work, but I've got so little time right now that I wouldn't be able to work on anything extra without also sacrificing time that could be spent working on my current endeavors.

I have the mod installed through the Workshop while on a mac. Does this mean I'm only getting the functionality of the Lite version? I definitely see a difference in AI capabilities, particularly with ranges units.

AFAIK, OSX versions of Civ5 cannot make use of the DLLs in DLL mods, so you're almost getting the functionality of the lite version. The reason I say almost is that some of the AI-related XML/SQL changes in the full version are made assuming that the game is running AuI's DLL, while the Lite version makes no such assumption. As a result, you'll probably have a worse experience running the full version of AuI in OSX than running the lite version. Any improvements you see to how the AI handles its ranged units in OSX while running AuI full is likely a placebo: the XML changes should affect what the AI wants to build, but how its units once it has built them is largely unchanged (other than some minor stuff that occurs as a result of my changes to operations' unit makeups).
 
Hello. Really good mod you made here, probably one of my favorites, in fact. It works perfectly in singleplayer. I have a few questions:

1. Excuse me if this is a redundant or stupid question, but does this mod work in multiplayer (I mean with 2 computers, not hotseat)? I saw some of the previous comments you received about it, but it wasn't clear to me.
2. If so, then what method do you recommend for getting it to work in MP? I was doing research and I stumbled upon a mod manager by JdH, as well as this thing called MPMPM. Any thoughts?
 
Back
Top Bottom