Better AI Mod

van der Knivet

Chieftain
Joined
Oct 7, 2010
Messages
23
Location
Brazil
Ok, this will come to be anyway, it is a necessity. So I'm creating it, to see who comes by.

I'm a newbie on AI scripting, and a player of the Civ series since the first one. So I want to help build a mod to make AI better. Not all alone, but I'll sure help on the work.

So, who will take it along?
 
AI work beyond simple value tweaking is generally quite an undertaking. 99.99% of the AI's code is located in CvGameCoreDLL, and the remaining 0.01% is located in the game's SQL data as behavior lists or a couple of editable values (have a look at my Civ6 AI cleanup mod if you want a starting off point for the latter). If you want to start working on the AI immediately, you should start browsing the game's SQL databases and having a look at the behavior lists, but there's probably less you can influence regarding the AI with XML/SQL modding than you could with Civ5, and even Civ5 was quite limited. You'll most likely want to learn C++ then, since if/when CvGameCoreDLL's source code is released, it will undoubtedly be a 100000+ line jungle of C++ code, so you'll definitely want to not just know, but be comfortable with C++ to be able to hack away at the jungle.

Since AI modding requires DLL modding, most people who end up working on the AI don't actually dedicate themselves to AI work. Instead, they usually start out with some total conversion or large overhaul mod, then slowly start fiddling with the AI even as they focus on other stuff. Based on my experiences with AI modding in Civ5, AI modding is basically an "if you build it, they will come" affair. Many people say they're interested in AI modding, so posting about asking who wants to help out will barely draw any serious attention (or at least that's what happened with me), but as soon as you start actually posting some of your own work, it'll draw in people who might not have otherwise wanted to work on the AI to help you out in some way.
 
This is a highly specialised area. You will need to read-up on behaviour trees

Yeah, I know, I've been studying AI for some months, but still just on the theory. I just tough working on a mod would be a good way to start practicing on it.

AI work beyond simple value tweaking is generally quite an undertaking. 99.99% of the AI's code is located in CvGameCoreDLL, and the remaining 0.01% is located in the game's SQL data as behavior lists or a couple of editable values (have a look at my Civ6 AI cleanup mod if you want a starting off point for the latter). If you want to start working on the AI immediately, you should start browsing the game's SQL databases and having a look at the behavior lists, but there's probably less you can influence regarding the AI with XML/SQL modding than you could with Civ5, and even Civ5 was quite limited. You'll most likely want to learn C++ then, since if/when CvGameCoreDLL's source code is released, it will undoubtedly be a 100000+ line jungle of C++ code, so you'll definitely want to not just know, but be comfortable with C++ to be able to hack away at the jungle.

Since AI modding requires DLL modding, most people who end up working on the AI don't actually dedicate themselves to AI work. Instead, they usually start out with some total conversion or large overhaul mod, then slowly start fiddling with the AI even as they focus on other stuff. Based on my experiences with AI modding in Civ5, AI modding is basically an "if you build it, they will come" affair. Many people say they're interested in AI modding, so posting about asking who wants to help out will barely draw any serious attention (or at least that's what happened with me), but as soon as you start actually posting some of your own work, it'll draw in people who might not have otherwise wanted to work on the AI to help you out in some way.

Hm. I'm more familiar with C# (on Unity 3d) and a bit of C, but I guess C++ wouldn't be so far away. But I've read on comments around here on this forum that Civ VI's AI's behaviours are coded on XML.

But yeah, you are right. Maybe I'll start participating on another project, some overhaul of the likes of good old Rise of Mankind, and start messing on the AI as I go... Thank you very much for your good advices. :D
 
Hm. I'm more familiar with C# (on Unity 3d) and a bit of C, but I guess C++ wouldn't be so far away. But I've read on comments around here on this forum that Civ VI's AI's behaviours are coded on XML.

I'm a retired C++ programmer with a lot of Java thrown in, in C++ the object model is similar to C#, but I don't think Firaxis uses managed code or not (I just play the game I have yet to get into modding.) I suggest get used to pointers and doing your own garbage collection (smart pointers are a help here). My specialty has been numerical methods and mathematical optimizations for portfolio analysis (Wall street pays better than game makers :)).
 
Back
Top Bottom