I feel like advocating the traditional AI approach.
Can I suggest that the first step is to setup event monitoring of games (similar to the efforts of
datamine, but not as detailed), record the commands the commanders of the teams issue (both orders to drones and 'insert to accept' orders to players/groups and chat the comms type), also record what types of objects were where when the order was issued and what investments were present the "state" of the game. Similar story for investment when the comm makes an investment record the "state" of the game.
Leave the logging running and eventually you will build a sizeable dataset of {[commander output],[game state]} pairs.
The [commander output] being order issued, chat emitted (and on what channel), tech investment action, money request approval, boot performed.
The [game state] information would be a list of game objects and their status (what ships, drones, probes, bases (for both teams) were where (their types identified by their ID number in the core currently in use), how much health, ammo etc they have, How much he3 rocks have, what sectors what tech rocks are in, how many normal rocks are in each sector and their distance to different alephs (this is more efficiently stored as storing the initial locations of all rocks and recording if they are still present).
You then have a dataset to train your AI (think how you would train a
neural net with training data) with.
It should be possible for it to recognise patterns like 'command -go to- [bios bomber ship ID]' is often issued when a friendly ship with [bios bomber ship id] is in the same sector as the base it launched from, and it should be possible to temporally associate [commander output]s - the previous commander output ('command -go to- [bios bomber ship ID]') is often emitted by players in close temporal proximity to 'chat to -team- "need nans [sector name [ship with bios bomber ship ID] is in]'.
I.e. the AI would learn to ask for nans on the chat (and issue commands) when there is a ship with a certain type ID (a bomber) present.
Since the outcomes of the game are known you can have the AI prefer to emit [commander output]s which were emitted in similar situations ([game state]s) by commanders who won that game, and avoid ones done by ones who lost.
For more fun and games, keep a running log of the last N actions of each player and save it with the game state state when the commander emits the [boot player] output (i.e. save what the player did shortly before they were booted), have the AI boot players which perform similar actions.
Jimen wrote:QUOTE (Jimen @ May 28 2011, 10:53 PM) Sure thing! Just teach me C++, DirectX, and whatever other system APIs that Alleg uses! Anything that needs to be compiled before it can be run is
way outside of my area of expertise, but I'll gladly learn it from you!
Start here:
http://www.cplusplus.com/doc/tutorial/ Ask where to go next when you're finished (bonus marks if you can figure it out your self).