> 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

Reply via email to