Just to echo what was said earlier - the idea of client side agents is
fundamentally a bad one because it requires too much information to be
kept and sent to the clients. Only on the server can you access the
amount of game state required for such agents without running head
first into race conditions and then deadlocks when try to fix that
because data has to be distributed over the network link and goes out
of sync. It took CMA a very long time and a lot of work to reach its
present state of stability. And CMA "only" does city tile management.
I have also changed my mind about the desirability of a computational
game AI. The amounts of CPU time required to compute best outcomes
increases in such a dramatic fashion when the game rules are
generalized, that it is simply not worth it. Good rules of thumb that
can be written as AI scripts specifically for each ruleset will be
faster, easier to write and maintain, and (therefore) probably even
lead to better outcomes. This was not an easy conclusion for me to
reach, because I spent a lot of time on the current computational AI.
Hindsight is nice.
If you want to throw computations at Freeciv AI problems, I recommend
writing a program that analyses a ruleset then generating script rules
that can be used later for a game AI. That way you can use as many CPU
cycles as you want without anyone complaining.
Freeciv-dev mailing list