Although I made a brief wiki post at 
<>, I figured it'd be best 
to post more here.  I would like to be able to run scripts on the 
client.  It would allow a user controlled auto-settler, explore, 
patrol(and improve to do something more than just move), and more and 
take some of the burden off of the server.  Part of the inspiration is 
managing a large army of units, such as when winning the giant earth 
map.  I'd like a miniature AI, or General, to do the attacking an 
conquering for me, and perhaps another AI for defense(and auto attack). 
  All that would really need to be done is add lua(or anything) to the 
client to allow scripting, an ability to add units and cities to 
groups, and some user IO method, even a kludgy one.  With what I've 
seen in the server scripting capabilities, there's sufficient back work 
to overcome the initial hurdles.

But here's what's probably the best part, with enough development, and 
switching the server-ai code to the script(at least temporarily), it'd 
be possible to run 8 different AI's with different code and different 
preferences on one server to test superiority, and superiority on 
different map types so code could be added to make the AI as hard as 
possible for each map.  If people are using the "General" idea enough 
and tweaking it enough for their liking it could make the AI better 
than what's currently used.  Here's some of my idea.

Player AI:
        Manages cities and improvements, orders the AI's, switching unit's 
between itself and the attack and defense AI's
        May split an AI into two if the forces are large enough, and for 
defense, if there's enough of a split to prevent ferrying units across 
wide area's that would make the transport's vulnerable

Attack AI:
        Instructed to attack a city/continent/player and how determined to 
attack(kamikaze to near guaranteed success) based on some want level
        May attack just to conquer, or attack to weaken the enemy for a later 
        May ask the player for a delay if it would prefer or need time for 
units such as transports, or to group units better, but of course can 
be overridden
        Only really cares about patrolling/conquering so assumes the player 
knows the rest

Defense AI:
        Protects designated cities, moves units around based on apparent 
threat(how many enemy units have been spotted recently, how close to 
border, etc)
        Attack incoming enemy units(submarines and stealth bombers are great 
for this).

An AI may ignore a new order if the 'want' of the new order is low 
enough compared to a previous order to allow the AI a little more 
ability to follow through on it's actions.  Also, if the militaristic 
units are split off from the player and managed as such, the AI may 
commit more units(like every unit the attack AI has) for a particular 
attack instead of petty skirmishes.  This combined with the attack and 
defense being client side and scriptable(so faster and easier to edit, 
and more likely to be tweaked by various poeple), could make the AI far 
stronger than it is now, so that perhaps there could just be games of 
seeing who's made the strongest AI.  And by being client sided easier 
to directly compare different AI strength's.

Freeciv-dev mailing list

Reply via email to