Generally speaking, This is more sort of a discussion topic rather than anything seriously related to the actual code or future bots. I have a few ideas floating in my mind, and I am digging into books for the NN and general artificial life assembly and evolution, and just thought to ask/share some ideas and generally discuss the plausibility of such a thing.
In general the bots can be divided into 4 categories, 2 of which everyone have seen at least once :
1) Hard-defined AI. Defined set of rules, you expect it to react in exactly the same way under the same circumstances
2) Hard-defined AI with variable constants. Similar to 1, but this time it might change say rifle to shotgun, if it finds that it gets him more kills on the map. Still very restricted AI.
>> 3) Soft-defined AI, without self-evolution. AI that has some backbone algorithms which allow it to mimic and evaluate the actions of the _human_ players.
4) Soft-defined AI, with evolution algos. Full scale AI with ability to create and evaluate new ruleset for itself.
The difference between the 4 and 3 is quite small, although it simplifies a few complicated things, such as algorithms for creation of the initial ruleset and further development of it. (in a large scale, say you will not have to program the bot to enable him to get an idea to create a base somewhere just out of his mind).
The 3d case simplifies the algorithm to a set of procedures for the recording and evaluation of the human behaviour. In general, it can be explained as "Bot is learning from the players". My "hives following around the corners" patch is a good example of the initial and the most basic bot algorithm, which can be summarised as : record, optimise and follow the path that a player creates for the bot.
Taking it further, just a single game on a map can already create a sufficient graph of paths for an AI (ignore the wallwalking for a moment), which can then be dynamically adjusted as the games continue. AI can record the most probable places for the friendly and enemy bases, and choose the path appropriately (i.e. builder will choose safest path, fighter will take the one leading to the base).
The general ruleset can be split into several parts, with some degree of usefulness in similar but not exact situations :
0) aiming techniques and general personal properties, such as accuracy, awareness and aggressiveness.
1) Close quarter combat. Relative patterns of the movements are recorded. Performance both of the weapon and the movement are evaluated. Can be used in any similar situation, assuming the sizes of the rooms are the same. Scaling factor can also be introduced to some degree, allowing to use same patters in even more cases. Requires a lot of approximation and cannot be accurately recorded (in reality)
2) A more generalised view on the map. Choice of weapons dependant on the path chosen and predicted enemies. Cannot be re-used since it is strictly map-dependant. Pathfinding happens at this stage.
3) Feedback loop, for general performance evaluation as a single cell (unit)
4) Team-size overview of the map. Attempts to sync 2 or more bots in the case (1) and constant re-evaluation of the performance of the team as a whole.
5) Base building. (hardest part). Creation of the efficiency/vulnerability map, and relative decision dependant on the buildings which are already built.
All of these stages use both humans and bots to alter and create the new rulesets. There is no creative work done by the AI (i.e. the only thing it can do is average between the recorded data, it cannot create a new pattern), but it still can gradually adjust itself to the human level.
The AI can be written in blocks, which simplifies the problem slightly (such as for example, I have a half-done algorithms for recording the path network from the players).
The final advantage of such an AI is that it will take a LOT less time for it to evolve to something playable, still allowing it to change.
Any comments and ideas are welcome. Just bear in mind, I am thinking of this as just a "maybe" project for a several years, so there is no reason to expect anything serious to happen any time soon.