jncraton / BWMetaAI

A StarCraft Brood War AI designed to follow the modern 1v1 metagame
Other
100 stars 12 forks source link

farms_notiming supply blocks the AI forever in specific cases #19

Closed BoneHorror closed 3 years ago

BoneHorror commented 5 years ago

Sometimes (most often when there's a zerg player who is half a supply short of being supply capped or when the AI is 1 supply short of being supply capped but waits for training a 2+ supply unit) farms_notiming makes the AI hang up until it's attacked (loses supply) and not proceed it's script. I would recommend phasing out farms_notiming earlier or not using it at all, handling first supply manually and then adding farms_timing after the few first workers.

During my testing this has happened the most to muta/ling zerg AI

jncraton commented 5 years ago

Thanks for bringing this up. It would be helpful to have specific replays that demonstrate this issue along with the commit hash that you were playing on if you have this available.

This is an issue that I'm aware of as a possible outcome. I've had a hard time getting the same level of quality out of Zerg builds as the other races. This is complicated because Zerg is usually juggling multiple bases very early on, and Zerg Larva being a limited resource makes things difficult to time out perfectly.

For example, a perfect 3 Hatch Muta timing requires all 9 Larva at Hatcheries saved, along with 900/900 resources, for the moment the Spire finishes. farms_timing unfortunately heavily over builds Overlords and wrecks a lot of timings such as this one.

In addition to this, Zerg will slightly over train units in certain cases due to the way Eggs are handled by the engine.

With all that said, I'll certainly take a look at the impacted builds when I have a chance and try to find a way to squeeze in an extra Overlord or come up with another way to overcome this issue without harming overall timing.

BoneHorror commented 5 years ago

Yeah I know about the egg thing, was fixed in aise a year ago. I think the only relatively commonly impacted build will be muta/ling at 52 or 60 supply, don't have replays and won't have new ones since I'm removing chaff like this to get rid of the freezes https://i.imgur.com/Fo7cmfq.png