• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:47
CEST 13:47
KST 20:47
  • 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
Serral wins HomeStory Cup 298Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
Weekly Cups (July 6 - 12): Protoss strike back2BSL Season 22 Full Overview & Conclusion7BSL Season 22 Full Overview & Conclusion7Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon44
StarCraft 2
General
Weekly Cups (July 6 - 12): Protoss strike back Is the larve respawn broken? Serral wins HomeStory Cup 29 Serral wins Maestros of the Game 2 Reynor: GSL Loss Wasn't About Preparation Format
Tourneys
GSL CK #5 Race War WardiTV Summer Cup 2026 RSL Revival: Season 6 - Qualifiers and Main Event HomeStory Cup 29 Vespene Cup #1 — $300+ USD, July 10
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 534 Burning Evacuation Mutation # 533 Die Together Mutation # 532 Nuclear Family
Brood War
General
Pros Debate: Zerg Unfairly Nerfed? (ASL S22 map) ASL 22 Proposed Map Pool ASL22 General Discussion BSL Season 22 Full Overview & Conclusion BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[ASL22] Wildcard Qualifier IPSL Spring 2026 Top 4! [Megathread] Daily Proleagues CSLAN 4 is Coming!
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
General RTS Discussion Thread Stormgate/Frost Giant Megathread Path of Exile Summer Games Done Quick 2026! Nintendo Switch Thread
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books Movie Discussion! Anime Discussion Thread Series you have seen recently...
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Simple Questions Simple Answers FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard?
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7895 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
WardiTV Weekly
11:00
WardiTV Mondays #95
IntoTheiNu 537
WardiTV461
TKL 193
Rex110
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Lowko436
TKL 193
Ryung 158
Rex 110
SHIN 72
herO (SOOP) 65
DenverSC2 26
StarCraft: Brood War
Calm 6309
Sea 2395
Bisu 1441
Shuttle 990
Jaedong 537
Hyuk 503
firebathero 437
BeSt 341
Mini 323
EffOrt 191
[ Show more ]
Light 159
Soulkey 159
Stork 159
Larva 156
Snow 144
Soma 126
ggaemo 122
ToSsGirL 103
Sharp 74
Mong 71
ZerO 66
Pusan 63
Free 59
PianO 50
[sc1f]eonzerg 41
910 40
sorry 40
Rush 39
hero 38
soO 38
Bale 33
scan(afreeca) 31
Hm[arnc] 29
Killer 25
Sexy 24
Aegong 22
JYJ 21
yabsab 20
Icarus 17
sSak 17
IntoTheRainbow 15
Shine 11
Noble 9
Movie 8
Barracks 8
Dota 2
Gorgc4306
Dendi428
syndereN86
League of Legends
JimRising 378
Counter-Strike
x6flipin142
markeloff40
Other Games
B2W.Neo767
crisheroes235
RuFF_SC29
ZerO(Twitch)9
Organizations
Other Games
gamesdonequick2540
BasetradeTV275
StarCraft: Brood War
lovetv 10
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 12 non-featured ]
StarCraft 2
• LUISG 38
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade640
Upcoming Events
The PondCast
22h 13m
Replay Cast
1d 21h
CrankTV Team League
1d 23h
Replay Cast
2 days
CrankTV Team League
2 days
Replay Cast
3 days
RSL Revival
3 days
Clem vs Lambo
Scarlett vs Cure
CranKy Ducklings
3 days
IPSL
4 days
Dragon vs Hawk
RSL Revival
4 days
Classic vs Trap
herO vs SHIN
[ Show More ]
Sparkling Tuna Cup
4 days
IPSL
5 days
Bonyth vs Ret
WardiTV Weekly
5 days
Monday Night Weeklies
6 days
Liquipedia Results

Completed

YSL S3
HSC XXIX
Eternal Conflict S2 E2

Ongoing

IPSL Spring 2026
Acropolis #4
CSL 2026 Summer (S21)
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

Escore Tournament S3: W3
ASL S22 SEASON OPEN Day 1
Escore Tournament S3: W4
ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
CSLAN 4
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
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.