John, as far as I can tell from the code the bots obey the correct clip sizes, firing rates, and reload times for the guns they use. Since they don't suffer from any latency in 1 direction (they Are the server), it may make them seem a little faster than other players. The other possibility is that, as you noted yourself, the bots like to move in teams for support and you could be hearing shots from multiple bots who are running side by side.
I don't think the server is correctly crediting the bots with flag returns. I'm glad you posted that mission score because it made me notice that. It's on my list to fix now.
One of the bot's biggest advantages is it's ability to seamlessly turn and fire at a player without abandoning it's travel plans, haha. There are of course players who can time and balance their side step keys and backwards to do the same, but it's hard to do while concentrating on aiming and firing. Most players wouldn't notice, but because they are constantly mixing side stepping (and backwards) into their movements, their overall speed is a bit slower than the human players. It's nice knowing that their fancy spinning while moving trick comes with a bit of a down side in terms of overall speed.
I've raised their starting health from 175 to 200 today, since they do drop pretty fast once you can get some rounds headed in their direction. That health seems unfairly high compared to human players, but the bots aren't able to benefit from health boosts or the armor that players pick up as they go. In early tests I gave the bots only 125 health (what players get) and they were dying so fast it wasn't any fun at all. If I end up coding them to benefit from armor, I'll likely go back and remove this starting health boost they get.
Speaking of their limitations, you are correct that they've been limited on range and what weapons they can use. I didn't want them using anything too laggy (I'm looking at you vulcan!) since the server has to still do all of it's usual workload, plus the work of simulating 10 players now. Giving them the same range as players was brutally unfair, as I saw in early tests. I may tweak them over time, but for now I enjoy not being sniped from 50 tiles away, haha.
Keeping processing power low is also why they sometimes ignore you and just run to where they are going. At times where processing would be over their "limit", they dial their brains down to simpler tasks. I'd love to squeeze a bit more performance out of them so they do that less, but even them just racing in to grab the flag and run helps their team considerably.
Strategy is something the bots try to use to their advantage. Moving in groups is something I'm glad you've noticed, and I didn't know if it would come across in audio. I thought their mass of footsteps might make them sound like a big blob. Like moving pieces in chess where you defend each with the others, the bots do what they can to always have a teammate in the area that can jump over to help.
This morning I made some changes to the bots. They should use voice taunts after getting kills (sorta hard to be in the right place to hear it, but it happens), their offensive strategies were tweaked a bit, and they can use burst mode on 4 of the guns. When it comes to bots in any game, code intentionally holds them back from operating at their true potential. If in the course of the match the bots notice that you are better players than them, they will gradually dial up their skill to provide you with a better match. That part hasn't been tested much, but I hope it works as intended.
- Aprone
Please try out my games and programs:
Aprone's software