Hi, a friend and I have been looking around the qBot code and making some small adjustments / trying out stuff. We've made a list of some ideas you may want to consider. Our input is based on your code from about a month ago, so perhaps you may have changed a thing or two. We invite you (and anyone else reading this) to let us know what you think of the ideas. Siege weapons: when creating an army to be sent to the opponent Civ Center, there should be more siege weapons. It would make it more challenging to defend against qBot's attacks. Right now its fairly easy to garrison inside buildings and kill off the enemy soldiers whilst they take an eternity to destroy a fortress/civ center. Garrison: related to the above, it would be great if qBot sent units into towers/fortresses/Civ Centers when under attack. That would increase their resistence to the player's attack. However, if there are siege weapons assaulting the buildings, then the garrisoned units should scramble out and destroy the siege weapons. Female evasion: female citizens should run away from enemy soldiers. Basically the sort of behaviour currently observed by some animals - I believe the deer run away from all human units? Target selection: in defence.js you assign defenders to a random enemy in the attacker's group. We thought it would be better if non-ranged units would select the nearest enemy (in the same attacking group). This would give them a better chance of inflicting some damage as you might get situations where a swordsman needs to cross a whole group of enemies to hit his randomly selected target. Ranged units on the other hand could select the strongest enemy. We used your built in getUnitStrength function to determine the strongest enemy. In case of multiple strongest enemies, just select the one who is nearest. Training units: currently you train units of which the population has the lowest amount of. I assume this assures a nice variety of unit types (no one likes to fight against an elephant spammer...). However, we thought it would be nice if the AI tried to focus on training the stronger units. We attempted to use the getUnitStrength function here too, but since this part of the code deals with templates instead of entities we weren't able to succesfully implement it. Females vs males: in economy.js, you set the limit of females in a population to one third. My friend and I debated that in the beginning of a game you'd like to have lots of females to quickly gather resources and transfer into the city phase. However once you're done building your city and have started focusing on training an army, we reckon the 1/3 limit should decrease so that qBot can create more soldiers. In other words, we suggest a flexible female citizen population limit; high in the beginning, lower after entering the city phase. Key buildings: right now you only set Civ Centers to be key buildings (in defence.js). When unassigning defenders, you send them back to the nearest key building (currently only Civ Centers). Maybe you could add fortresses to the list of key buildings? Entry points: in terrain-analysis.js, you calculate the entry points. These are defined on a block placement radius of 45 from the Civ Center. We noticed that on smaller maps, this distance is too big (for example Fast Oasis). A radius depending on the size of the map would be more suitable. Instead of 45, we divided the shortest side (width or height) of the map by 6 and it seems to give decent results: if(this.width < this.height) { blockPlacementRadius = Math.floor(this.width/6); } else { blockPlacementRadius = Math.floor(this.height/6); } Patrols: finally, we had a go (but failed) at incorporating patrolling behaviour. Our idea was that we would use the entry points as a patrolling route. A group of soldiers (probably elite soldiers) would walk from one point to the other, guarding the territory. The group could wait a set amount of time at each point (say 10 seconds) and then move on to the next entry point. Eventually qBot will build fortresses on these entry points, at which point the patrol group(s) would simply be walking from fortress to fortress. I think it would be a neat defensive behaviour, as apposed to simply standing still somewhere. Further patrolling points could be Civ Centers and other important buildings.