• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:59
CEST 13:59
KST 20:59
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun7[ASL21] Ro8 Preview Pt1: Inheritors16[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists19[ASL21] Ro16 Preview Pt1: Fresh Flow9
Community News
2026 GSL Season 1 Qualifiers25Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid25
StarCraft 2
General
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Team Liquid Map Contest #22 - The Finalists MaNa leaves Team Liquid Maestros of the Game 2 announced
Tourneys
GSL Code S Season 1 (2026) FSL Season 10 Individual Championship WardiTV Spring Cup 2026 GSL Season 1 Qualifiers Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base Mutation # 521 Memorable Boss
Brood War
General
ASL21 General Discussion JaeDong's ASL S21 Ro16 Post-Review BW General Discussion Leta's ASL S21 Ro.16 review [ASL21] Ro8 Preview Pt1: Inheritors
Tourneys
Korean KCM Race Survival 2026 Season 2 [ASL21] Ro8 Day 2 [BSL22] RO16 Group Stage - 02 - 10 May [Megathread] Daily Proleagues
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Daigo vs Menard Best of 10 Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Diablo IV
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
Russo-Ukrainian War Thread European Politico-economics QA Mega-thread US Politics Mega-thread 3D technology/software discussion Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion McBoner: A hockey love story
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1454 users

[G]/[I] Wandering and worker saturation

Forum Index > Brood War Strategy
Post a Reply
ix
Profile Joined July 2003
United Kingdom184 Posts
Last Edited: 2010-01-30 21:46:50
January 30 2010 21:03 GMT
#1
I've been messing around with Starcraft macro recenty as a part of learning about the game and decided to share some of my thoughts, both for those who don't know these things and to learn more from experienced players. This was about working out the theory, what is possible is, of course, not always practical but some of this can be extended to useful rules of thumb to improve your game. I hope that some of this material is new, with a game as old as Starcraft it's hard to know exactly what is known.

Useful pieces on these topics include:
Catyoul's Python Mineral patch mining rates
http://www.teamliquid.net/forum/viewmessage.php?topic_id=92971

CDRDude's Worker Saturation post
http://www.teamliquid.net/forum/viewmessage.php?topic_id=83287

Anthrax's Gathering Review
http://www.yellowchrome.org/1com/sclegacy/final_review.pdf

Dead9's Terran Python Mineral patch mining rates Terran
http://www.teamliquid.net/blogs/viewblog.php?topic_id=80414

IMPERVIOUS on Mining rates
http://www.teamliquid.net/forum/viewmessage.php?topic_id=89939

Chinese Mining rate figures
Link broken now, anyone got a new link? They were very accurate

The figures from these posts are pretty good and generally in agreement with the ballpark figures I have found. All of my experiments are with Protoss probes and done at Fastest with time measured using APMLive's clock. The results are likely to be slightly worse for Zerg and Terran.


Ballpark figures

What has been missing from previous discussion is accurate information on maximums and an understanding of wander. Let's start with some numbers (Protoss).

1 Probe Minerals Per Minute
Ideal Patch 76
Near Ideal 72
Normal/Bad 56-68

Infinite Probes
One patch max ~142.4
9 patches Theoretical ~1281.6
9 patches Avg Real ~1270

So there is an absolute upper limit to how many minerals probes can produce in a given time. This seemed to be something many players wondered about. Now how obtainable is this in reality?


Wander

If you look at CDRDude's mineral production chart:
http://img123.imageshack.us/img123/7841/picture2ok6.png

You might assume he had made mistakes based on the shapes of the curves, and this is part of what has confused people about maximum gathering rates. He didn't make a mistake and was correct in suggesting it was wandering behaviour. A more correct version of the minerals per minute chart would show increasing variation, curves with a width from ten workers up to three times as many workers as patches. This raises a very interesting point about Starcraft- between more workers than mineral patches and before stability (I will come to this) your mineral income is semi-random and can vary by +/-100 per minute with identical worker counts. This might be a small part of why Starcraft feels both so fresh and fun, even after so long.


Stability

What previous examinations of mining rates seem to have missed, and why there is so much confusion about what is optimal, is the ultimate state that sufficient workers reach of stability. This is when there is absolutely no wander at all and as a result, all of the mineral patches are effectively maxed out. You can usually see this by eye, although you may have to look several times to be sure as workers can look stable for sometimes up to 30 seconds before collapsing back into bad wandering.

Understanding worker AI helps; when a worker attempts to mine a patch (a discrete action that happens when a worker arrives at a patch and when the previous worker finishes mining if the worker is queued) three things can happen. If it attempted to begin mining within a few frames of the current miner it will wait. You can see this by taking 12 workers and spamming clicks on a patch then stop clicking. The workers tried to mine at the same time, one began mining and the others formed a queue. These workers will not wander no matter how many patches are free until they have left the queue, each worker has a position in the queue, and, when the patch becomes free only the next one in order will attempt to mine. The worker returning minerals will do so and return to the patch, seeing it occupied it will wander, looking around up to 8 matrixes for the nearest free patch to move to, moving to mine from that patch regardless of pathing distance; this is why manner pylons make workers move to the back of the mineral patch.

In a real game, until minerals are saturated, there will always be times when minerals are not mined. If this coincides with a worker looking for a new patch to mine from the worker will move there, usually multiple workers will do so. The patch will sometimes have become occupied before the workers reach it, causing the 'train' of wanderers to stop if no patches are free or to train to the next free patch. Often free patches alternate between distant minerals patches at either end of a mineral line causing extreme inefficiency in the workers. Wander reduces mining rate not only by the travel but also by stacking workers on a patch when they arrive at the same time and by reducing the saturation of the area they came from, often causing one or two mineral patches to be completely ignored for several seconds even with a high worker count and inevitably causing another round of wander back to those patches.

This is why wander costs you so much and why it's somewhat random, it can involve one or two workers all the way up to nine or so when that's one third or more of your total miner count. It often follows periodic behaviours rather like a sin wave although this is hard to measure due to the short-lived nature of each state of wander and difficulty of comparison to create averages. The average figures given over five or ten minutes (Chinese mining rate figures, CDRdudes's, etc) are pretty good guides but at any moment your rate can be quite different to that.

Something that was very interesting was the effect from 22 workers on 9 patches to 23, possibly supporting the 2.5 workers per patch conventional wisdom. 23 workers usually produce around 50 less minerals per minute than 22, the wandering gets that much worse. The problem is that in a real game you wont be counting that accurately and will easily end up costing yourself minerals with a useless worker if you're tring to use 2.5 as a guide.

At three workers per patch and above your miners can reach the state of stability. At this rate every patch is constantly mined meaning no wander happens. It can take anywhere from twenty seconds to over five minutes to go from wandering to stable, somewhat dependent on the spawn's mineral arrangement. When you reach stability with ~27 workers (more allow you to reach stability faster) your mineral gathering rate will jump from between 1050 and 1150 to a stable 1270. 100-200 minerals per minute is not trivial.

Fewer or split mineral patches means workers are noticeably quicker to stabilise so 3 workers per patch on an expansion is usually a good idea, it will pay more than the figures most people have given would lead you to believe.


Optimisation

In a perfect world how many miners would max out minerals? There seems to be a strong myth that two workers would max out all patches and only the AI messes this up. This is complete nonsense and only a few ideal patches are maxed out by 2 workers (and sometimes it is dependent on the matrix the miner mines from, some are considerably better than others, the 12 o'clock Python Natural's right-most patch has two stable mining positions (as in if you tell the probe to do it it keeps doing it in the same place), the left position turns diagonally right to mine and the path is a straight line down and back from minerals to nexus, producing 76 minerals per minute. The other position directly below the mineral patch paths to the middle of the nexus to return and only mines 64 per minute. So far so trivial you say, well when you want to achieve saturation that is the difference between two workers and three.

Any patch that produces over 72 minerals per minute can be saturated with two workers, 72 per min patches are sometimes stable and sometimes not, possibly missing single frames of mining due to factors I don't understand (is there a limited rate of mineral return, like one mineral or gas per frame per Nexus?) but enough to set off mineral-line wide wandering. So unstable 72s and those that produce less require 3 workers. Generally to achieve stability you must have 3 times as many workers as patches but once it's happened you can remove optimal excess workers (sometimes optimal patches will already have only 2 and the excess workers will be queued 3 deep with another travelling for another patch). Python 6 o'clock can be maxed out with 25 mineral miners (2 ideal patches, 3 more near ideal but unstable). At expansions you could usually potentially remove one or two workers, the excess workers should be removed smoothly by telling them to mine gas or distant minerals as they may mess up pathing and cause wandering when removed otherwise.


Achieving stability by hand

I have not discovered a viable method for this yet, not one that can be used in a real game. Time usually settles them, to do it manually you would need to clone nine workers to nine patches and once those were mining, before they finished, clone the remaining 18 workers in pairs to the nine patches, or clone groups of three adding each to a patch by spam clicking to queue them. It may be possible to significantly reduce the time stability takes to attain by, once the workers are mining, taking 3 workers to a bad wander patch or patches and spam clicking them on it so they queue mine it, stabilising it for a bit. It does have interesting implications for macro in the BWAPI contest, if anyone is coding for this I'd love to work with you on breaking AI macro. There are other possibilities too, an idea suggested by IMPERVIOUS, where multiple adjacent patches could have one standby worker waiting to pick up the slack from three pairs of workers.


Reality

In a real game, of course, the above is unlikely to be viable. What is achieveable?

1. You have a useful yardstick, something that has been bugging me as a player- if there is no wander minerals are maxed out, you do not need more workers unless you're planning on a Maynard (and even then, I think the economics of this are questionable).

2. Harassment of workers really hurts, there is an invisible cost of 100-200 minerals per minute for up to five minutes on a saturated mineral line for harassment, although a lot of the time you will either have accidentally oversaturated, reducing this effect somewhat, or are playing many base, in which case the economics are likely to be sub-saturation.

3. You're probably messing up your workers every time you want to build something, again keeping them in a permanent state of wandering. For Protoss, for who this is most applicable, it is worth considering the following- use a builder probe and leave the miners alone. Use a natural probe to build as the natural settles down much more quickly than the main or finally: learn to take from and return your builder workers to an oversaturated ideal patch (3 workers). It is useful to know these ideal patches anyway as they give you an early boost by splitting to them at the beginning. Once a mineral line is stable you can put a probe anywhere on it and it will stay on that mineral so you could make a habit of using the furthest patch and oversatuating by one.

4. Don't do trivial worker transfers from saturated bases, either take a lot (5-6 plus) or none, it will cost you more than it gains unless the base is horrendously oversaturated.

5. Three workers per patch is the most you need, given the relative timings of naturals and the productive ability of multiple nexuses to make new probes going over this limit to transfer seems doubtful in effectiveness. I think this is the next thing I'll have a look at.

6. If you maintain your workers in the stable state for any length of time the mineral patches at a base will run out at a far more similar time than if it wanders all game when a few patches will have hundreds of minerals remaining. It's the same patches causing wandering and running out late.

If you are two base (main and natural), and I'm very interested to hear input from more experienced players on this as this is completely theoretical, I think the 2.5 worker saturation figure is likely to be complete nonsense. If you were to do a timing attack it would make sense, otherwise, if you're planning on further expansions or on 2 base economy you should continue worker production straight to 3x workers/patches. What is the necessary army food count in each match up? Does anyone saturate more than 2 bases? The worker count for 2 bases saturated seems to match up very well with 5 bases (roughly what seems to happen when both players P and T go for massive macro games) one worker per patch, a nice transition between what seem like the two ideals of economy- fastest gathering by saturation and greatest efficiency by one probe per patch.

If you are one base by 6 minutes game time (when you can have produced the necessary 30 workers for mineral and gas saturation, closer to 5 minutes on an 8 patch main, 12.6 seconds per worker) I think even my more extreme ideas of optimisation are worth following, at least a slight overproduction and then use a builder to avoid disrupting workers. This would boost your mineral income by almost 20%. You could even set the few workers you remove from ideal patches to distance mine, though the income from this is universally terrible, Heartbreak Ridge being the best I've found at around 24 minerals per min per worker from main to nat. 3-4 distance miners equals one ideal patch miner.

Holy Wall of Text, Batman. Just to make it clear I'm only a scrubby C- player and am not presenting this as a good guide to what really works in game, that would take comment from more experienced players. I do think the awareness of not disrupting your own workers when taking workers to build is useful and applicable when you're at higher worker counts, as is, for newer players like myself, the knowlege you can stop making workers when wander stops.

I've included a savegame of 6 o'clock Python saturation with the main and natural stabilised, it's a useful thing to have to see how removing and adding workers causes wander to return and how to optimize worker numbers.

http://www.filedropper.com/python6mainandnatstable3x

It's a trivial thing to create for yourself on any map- 3 times as many workers as patches and wait for them to settle down.
ajmbek
Profile Joined November 2008
Italy460 Posts
January 30 2010 21:34 GMT
#2
havent read jet but sounds really good (:
good job for writing this
Sic iter ad astra
Nightmarjoo
Profile Blog Joined October 2006
United States3360 Posts
January 30 2010 21:39 GMT
#3
http://www.panschk.de/mappage/newsscript/viewarticle.php?newsid=22
aka Lyra; My favourites: July, Stork, Draco, MistrZZZ, TheStc, LastShadow - www.broodwarmaps.net - for all your mapping needs; check my stream: high masters mech terran: twitch.tv/lyrathegreat
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2010-01-30 21:46:52
January 30 2010 21:45 GMT
#4
I didn't read most of it (TSL is on!), but anyways, I thought it might be good to add some quite detailed information about gas mining rates.

Gas Issue

This is a map thread of an UMS map that allows detailed testing of gas mining rates, there is a table of all the gas positions and mining rates for each race a bit below.
If you have a good reason to disagree with the above, please tell me. Thank you.
ix
Profile Joined July 2003
United Kingdom184 Posts
January 30 2010 21:51 GMT
#5
Gas is about 288 per minute from a geyser. On most modern maps 3 max this out, or so close that it's not worth the extra worker for Protoss.
Please log in or register to reply.
Live Events Refresh
GSL
09:30
2026 Season 1: Ro12 Group A
Percival vs SolarLIVE!
Zoun vs TBD
Ryung 394
IntoTheiNu 387
LamboSC2152
CranKy Ducklings SOOP77
Rex43
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Ryung 394
LamboSC2 152
Hui .94
BRAT_OK 88
Rex 43
StarCraft: Brood War
Calm 9159
Sea 4591
Jaedong 1558
Mini 655
Hyuk 479
firebathero 421
Soma 335
Snow 265
Stork 253
actioN 212
[ Show more ]
Last 189
Light 184
EffOrt 172
ProTech122
Dewaltoss 105
Free 90
hero 89
Hyun 83
Pusan 80
Rush 72
ToSsGirL 67
ZerO 63
sSak 52
Shinee 46
Aegong 44
ggaemo 41
[sc1f]eonzerg 36
JYJ 30
scan(afreeca) 29
Bale 24
soO 23
Icarus 19
IntoTheRainbow 16
Movie 14
GoRush 13
Sexy 9
Shine 9
Dota 2
XaKoH 563
resolut1ontv 247
ODPixel104
XcaliburYe99
BananaSlamJamma99
Counter-Strike
olofmeister2698
x6flipin489
allub337
byalli169
Other Games
B2W.Neo587
Happy292
crisheroes222
DeMusliM76
Mew2King41
ZerO(Twitch)10
Organizations
StarCraft: Brood War
Kim Chul Min (afreeca) 1495
Dota 2
PGL Dota 2 - Main Stream98
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 2
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota233
League of Legends
• Jankos1089
• TFBlade736
Upcoming Events
Replay Cast
12h 1m
GSL
21h 31m
Cure vs TriGGeR
ByuN vs Bunny
KCM Race Survival
22h 1m
Big Gabe
1d
Replay Cast
1d 12h
Replay Cast
1d 21h
Escore
1d 22h
OSC
2 days
Replay Cast
2 days
Replay Cast
2 days
[ Show More ]
RSL Revival
2 days
IPSL
3 days
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
3 days
Replay Cast
3 days
RSL Revival
3 days
uThermal 2v2 Circuit
4 days
BSL
4 days
IPSL
4 days
eOnzErG vs TBD
G5 vs Nesh
Replay Cast
4 days
Wardi Open
4 days
Afreeca Starleague
4 days
Jaedong vs Light
Monday Night Weeklies
5 days
Replay Cast
5 days
Sparkling Tuna Cup
5 days
Afreeca Starleague
5 days
Snow vs Flash
GSL
6 days
Liquipedia Results

Completed

Proleague 2026-04-28
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
StarCraft2 Community Team League 2026 Spring
2026 GSL S1
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

Escore Tournament S2: W5
KK 2v2 League Season 1
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.