A screenshot of the UI I bodged together. The idea is to allow users to play with their AIs a bit.
How it works:
During each game the score, as well as some other stats relating to the AI's characteristics (shown by the bars), as well as the game info, are recorded and appended to the AI's data file. Currently the score is used for fitness, although I've come up with some other criteria for letting an AI continue to either breed, or stay unchanged for the next generation.
I'm probably going to go for generation sizes of 18, so that a full sized game can be played with all the AIs at once, and so that they don't take too long. These packs of 18 AIs will be downloadable from somewhere (not sure where to put them yet), and people will be able test them, and then send the results back to me for proceesing. Each AI has to play a minimum of 10 games for it to be eligable for proccessing, although they will be able to play more. Once all of a user's AIs have played AI games a prompt will come up when they load a game reminding them to send the AIs back to me.
The track AI feature allows users to select an AI to follow the progress of. This doesn't really have any effect on the algorithm, however is quite a nice tool to play with. I'll probably add a few more features in this direction such as more detailed stats on tracked AIs, or on-screen updates as the game is running.
The little +/- buttons by the AI don't do anything at the moment, and might never. The idea was to class AIs based on these factors and from that determine which alterations increase that factor. By using the +/- buttons it would be possible for the user to enhance that factor (although it's more then likely this would degrade other factors).
It's also possible for the human to play against the AIs. The screen above lets you pick specific opponents to play against which should not only provide a slightly more unpredicable AI then people are used to, but also hopefully a better one.
I'll probably make a post in main C&C about this later on today. Might be tomorrow if something comes up.