The command "Catch Resource (Not an Ally is moving to)" doesn't work as I'd expect it to. I'd expect the ai to be executed one bot at a time, with bot 1 moving to the first resource. Bot 2 would then detect that the first resource is "busy", and choose the next closest resource. Instead what happens is all bots simultaneously choose the same resource, realize that other allies have also chosen that resource, and in the next tick, simultaneously choose the next resource together, and keep looping. Is that a bug, or somehow expected behavior?
5 posts • Page 1 of 1
It is expected. It is a long standing "initial problem" for the ones that want to distribute the harvesting. If you search in the forum you will find 2-3 similar threads, maybe some with the solution.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;
Zaxon wrote:It appears it is caused by evaluations for all bots done first, then moves are done in a second round.
Yeah, from what I've read and understand, that's how it works. The AI is processed first at the beginning of each tick, each bot selects an action to perform, then they all execute it. So the filter is really checking if any ally was moving to that resource in the previous tick. Since no allies were moving there previously (as the game just started), multiple bots may end up going to the same resource.
I used tags (which are instant at the beginning of the turn and evaluated in instantiation order) to get around this.
Who is online
Users browsing this forum: No registered users and 1 guest