A highly modular and customizable AI

wildptr

Chieftain
Joined
Apr 25, 2005
Messages
7
Ever since civ2 I've been wanting an easy and modular way to implement and fool around with a new AI. Each AI implementation could be put into a DLL of it's own. You could then have the game let each civilization choose a DLL for it's AI routines. In game you could toggle the DLLs the game should use. The impact of this would probably be community developed AI modules of both good and bad qualities. (As a side note this is how AI mods to the Quake engine was implemented even though such things never was intended to be possible. Modders created a DLL that was put in between the engine .exe and the game .DLL)

Ofcourse I'm not sure what the outcome of such capabilities would be but I'm fairly sure the knowledge present on the boards here give the best conditions for an exelent AI to be developed. The loopholes could be fixed as long as there are some people willing to put the time in. Maybe the civfanatics AI project.

Now I'm pretty sure this will never be in the game as it's already under development as far as I know. Development had probably been going on for at least a year when they anounced the game and major redesigns is out of the question. But I want this feature :)
 
Well, Soren claimed long ago that Python scripting would be included with CIv4. If they exposed various parts of the AI to Python there may be a way to do this after a fashion.
 
The problem with scipt languages is that you often are boxed in and limited to the intended use tweaking the available parameters (well not the language it self but rather how a game uses it). I know this was done to some success in ctp even though their 'script language' was more of a settings file. You also can't have two different versions running at the same time and once you apply a mod it's there unless you resort to keeping a backup library yourself. If you want to implement things in C++/VB or what ever a DLL is a necessity which require the developers to put the game and/or AI code in such a library _and_ let you override the shipped AI.
 
Well, in Python you can include any dlls you write as part of the language...
 
Back
Top Bottom