> In a [side] tag, the ai_algorithm attribute specifies which AI to use. > This would simply be set to python_ai to make the AI be controlled using > Python scripting.
Seems like the best way to specify the script name, yes. > Then everything inside [ai] under the [side] tag gets exposed to the AI > as parameters. So, I would suggest that there be a way to specify the > script that is run in there. Then you could possibly have parameters to > be passed to the script inside that. For instance, Some parameters are already in the AI (in campaigns at least). Maybe we could just simply extent that to include script name & such? > It's likely that we would ship a decent AI (maybe multiple decent AIs) > written in Python that are pluggable in case a user wants to override > some of the behavior, but keep most of it the same. For instance, say a > user wanted to customize the recruitment algorithm, they might do > something like this: Nice idea. I guess this will be more a Python-specific thing to do, though. Like a Python script that checks whether other scripts exist to do specific things (recruit, move, ...). > I think that rather than give a specific script to a specific unit, we > could make it so a set of parameters is attached to each unit (unused in > most cases) which the AI can use to change behavior for that unit. Makes sense, and enables to do more personalized things. > I think it's fine to make Python a mandatory dependency for the game. I > am hoping that we can get Python working well enough so that almost > every campaign will use something depending on Python somewhere or another. Then we'll need to have (Windows & Mac?) installer check Python is installed, and with the correct version :) Nicolas
