The current state of the AI is quite rudimentary, the algorithms used are quite simple and there are no support for using paratropers / building bases / raising and lowering land etc. But still, the AI works well to play against in it's current form and importantly there are no feeling that the AI somehow 'cheats' which is the case with most other realtime strategy games I have encountered.
In order to play against a computer opponent a normal player should first be setup (ie. -red :0.0) and then the option "-ai" should be used. This option accepts two arguments, the player which should be computer assisted (it is still possible to play him also, overriding the AI's commands) and the skilllevel of the AI. The skill level mainly affects how many moves per timeunit the AI is allowed to make - a move is here an added or removed vector from a cell. Setting the skill level to 6-7 should be enough to provide a good challenge to novice players. Lover skill levels means more moves and hence, a better opponent. Example of AI invocation:
xbattle -red null -green null -blue :0.0 -ai 0 7 -ai 1 7 -board 12
-rbases 3 -towns 2 -hex -hills 5 -sea 3 -hidden -farms 20
Note the use of the dummy display name "null" for the first player meaning that no window should be opened for that player. It is also possible to bring up a window for the first (AI controlled) player by using:
xbattle -red :0.0 -green :0.0 -ai 0 5 ...
In this case two windows are opened, one for red and one for green, on your display. The AI will controll the red player, but you can also make moves for the red player by clicking in the corresponding window. This is mostly usefull for debugging the AI, but perhaps it could be used as an aid to players.
Furthermore it should be noted that it is possible to have several AI's in a game (even only AI players), all map types and all other options. Note that the AI ignores most special options (paratropers,land fill,base construction,horizon etc).
One further note about the quality of the AI. As most game programmers know it is quite
difficult to write a decent computer AI for strategy games, especially if the AI
is not allowed to cheat. Most [realtime] strategy games I have seen have a cheating
AI and mostly varies the amount of cheating when the difficulty level is increased, this is
probably why multiplayer games are so popular. It is simply more fun to play against
an opponent making smart moves and win/loose rather than playing against a stupid opponent
who cheats, regardless of outcome. An explanation for this is that current research in
AI has very little focus on the game industry, and the game AI programmers today are
implementing things 5-20 years back from the research frontline. As an example I have
heard game programmers becoming euforic because of the search strategy A*
and various slight improvements of it. Try publishing that on an AI conferance!
When I first set out to implement an AI for XBattles I wanted to make a fun game for me to play in lack of human opponents. For me this means that the AI must not cheat, ever. Considering this it is not a big surprise that the AI in XBattles is and probably will remain quite easy to beat for a human player. My solution to this has this far been to allow a small kind of cheat for the AI, namely the number of moves per second it is allowed to do. I motivate this by noticing that the number of moves per second seem to be quite different between experienced players and novices. So, to come to the conclusion: My only way of affecting the difficulty of the AI players without deliberatly cheating is to modulate the number of moves per second which the AI is allowed to do.
However, even this is does not neccessarily make a difficult
AI since it might be the case that there are no good moves to make at a certain
timepoint. For an experienced player it doesn't matter much if the AI makes 10 or 100
moves per second unless there exists 100 good moves to do (and they can be identified
by the AI). The solution if you want to play against a difficult AI is
to have gamerules for which the AI plays well. Currently this involves options such as
farms, milita, towns etc. since the AI has a tendency to cover large territories
quite fast. Also the AI is now capable of taking advantage of guns in attacks so
they can also be used to get a more entertaining game. Compare for instance the quality of
the AI when playing with all the options mentioned above and that of an AI of the same skill level
playing the polar.xbo scenario. I'm sorry but the AI cannot handle such scenarios very
well, yet. Hopefully this will change in the future, but it's not certain that the AI ever will play
very well scenarios where it is not an advantage to cover large terrain areas.
I hope this haven't discouraged you from playing the game. Have fun with it and don't hesitate to contact me for comments, improvements, suggestions etc.