Here's a starter for ten...
THE USER EXPERIENCE
Running battles with the email interface (semi-automated):
- I switch on my computer, log on to the net and email my battle updates to the server.
- I check my inbox and see that there's an email request from the server to run some more battles.
- I download the attachment (which contains all the information I need to run the battles) and disconnect from the net.
- I feed the attachment from the email into the client which runs the battles to completion and generates a battle output file.
- The next morning I return to my computer and email my battle updates to the server.
Running battles with the client interface (fully automated):
- I switch on my computer which starts the client automatically and I log on to the net.
- The client contacts the server and uploads its battle updates.
- The server sends new battle requests to the client.
- I decide to disconnect from the net at this point.
- The client runs the battles to completion.
- When I reconnect to the net, the client contacts the server and uploads its battle updates.
Some thoughts about the battle request:
- It will contain no more than is necessary for the client to run a battle. In the case of a fully up-to-date client, this will be nothing more than a list of bots and groupings.
- Updates to a bot only if the client doesn't have the latest version.
- Updates to a bot's data file only if the client doesn't have it. (Does this mean that there will only ever be one data file for a bot?)