• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 17:04
CEST 23:04
KST 06:04
  • 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 RO12 Preview: Maru, Trigger, Rogue, NightMare12Code S RO12 Preview: Cure, sOs, Reynor, Solar15[ASL19] Ro8 Preview: Unyielding3Official Ladder Map Pool Update (April 28, 2025)17[ASL19] Ro8 Preview: Rejuvenation8
Community News
Code S Season 1 - RO12 Group A Results (2025)4$1,250 WardiTV May [May 6th-May 18th]4Clem wins PiG Sty Festival #66Weekly Cups (April 28-May 4): ByuN & Astrea break through1Nexon wins bid to develop StarCraft IP content, distribute Overwatch mobile game29
StarCraft 2
General
Code S Season 1 - RO12 Group A Results (2025) How does the number of casters affect your enjoyment of esports? Code S RO12 Preview: Maru, Trigger, Rogue, NightMare Nexon wins bid to develop StarCraft IP content, distribute Overwatch mobile game Code S RO12 Preview: Cure, sOs, Reynor, Solar
Tourneys
THE BEST CRYPTOCURRENCY RECOVERY COMPANY IN 2025 H [GSL 2025] Code S:Season 1 - RO12 - Group A INu's Battles#12 < ByuN vs herO > [GSL 2025] Code S:Season 1 - RO12 - Group B GSL 2025 details announced - 2 seasons pre-EWC
Strategy
[G] PvT Cheese: 13 Gate Proxy Robo Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 472 Dead Heat Mutation # 471 Delivery Guaranteed Mutation # 470 Certain Demise Mutation # 469 Frostbite
Brood War
General
OGN to release AI-upscaled StarLeague from Feb 24 Battlenet Game Lobby Simulator [G] GenAI subtitles for Korean BW content BGH auto balance -> http://bghmmr.eu/ StarCraft & BroodWar Campaign Speedrun Quest
Tourneys
[BSL20] RO32 Group F - Saturday 20:00 CET [BSL20] RO32 Group E - Sunday 20:00 CET [ASL19] Ro8 Day 4 [CSLPRO] $1000 Spring is Here!
Strategy
[G] How to get started on ladder as a new Z player Creating a full chart of Zerg builds [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread What do you want from future RTS games? Nintendo Switch Thread Grand Theft Auto VI Battle Aces/David Kim RTS Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Simple Questions, Simple Answers
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread TL Mafia Plays: Diplomacy TL Mafia: Generative Agents Showdown Survivor II: The Amazon
Community
General
US Politics Mega-thread Ask and answer stupid questions here! Elon Musk's lies, propaganda, etc. UK Politics Mega-thread Things Aren’t Peaceful in Palestine
Fan Clubs
Serral Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Books] Wool by Hugh Howey Surprisingly good films/Hidden Gems
Sports
2024 - 2025 Football Thread NHL Playoffs 2024 NBA General Discussion Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard How to clean a TTe Thermaltake keyboard?
TL Community
BLinD-RawR 50K Post Watch Party The Automated Ban List TL.net Ten Commandments
Blogs
Info SLEgma_12
SLEgma_12
SECOND COMMING
XenOsky
What High-Performing Teams (…
TrAiDoS
WombaT’s Old BW Terran Theme …
WombaT
Heero Yuy & the Tax…
KrillinFromwales
BW PvZ Balance hypothetic…
Vasoline73
Test Entry for subject
xumakis
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12923 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
Replay Cast
18:00
Kung Fu Cup SC: EVO 10
SteadfastSC269
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SteadfastSC 269
JuggernautJason124
IndyStarCraft 116
NeuroSwarm 40
StarCraft: Brood War
Dewaltoss 224
BRAT_OK 117
yabsab 18
Sexy 17
soO 14
Movie 12
910 8
Stormgate
NightEnD16
Counter-Strike
Stewie2K713
pashabiceps570
flusha310
Super Smash Bros
hungrybox336
C9.Mang0123
Heroes of the Storm
Liquid`Hasu525
Khaldor220
Other Games
tarik_tv22319
summit1g9570
Grubby4962
FrodaN3217
mouzStarbuck790
ZombieGrub106
Trikslyr59
Organizations
Other Games
gamesdonequick1996
StarCraft 2
ESL.tv114
Other Games
BasetradeTV95
StarCraft 2
angryscii 16
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 18 non-featured ]
StarCraft 2
• musti20045 4
• Reevou 2
• IndyKCrew
• Migwel
• sooper7s
• AfreecaTV YouTube
• intothetv
• Kozan
• LaughNgamezSOOP
StarCraft: Brood War
• HerbMon 24
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota2787
• Ler51
League of Legends
• TFBlade1457
Other Games
• Shiphtur349
• Scarra340
Upcoming Events
Online Event
6h 56m
ShoWTimE vs MaxPax
SHIN vs herO
Clem vs Cure
SHIN vs Clem
ShoWTimE vs SHIN
SOOP
11h 56m
DongRaeGu vs sOs
CranKy Ducklings
12h 56m
WardiTV Invitational
13h 56m
AllThingsProtoss
13h 56m
SC Evo League
14h 56m
WardiTV Invitational
16h 56m
Chat StarLeague
18h 56m
PassionCraft
19h 56m
Circuito Brasileiro de…
20h 56m
[ Show More ]
Online Event
1d 6h
MaxPax vs herO
SHIN vs Cure
Clem vs MaxPax
ShoWTimE vs herO
ShoWTimE vs Clem
Sparkling Tuna Cup
1d 12h
WardiTV Invitational
1d 13h
AllThingsProtoss
1d 13h
uThermal 2v2 Circuit
1d 16h
Chat StarLeague
1d 18h
Circuito Brasileiro de…
1d 20h
Afreeca Starleague
2 days
BeSt vs Light
Wardi Open
2 days
PiGosaur Monday
3 days
Afreeca Starleague
3 days
Snow vs Soulkey
WardiTV Invitational
3 days
Replay Cast
4 days
GSL Code S
4 days
ByuN vs Rogue
herO vs Cure
Replay Cast
5 days
GSL Code S
5 days
Classic vs Reynor
GuMiho vs Maru
The PondCast
5 days
RSL Revival
6 days
GSL Code S
6 days
Liquipedia Results

Completed

FGSL Season 1
PiG Sty Festival 6.0
Calamity Stars S2

Ongoing

BSL Nation Wars Season 2
StarCastTV Star League 4
JPL Season 2
ASL Season 19
YSL S1
BSL 2v2 Season 3
BSL Season 20
China & Korea Top Challenge
KCM Race Survival 2025 Season 2
2025 GSL S1
Heroes 10 EU
Asian Champions League '25
ECL Season 49: Europe
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025
ESL Pro League S21

Upcoming

CSLPRO Spring 2025
NPSL S3
CSLPRO Last Chance 2025
CSLAN 2025
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Bellum Gens Elite Stara Zagora 2025
2025 GSL S2
DreamHack Dallas 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
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 © 2025 TLnet. All Rights Reserved.