archive by month
Skip to content

mine-laying framework

What is a good framework for laying spider mines?

Steamhammer’s terran is much better with barracks units than with factory units. To catch up, it needs 2 skills. One is the ability to siege tanks non-ridiculously, and the other is the ability to lay spider mines in reasonable places. Right now it can’t lay mines at all.

It would be easy enough to code up a simple behavior like “lay mines along the path between the friendly and enemy main.” But I’m a little more ambitious. For terran and protoss, Steamhammer is primarily a starting point for authors to build their own bots. I want there to be enough structure that authors feel they can plug in their own mine-laying skills without having to figure out the details from scratch. I don’t think it would take much structure.

A brief reminder of some of the many uses of spider mines:

  • Provide map vision, so you can (for example) see incoming drops.
  • Obstruct paths so the enemy can’t move around as easily.
  • Catch fresh units just coming out of the gateway (say).
  • Deter cloaked units without needing detection.
  • Block expansion locations.
  • Directly attack sieged tanks or dragoons by being laid next to the target.

So what is a good framework for laying mines? I’m imagining something like a list of available behaviors and some way of telling when to use each, but I haven’t come up with a satisfying plan.

What would you do?

Trackbacks

No Trackbacks

Comments

McRave on :

One of the best ways to lay mines is using chokepoints between spawns and chokepoints surrounding enemy areas. Simple and powerful, lay them in trios.

McRave on :

To clarify, I mean spawns as in between all starting locations roughly centralized so that you essentially cover any movement in the center of the map.

Arrak on :

A central manager framework would be consistent with Steamhammer's other frameworks. Lately I've been thinking about what I call "mission boards." --- The manager generates and maintains priorities for spider mines and information regarding them, and assigns "available" vultures missions to lay spider mines. A mission, by default, simply includes the location of the spider mine and should probably also include give-up conditions ("at all costs" or "on seeing enemy"). Vultures execute missions until they encounter resistance greater than the mission calls for, returning info to the mission manager if they die, give up, or succeed --- by default, a mission is removed from the manager in every case, and no other info is returned. A default mission could, for example, simply cycle through every vulture periodically and tell them to lay spider mines where they are "at all costs."

MiroDK on :

This mission manager could also be used for other things like scout missions for other races.

Dang on :

I recommend reading Iron Bot for inspiration on the matter, if you haven't already.

jtolmar on :

Sort all the potential mine positions by arbitrary scores then go down the list until you reach something that doesn't have a mine already, doesn't have something trying to lay a mine, and can be reached reasonably. Then have however many position-sources add positions to the list.

IMP on :

From a machine-learning perspective (the only one I'm interested in at the moment) I'm thinking of having a tile-resolution grid for each map and each start location combination. The grid simply contains a priority indicating the importance of having a mine there. This works similar to the scouting heat map. To learn the priorities, plant mines somewhat randomly and keep track of how much damage they dealt, how many units they've seen, etc. and ultimately of course if you could win more or faster. In a next step priorities could change over time or expire.

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.