archive by month
Skip to content

alternative base placements

Steamhammer’s new base placement code works perfectly on all SSCAIT maps, and most other maps that I have tested—but not quite all. I found one case on Gaema Gowon (an old map that is not likely to come up in bot competition) where a gas geyser for a low-ground natural base was assigned to the nearby high-ground mineral-only base instead. That’s a bug that I’ll fix, and it’s the only mistake I’ve seen in assigning resources to the correct bases (I’ve been checking every base). A different surprise came up on Match Point, for the right-hand mineral-only base.

The background: Once it has determined the set of resources that belongs to a base, Steamhammer places the base by finding the legal spot with the minimum sum of distances to the resources, using a simplified distance measure that ignores diagonal offsets. In practice, it seems to work great for a base which has gas, even if all the resources are in a straight line. For a mineral only base, it occasionally places the base 1 or 2 tiles to the side of BWTA’s location, a spot which is just as good by Steamhammer’s distance measure and, to my eye, not significantly worse by any measure. Multiple locations might be equally good.

For the right-side mineral-only base on Match Point (and not the symmetrical one on the left), Steamhammer places the base on the opposite side of the minerals from the standard location. The base has id 6, labeled on the minerals and the base location. The large yellow box is the bounding box of the resources. The small yellow box is a tile near the geometric center of the bounding box, used as the starting point for base placement. The hatchery is placed in the standard position, in this picture.

displaced base

I’ve never seen a game on this map with a base on the wrong side of these minerals (and I’ve seen enough games on Match Point, it’s a popular map). Looking at the mineral layout, I have to think that Steamhammer’s position will mine less efficiently (this is the only example I’ve seen where I thought the difference might be significant). And yet I can imagine tactical reasons that you might want to displace your base—workers might be able to run away more easily from an attack down the ramp, it might be scouted later, it might allow freer unit movement around the ramp. I’ve seen pro games with deliberately displaced bases at the mineral-only bases of Circuit Breaker.

It got me thinking. Maybe I should provide a way to calculate alternative base placements, so if the bot has a reason to, it can offset its base. Well, I won’t do that soon, but maybe someday.

Trackbacks

No Trackbacks

Comments

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Submitted comments will be subject to moderation before being displayed.