|
Hi! This is PART of the research I have done on ideal mining in Starcraft (sorry for not being able to post all my findings but yeah man... that means I'll be wiser ;D), and also this can be treated as a follow up on IMPERVIOUS' thread on Ideal Mining, so do check that out too.
Although this is only a part of my research, I bet this is all you need to know to play. 24 workers every mineral line with 8/9 patches is a pretty well-known number, no?
Now, I'll just show you some of the data that i have collected. Note that there are erroneous data under 'average minerals gathered/worker/minute', which could be due to human reaction time as my research team was using a stopwatch. Although it does not affect the final argument, DO NOT take these readings as standard.
Taking the ceteris paribus assumption...
Number of Workers | Average Mineral Gathered/Worker/Minute | Average Mineral Spent/Worker 4............................................78.5.................................................175 8 ...........................................60.0.................................................112 12..........................................55.0.................................................100 16..........................................49.5..................................................87.5 20..........................................44.8..................................................80.0 24..........................................44.7..................................................79.2 32 .........................................38.0..................................................75.0 36..........................................33.6 .................................................72.2 40..........................................38.0..................................................70.0 44..........................................33.6..................................................70.5 48..........................................30.1..................................................68.8
Note: Average Mineral Spent / Worker = (400 + No. of Supply depots*100 + No. of Workers*50) / No. of Workers, where 400 = cost of a command centre / nexus and not including hatchery.
We will then derive the average cost of a worker, which equals (average minerals spent/worker) - (Average Minerals Gathered/Worker/Minute)
No. of Workers | Average Cost of a Worker 4....................................96.5 8....................................52..0 12...................................45.0 16...................................38.0 20...................................35.2 24...................................34.5 28...................................36.4 32...................................37.0 36...................................38.6 40...................................32.0 44...................................36.9 48...................................38.7
Plotting the points on the graph, you will roughly get a U shape curve. Because some data are erroneous as mentioned earlier, you will not get a smooth curve, which is not suppose to be so. BUT the trend of the readings can be seen going in a U shape curve, with those points that are plotted way off being the erroneous points. But anyway, that curve is the short-run average cost curve (SRAC). It shows the cost efficiency of each worker against the number of workers in a SINGLE base (considering early game where you only have one command centre). The minimum point of the U shape curve is where the cost of the worker is at the lowest, and it is at its lowest when the number of workers in a SINGLE base is 24.
[Picture in courtesy of The Open University, GREAT HELP there...]
Another reason why it's 24 without using the Theory of Economics is.... the mineral line will simply reach saturation.
Ok... so when it reaches mid-game, a player will most likely take multiple expansions (duh). We will now examine the long run average cost curve (LRAC), taking the ceteris paribus assumption again, and the assumption that all mining bases are at maximum efficiency (24 workers each).
No. of Workers | Average Cost of a Worker 48.................................34.5................... 48.................................32.3................... 72.................................33.1................... 96.................................32.0................... 160...............................31.7................... (You cannot go beyond 160 workers, man.....)
[Note: Average COst of a Worker = (No. of Command Centre * 400 + No. of Supply Depots * 100 + No. of Workers * 50)/No. of Workers]
Picture in courtesy of The Open University... BIG HELP again... :D
[Note that the LRAC is made up of infinitely many SRAC at its most efficient/minimum point)
Ignoring the erroneous data, when these points are plotted you will get a 1/x curve. This curve will have a very large minimum efficient scale (minimum point, which is the lowest point of the curve) of infinity (because, as no. of workers reaches infinity, the cost of each worker approaches 0). This shows that the more bases you get, the more cost efficient your workers will be as there are no dis-economies of scale, while the reason on why the cost of each worker will come infinitely close to 0 as the no of workers increases lies in the idea of the economies of scale.
As each base should contain 1 command centre, it can only be employed efficiently if it is producing workers at the lowest cost, which is when the number of workers = 24. That means, to be at its most efficient, the command centre has to produce at least a certain amount of output. A command centre producing less than 24 workers will not be as efficient as a command centre producing 24 workers. This is the idea of factor indivisibility in the idea of 'economies of scale'.
*EDIT: Sorry to the zergs but these readings do not include hatcheries, drones and overlords. But using the same methods, in theory the zergs will need less workers to be efficient as the cost of the hatchery is 100 minerals less than the cc/nexus. I do not know the actual number as it requires another set of calculations (but of the same methods).
Conclusion: 24 workers is the best number because it saturates the mineral line, which will result in a higher cost efficiency, leaving you aside with more minerals to produce units. And also, the more bases the better. (Thanks Whiplash for reminding)
|
Having more than 80, maybe 100 workers is really prohibitive. Very interesting stuff.
A suggestion, though. For research in this area I think using probes is better as they are a bit less buggy in their mining patterns and have the fastest mining rate. (IE, a really fast terran can forcibly change the mining patterns of their like first 10 or so scvs to achieve quicker mining. It only gives you like an extra 30-50 minerals though). You would probably get less erroneous data with probes. Drones have the intermediate mining rate if you are interested in that, but zerg economy has an entire extra variable beyond the 3 that terran/protoss have.
|
You would probably get less erroneous data with probes. I'll put that in mind. Thanks for the input.
|
Can you have a conclusion or summary of what your trying to say here? I kinda read over most of it and I still don't understand. Is there an optimal number of workers we're trying to hit here? (keep in mind im posting this at 6:30 am and I haven't gone to sleep yet).
|
Ho ho!? Sorry 'bout dat. The conclusion is that 24 workers on each base with 8/9 patches of minerals is the best number, both because it saturates the mineral line and also it is the most cost efficient, leaving aside more minerals for producing units. And also the more expansions you have, the better
|
As a physicist I'd like to see some error analysis/uncertainties from multiple runs of the data. The LRAC numbers in particular look too close to be called definitive in comparison to the data of the SRAC. Also I'm sort of uncomfortable with how you define Average Mineral Spent/Worker, so if you could explain your methodology in a later post that would be awesome.
Also, if you want to improve your runs (or perhaps even automate them) you could potentially try via UMS maps.
|
Taking the ceteris paribus assumption...
Number of Workers | Average Mineral Gathered/Worker/Minute 4............................................78.5. 8 ...........................................60.0..
How can 4 workers be that much more efficient than 8 when the only difference between the first 4 and the next 4 is the tiny increase in distance they have to travel to get to their patch?
|
As a physicist I'd like to see some error analysis/uncertainties from multiple runs of the data. The LRAC numbers in particular look too close to be called definitive in comparison to the data of the SRAC. Also I'm sort of uncomfortable with how you define Average Mineral Spent/Worker, so if you could explain your methodology in a later post that would be awesome.
Also, if you want to improve your runs (or perhaps even automate them) you could potentially try via UMS maps.
Oops... I didn't do multiple runs of the data and I didn't include uncertainties because this is really for an ungraded project in college. Thanks for the suggestions, but I think I will prefer spending time playing the game rather than doing this whole experiments again DX (dead) Also, regarding the LRAC, I had the intention to run the experiment again because...... I just do not have the apm to put all workers from all bases to mine at the same time.... but deadline was pressing and what I posted above is basically what I submitted (sigh...). However I think the argument is there (without the erroneous data) through logical thinking. And I believe you can still see the trend of the curve if the points are plotted, though it could be just luck that they are in the shape they should be.
|
How can 4 workers be that much more efficient than 8 when the only difference between them is the tiny increase in distance they have to travel to get to their patch?
That's why I said 'DO NOT take these readings as standards'.... I am really sorry but I just need to show some readings to support my arguments. The minimum I'll go is to let the data shows some kind of trend that supports my graphs.
|
Very interesting and cool stuff. It'd be interesting to see the dynamics of time and how saturation is affected by depletion. I understand these graphs are based off of X amount of workers in the initial phase, but a big question would also be how the graphs change as the scvs start to scale to the number. I suppose it will be left to a project in the future sometime though :-)
Great stuff regardless.
Just a note by the way. I use to do these tests for maps to test mineral saturations and mining analysis as well. From your text, I see you used a stopwatch. What I use to do is go to single player, turn on all my cheats and kill the computer immediately. Then I'd make sure all the minerals were the same number, and I'd start mining the respective bases. For example, destination, i'd kill the computer, make all the mineral numbers the same in the computer base since they mined, then i'd get 24 scvs to go mine. I'd leave it on(using windows mode) and surf the web or do whatever, maybe even go to sleep! Then I'd look at the replay and note how many minerals were mined just before the first patch was empty, and count total amount of minerals mined, and i'd track how long the replay was on minus the time when the initial scvs started working. My assumptions while doing this would be things unique to destination pathing, 8 mineral patches, SCVs mining(others path the same). d3 is correct however and you need duplication and statistical accuracy when you're finalizing your projects, just for future reference. 30 times generally implies safe statistical accuracy. I love your analysis though:-) great work
|
So what, there should be a noticeable improvement in prodction efficiency if you have 72 SCV's when you're at 3 bases as opposed to 60-65, which is the current standard number?
|
Belgium9947 Posts
haha, this has been researched many times, and 23/24 workers is always the result they get as optimal for 8 patch expansions
|
Looking at the graph of the SRAC, there is very little change in the effectiveness of the mining when you are near that point (ie, the tangent there is nearly zero).
So, in game terms, even if you aren't at the exact 24 workers/expansion, but you are close (under if you have a lot of expansions, over if you are planning on making a new expansion), you will be in a nearly ideal situation. I don't think it's even possible to model the ideal game situation.....
Also, because these results used SCVs, this is the data for Terran. Using Probes, you would find a different number (although probably very close to 24, maybe 23 or 25). Using Zerg, the number would be lower. Trials with all 3 races would be necessary to determine what number is most effective for each race.
Awesome work though. Too bad you aren't going to share everything.....
|
if you want to further your research, in addition to an economic curve, have attack (damage/second) and defense curve with basic units.
the point is to find a balance on when to produce units and enough damage pts to defend against rushes.
Best done with Excel.
|
A fun little read for me. (man oh man, am I not ready to go back to college). May I ask for what class this is for? As an Econ major, I'm just curious .
|
Belgium6771 Posts
The question now is: can BW API be used to lower the optimal number ?
|
On January 08 2010 05:09 Xeofreestyler wrote: The question now is: can BW API be used to lower the optimal number ? I expect so. By taking into account worker positioning and how long a mineral patch has until it is free for mining by another worker, there should be minimal wandering time. It's something I have been planning to code once I have some free time.
|
This was very interesting. I always keep making workers, but it seems that I'm overproducing.
|
On January 08 2010 22:22 Zona wrote:Show nested quote +On January 08 2010 05:09 Xeofreestyler wrote: The question now is: can BW API be used to lower the optimal number ? I expect so. By taking into account worker positioning and how long a mineral patch has until it is free for mining by another worker, there should be minimal wandering time. It's something I have been planning to code once I have some free time.
That would be horrible to try to code - the pathfinding issues would be difficult to compensate for.....
|
How do I know if I have 24 workers on my mineral line?
|
On January 10 2010 02:09 lolaloc wrote: How do I know if I have 24 workers on my mineral line?
Learn to count to 24?
|
On January 08 2010 22:22 Zona wrote:Show nested quote +On January 08 2010 05:09 Xeofreestyler wrote: The question now is: can BW API be used to lower the optimal number ? I expect so. By taking into account worker positioning and how long a mineral patch has until it is free for mining by another worker, there should be minimal wandering time. It's something I have been planning to code once I have some free time. It would be useless to try to do that because the BWAPI checks what to do every frame. I am assuming it takes a lot of instructions to do this and that the computer has to do this for every frame.Most computers will not be fast enough and the game will start to lag.
|
On January 10 2010 02:39 ghostWriter wrote:Show nested quote +On January 10 2010 02:09 lolaloc wrote: How do I know if I have 24 workers on my mineral line? Learn to count to 24?
lol dont tell me you actually count how many workers you make
|
On January 10 2010 04:13 Wurzelbrumpft wrote:Show nested quote +On January 10 2010 02:39 ghostWriter wrote:On January 10 2010 02:09 lolaloc wrote: How do I know if I have 24 workers on my mineral line? Learn to count to 24? lol dont tell me you actually count how many workers you make I don't, but it's not actually a hard thing to do. Just keep a running tally in your head, and increment it every time you build a worker.
I'm gonna do that from now on.
|
The conclusion is that 24 workers on each base with 8/9 patches of minerals is the best number
For 9 mineral patch bases this is incorrect. 24 will saturate an 8 patch base but will have bad wandering on a 9 patch base. You need 27 to saturate a 9 mineral patch base and this can take time to stop wandering, so more may be better in a real game situation.
|
Also continually building workers is not just to saturate the base itself, it is also to have excess prepared for when you expand so that you can quickly have your new expansion saturated.
|
On January 27 2010 07:58 naonao wrote: Also continually building workers is not just to saturate the base itself, it is also to have excess prepared for when you expand so that you can quickly have your new expansion saturated. truth
|
On January 27 2010 07:55 ix wrote:Show nested quote + The conclusion is that 24 workers on each base with 8/9 patches of minerals is the best number For 9 mineral patch bases this is incorrect. 24 will saturate an 8 patch base but will have bad wandering on a 9 patch base. You need 27 to saturate a 9 mineral patch base and this can take time to stop wandering, so more may be better in a real game situation.
That's not true - they still wander. If the AI was better, and they waited properly, 2 scvs/patch would be the maximum needed. Even with 4+, the amount of money they bring in still increases (although it increases so slowly that it is not worth the investment).
|
It is true, test it yourself and give them some time to settle down. Mineral patches with breaks in take less time to settle. If you still doubt I'll make you a replay or something. It can take from 20 seconds to 5 minutes! to settle, depending on the spawn. And no, you are wrong, 2 SCVs cannot max out anything but optimal mineral patches of which there are only 2 to 3 per base. For longer travel patches you must have 3, 2 will only mine 120 (under perfect circumstances like only 1 patch or BWAPI controlled, in reality it will be lower due to wander) of the potential 140.8 (ish! Anyone know the exactly figure for how long mining takes per session of 8 minerals?) per fastest minute per patch.
|
On January 27 2010 08:15 lMPERVlOUS wrote:Show nested quote +On January 27 2010 07:55 ix wrote: The conclusion is that 24 workers on each base with 8/9 patches of minerals is the best number For 9 mineral patch bases this is incorrect. 24 will saturate an 8 patch base but will have bad wandering on a 9 patch base. You need 27 to saturate a 9 mineral patch base and this can take time to stop wandering, so more may be better in a real game situation. That's not true - they still wander. If the AI was better, and they waited properly, 2 scvs/patch would be the maximum needed. Even with 4+, the amount of money they bring in still increases (although it increases so slowly that it is not worth the investment).
With 4+, there is no improvement, assuming optimal waiting and "regular" mineral-hatchery setup, for the same reason that putting more than 4 workers on a gas doesn't help.
Basically, a mineral can only be "ripped" off by a single worker at a time. If a mineral was constantly being ripped off with no rest in between, no amount of workers would increase production. You could derive a theoretical "best mining speed possible" with this metric.
|
On January 27 2010 08:39 StRyKeR wrote:Show nested quote +On January 27 2010 08:15 lMPERVlOUS wrote:On January 27 2010 07:55 ix wrote: The conclusion is that 24 workers on each base with 8/9 patches of minerals is the best number For 9 mineral patch bases this is incorrect. 24 will saturate an 8 patch base but will have bad wandering on a 9 patch base. You need 27 to saturate a 9 mineral patch base and this can take time to stop wandering, so more may be better in a real game situation. That's not true - they still wander. If the AI was better, and they waited properly, 2 scvs/patch would be the maximum needed. Even with 4+, the amount of money they bring in still increases (although it increases so slowly that it is not worth the investment). With 4+, there is no improvement, assuming optimal waiting and "regular" mineral-hatchery setup, for the same reason that putting more than 4 workers on a gas doesn't help. Basically, a mineral can only be "ripped" off by a single worker at a time. If a mineral was constantly being ripped off with no rest in between, no amount of workers would increase production. You could derive a theoretical "best mining speed possible" with this metric.
Go and try it yourself and see. Then, make your own map, where there is 1 patch, and have 3 scv's mine it (since there is no wander, they will mine at max efficiency). Calculate the rate that the minerals are mined. Multiply that by 9 (or whatever number of patches there were that you were testing on), and if they don't equal each other, then there is still going to be an increase with additional workers. They wander in stupid ways, making it inefficient to try to mine out as fast as possible.
EDIT - I just ran a test on it. It's not completely conclusive, however, they were almost identical rates, with a very, very small difference.
36 SCV's, mining 9 patches, at one base, with the setup of the 12 o'clock base on Destination. 3 SCV's, mining 1 patch, directly above the CC, at another base.
I gave them 7 minutes to stabilize, then I set the mineral patches back to the original 1500 per patch.
There were still 64 minerals left at the first base, when the second base ran out. I paused the second that the second base finished returning ALL of the minerals, and I counted the resources left in the crystals, excluding any that were in the hands of the workers. The difference is small, but even with 4 patches, it does not mine as fast as possible. Basically, the best-case scenario is that it is still 64 minerals slower than the fastest possible rate of mining.
I used 3 on a single patch to identify the fastest rate that the minerals can be mined. There was no wandering at all. 4 per patch still had some wandering. Not much, but enough to prevent it from being an ideal situation.
|
It's not just theoretical, it's (nearly) achievable. I just did my first 10 minute test after editing the Python 12 o'clock mineral pattern to the maximum value and got these results, starting the test after the 27 workers were completely stable, using APMLive's clock and start/stopping by hand (so small errors) with the workers already being in motion when the test starts (yes, some minerals en route to be delivered, the test was 10 mins so this should even out with those about to be delivered when it ends).
Minerals Gathered: 12,864 Per min: 1,286.4 Per patch per min: 142.9
So my per patch, per min figure earlier was a little low or this happened to come out a little high, it's between 140 and 143 minerals per patch per min. Note how much higher this figure is than the usual values given by, for example the Chinese test, because these are using workers still in wander mode. Wander can still continue with higher worker counts, it's something I'll need to investigate. These will get somewhat lower than optimal values of mineral return for a number of reasons, wander hurts gathering in interesting ways.
|
On January 27 2010 09:45 ix wrote: It's not just theoretical, it's (nearly) achievable. I just did my first 10 minute test after editing the Python 12 o'clock mineral pattern to the maximum value and got these results, starting the test after the 27 workers were completely stable, using APMLive's clock and start/stopping by hand (so small errors) with the workers already being in motion when the test starts (yes, some minerals en route to be delivered, the test was 10 mins so this should even out with those about to be delivered when it ends).
Minerals Gathered: 12,864 Per min: 1,286.4 Per patch per min: 142.9
So my per patch, per min figure earlier was a little low. Note how much higher this figure is than the usual values given by, for example the Chinese test, because these are using workers still in wander mode. Wander can still continue with higher worker counts, it's something I'll need to investigate. These will get somewhat lower than optimal values of mineral return for a number of reasons, wander hurts gathering in interesting ways.
They could be using a different timing technique than you, which would throw any comparison out the window.....
|
I don't think so, the Chinese results are pretty much identical to mine at lower values, like exactly the same for 9 workers and are very similar to my results for wandering workers at higher values.
|
Meh. I still think it's better to just do a comparison to a known ideal situation. Like saying "24 workers on 9 patches is 70% of the ideal mining rate", or something along those lines.
EDIT - just tested. 24 workers on 9 patches (setup identical to 12 o'clock on Destination) is 81% of ideal efficiency. 36 workers is just barely under 100% efficient (although close enough that it can be rounded).
36 workers costs a lot more than 24, is it worth the extra 19% efficiency? It costs roughly 30% more to get a 19% increase in mining rate..... Not worth it.....
|
I'm giving the numbers. If you want it in that form it's something like:
Probes Minerals/min % of Max (avg) 27 (wander) 1080-1180 87.8% 27 (stable) 1286 100%
It's too time consuming to do a complete list, perhaps at somepoint. I'll write a post about wandering though as that's more interesting. The Chinese result for 27 workers, presumably in wander mode (not sure which race, I always use probes as I play P) was 1056 so as you can see wander is significantly damaging and somewhat variable. I've manged to get 26 workers stable and in theory 25 or 24 may be possible to max out 9 minerals but I think you'd need the AI to do the micro to set it up, it will never settle by itself from what I've seen.
The idea of efficiency and payback time doesn't seem relevant to any kind of reality in Starcraft (unless you can give an example?) for P and T at least. Z's economy is totally different obviously. You're always going to be tactically limited by what is defendable and this dictates how many expansions you take for P and T. You're either powering up units, teching or should be heading toward maximum economy as quickly as possible as far as I see it. It's worth investigating the correct transfer numbers and overproduction to achieve this of course. Maxing out your 9 mineral main and two 7 mineral gas expos requires a total worker count of 57 so I don't think food count is all that important either (better player correct me?). Workers take 12.6 seconds each so 2 or 3 nexuses can produce this is 6 and four minutes. Each worker pays for itself in about one minute, why would you ever choose not to max out?
|
Wandering is a very damaging thing, however, it is unavoidable in any realistic situation. If you could micro every worker perfectly, 2 workers per patch would be about as good as possible (it could be possible that an extra 1 or 2 workers more or less will be the minimum required to be ideal, but it's a good start). Unfortunately, we can't do that. As such, we need to adapt, and find where the most benefit for the least cost is, so we can try to approach that point, allowing us to play efficiently, yet not have to worry about it.
|
I've already corrected you on this but you ignored me. 2 workers will only max out 2 or 3 of the mineral patches at a normal main. Stop repeating it, it's not true. I would estimate, based on the 9 worker figure that 18 perfect workers (microed by the AI before anyone accuses me of thinking this is plausible) would produce around 1152 minerals per min, probably somewhat less as the end of mining and journey times fail to line up efficiently between the two workers on suboptimal mineral patches. These economics are possibly an interesting consideration for the BWAPI people.
7 mineral naturals are noticeably less bad for wandering and will quickly max out at 3 workers per patch. Wander seems to set in when I try to optimize with 3x -1. 2.5 per patch is very definitely costing you minerals here.
Perfect micro would max out a normal natural at around 24 or 25 workers, depending on the exact mineral placement (2 or 3 2 worker patches). Wander is avoidable, time or slight over production of workers will make them settle down at a speed that matters at sufficient probe numbers. 22 probes (the 1.5 value people tend to recommend) gather around 1020 minerals per minute, 288 less than 27 stable probes but not much less than unstable ones so the critical thing is achieving stability. The conditions for this I am still figuring out.
|
The only reason that it takes 3 workers to mine out a patch is if it is more than 3 squares from the edge of the CC/nexus/hatchery..... They are placed like that for the looks, not for being effective.....
On those patches where it is only 3 squares away, it only takes 2 to max it.....
Lets say there is 3 patches where this happens, out of the 9..... That is 6 workers.
Now, lets also assume that you can micro 5 workers to cover 2 nearby patches that are not able to be mined by 2 workers/patch. 6 patches, times 5 workers/2 patches = 15
Note that I am not assuming that it could actually be something like 5 workers able to mine 3 patches at peak efficiency.....
Add that up - 21 workers to cover 9 patches, at maximum. It can probably be done with 20, and if the resources were placed in a way to be friendly to mining (not fastest, but 3 squares away), then it would take only 18.
Both of those is less than the 24 or 25 you are suggesting..... I don't get where your numbers are coming from.....
EDIT - just ran it. 2 workers, on an ideal patch, is just as efficient as 3 workers on an ideal or non-ideal patch.....
But, through trial and error, as well as studies for how the workers behave over the course of time, it's found that mid 20's is the ideal number - the greatest return for the investment. Above that is okay, as long as it is planned for an expansion. Below that is also okay, as long as there is some kind of all-in attack being planned, because the extra workers would not make their cost back by the time the game should be over, or at least the damage done.
Also, since Zerg is gas-heavy, they don't need as much minerals, and, as such, less drones is actually ideal for them.....
|
Nope, make a map and test it. Central mineral patch, 1 extra matrix away from the natural and you will see little gaps between the workers' mining. This is a better patch than the diagonal ones which have larger gaps as they are further away which seems to lose about 1 second of mining time every 2 times it's mined as the 2nd probe is still travelling. There's a more obvious and undebateable way of proving you're wrong. Measure the mining rate of 1 patch, put infinite workers on it and measure over 5 mins say, tell me what value you get. Now measure the rate of 9 workers on 9 patches on a normal spawn like Python. See, the number is less than half the rate suggested by 9 times the maxed out single patch. Therefore it is not possible to max out the minerals with patches times 2 workers.
I said where my numbers are coming from, you don't seem to read my posts properly. Most patches require 3 workers to saturate it. 2 or possibly 3 patches per natural only require 2, therefore it might be possible to max it out with 3 * 7 + 2 * 2 = 25 or 3 * 6 + 3 * 2 = 24 workers. In reality this seems impossible, the AI might be able to do it or someone determined playing at Slowest speed using control groups to set them up.
Patches that are 3 squares away but not in a straight line are further away as units do not move faster on diagonals and it's 1.6 times further (for each diagonal square), plus the AI starts to screw up the path for some of them.
Mid-20s is a terrible number as wander is at its worst. The perceived wisdom is 22 and in my tests this is shown to be a good number because wander becomes much worse after 22.
Now, lets also assume that you can micro 5 workers to cover 2 nearby patches that are not able to be mined by 2 workers/patch. 6 patches, times 5 workers/2 patches = 15
That's quite a clever idea and would be worth trying for the AI people (we really need an AI guy to settle this debate 100% in any case). I don't know if the 5th worker could cover the missed time by the other two probes, would need to know the exact timings. This might be capable of saturating with computer micro, my number is the number of probes that can potentially be stable and maxed if it were possible to get them into the stable state so it might be humanly achievable if there's a clever technique of some kind. I mean once you start them going they require no intervention.
|
On January 27 2010 11:04 ix wrote: Nope, make a map and test it. Central mineral patch, 1 extra matrix away from the natural and you will see little gaps between the workers' mining. This is a better patch than the diagonal ones which have larger gaps as they are further away which seems to lose about 1 second of mining time every 2 times it's mined as the 2nd probe is still travelling.
Ok. now we're getting somewhere. But does that mean that you need 3 for max efficiency on that patch? Do you ever have 2 sitting there, for any period of time, when it could be mining somewhere else instead?
You can definitely micro 5 probes to gather from 2 patches which are not ideal, provided that they are close enough to eachother. And, on most mineral patches, that is normal.
There's a more obvious and undebateable way of proving you're wrong. Measure the mining rate of 1 patch, put infinite workers on it and measure over 5 mins say, tell me what value you get. Now measure the rate of 9 workers on 9 patches on a normal spawn like Python. See, the number is less than half the rate suggested by 9 times the maxed out single patch. Therefore it is not possible to max out the minerals with patches times 2 workers
However, are you taking into consideration that, when there are more than 1 per patch, that they could actually be used to mine more than a single patch?
There is a lot going on..... Simplifying it down to "ooh, 2 miners must work on this single patch" is such a narrow view, when we're talking about the ideal way of doing it. And, even if you can't get 100% efficiency from 18 workers, but you can get 99.8%, isn't that good enough, since the extra 50 minerals wouldn't even generate a significant change?
Seriously, this stuff is useful for the AI competitions, but that's about it.....
|
can u all take this to PM or get a room?
|
On January 27 2010 11:12 Bill Murray wrote: can u all take this to PM or get a room?
Actually, I'm leaving at this point anyways. If he doesn't want to listen to the conventional wisdom, as well as listen to the work done by dozens of other people before him, that's fine by me.
And, if I ever face him, and he spends those extra few seconds counting his probes, I'll make him pay for this distraction. It's not really that applicable in a real-game situation. You don't start with 27 probes, you start with 4, and work your way up, likely having less than 27 at your main, and 24 at your natural until 10 minutes into the game.
|
My point is about what is achievable, the 24/25 number is something that may remain stable without intervention, you are talking about what an AI with constant intervention can do. I repeatedly said the conventional wisdom (22 workers for 9 patches) seems to be correct if you can't remove wander. I am looking at dealing with wandering and how it behaves, has someone else investigated this? If so link. There are a number of real game issues that this is useful for and I'll write a post to talk about some of it.
|
People may have not looked directly at wandering, but any time mining rates are tested, wandering is part of it. And, in an achievable situation, it is one of the many variables involved. Through testing, as well as some interesting mathematical manipulation, a result of about 25 workers/9 mineral patches has been determined to give the best "bang for the buck", while being slightly above or slightly below is acceptable.
|
Can you link that? I've only seen CDRDude's and a couple of others but not what you're talking about.
|
On January 27 2010 13:30 ix wrote: Can you link that? I've only seen CDRDude's and a couple of others but not what you're talking about.
Even better:
This is really, really good stuff.
|
BTW I just tested 25 probes on Python 12 and get 1096 per min, which is a lot lower than what 27 can achieve. What numbers do you get for 25 and 27 unstable and stable?
Hmm, interesting PDF. I will test some of that, it's certain to me that 2 is only optimal for a very few mineral patches. His numbers also seem a little off, or perhaps miss out hidden timing costs such as a frame to begin mining. I note that his 9 patch max mining number is the same as mine.
Map Patches Workers for Max Workers per patch Luna 9 27 3
He gives the time cost of mining as 5.33t which must be incorrect, it gives a number far higher than my long 1 patch testing, than any of my tests, even errors.
60 / (5.33t * (15/24.8)) = 18.6116323 mineral loads per minute
18.6116323 * 8 = 148.89 minerals per min per patch
9 patches = 1,340 minerals per min
The second part of the divisor is the Normal framerate divided by the Fastest framerate to get how long in Fastest mining takes according to this. It's best IMO to do everything in terms of Fastest with seconds being real seconds (I think this is what APMLive's timer uses). A good alternative might, especially if someone can access any of the code or decompile parts would be to talk in terms of frames as you should by definition be able to talk in integers. His value would seem to suggest mining takes 80 frames, my numbers seem to suggest about 84 frames to mine or there is additional wasted time. The mineral count seems higher than anything I can do with no apparent wandering, there must wasted frames to begin mining or something. This also disagrees with his percentages of mining I think,
His optimal probe gathering rate is 56% of max from one patch. That's a single probe earning 83.38 minerals per min. That sounds insanely high, I've never seen a single probe do anything beyond 72/min, can you find a patch that performs that well? Have I made a mistake somewhere here?
|
Just testing on a single mineral setup means little, especially if building placement, and addon placement haven't been considered as well. A building on one side of the map can modify the pathing of workers on the other side of the map..... I've seen it happen..... Even then, a nexus, a cc, and a hatchery all have a different shape, which affects how the workers behave. The workers are also a different size, and have different lengths of time for their animations, which affects it as well.
2 workers on a single patch is slightly less than twice the mineral return rate of a single miner, if it is on a good patch, with a good pathing between the patch and the cc/nexus/hatchery. 2 workers on a bad patch, with bad pathing between the patch and the cc/nexus/hatchery is just barely not enough. But that doesn't mean that 3 is still what is needed to mine that single patch at peak efficiency.....
I dunno what, exactly, you are doing, and I don't know exactly what he did, however, I know from personal testing that mid 20's appeared to be the best. Higher did get rid of wandering, helping to increase the mining rate, but the most efficient rates were when there were less workers. The problem is, when considering a game situation, if I know that I want to get mid 20's at both my main, and natural, I'll be in a nearly ideal situation. Also, a lot of other factors aren't considered - the linearity of vespene mining, the extra harassment opportunities due to having multiple bases, the ability to replenish workers faster by having more expansions, the supply cap, etc.
When taken as a whole, it matters little whether I have 24 or 27 workers at my main. As long as I am somewhere around there, I'll be fine. And, until I get to the pro level, where this stuff matters a lot, and build orders are designed to produce a specific number of workers at each base, I'll just keep making them as needed, until I have enough.
|
On January 08 2010 05:09 Xeofreestyler wrote: The question now is: can BW API be used to lower the optimal number ?
It actually shouldn't be too hard to do if you assign a few workers to a few mineral patches each and prevent them from mining from other patches ("spam" harvest if the min block is currently being harvested). You can easily get 100% mining rate if you only have 4 or 5 workers (depends on distance) on 2 adjacent mineral blocks. You might get short timespans where a worker is "idle", but that is less detrimental than traveling to a min block further away (except for very VERY rare cases).
|
i thought you were leaving earlier what happened to that
|
On January 28 2010 00:58 spinesheath wrote:Show nested quote +On January 08 2010 05:09 Xeofreestyler wrote: The question now is: can BW API be used to lower the optimal number ? It actually shouldn't be too hard to do if you assign a few workers to a few mineral patches each and prevent them from mining from other patches ("spam" harvest if the min block is currently being harvested). You can easily get 100% mining rate if you only have 4 or 5 workers (depends on distance) on 2 adjacent mineral blocks. You might get short timespans where a worker is "idle", but that is less detrimental than traveling to a min block further away (except for very VERY rare cases).
No, it shouldn't be too difficult, which is why I'm thinking that 21 is the maximum you'd need to completely saturate 9 patches (or, at least, be very, very close to completely saturated) in any traditional setup. In fact, I would be surprised if nobody has made a script for this already..... It would lead to faster mining in the early stages of the games, allowing tech/units to be produced quicker, plus it would be cheaper to get the same return in the long term.
|
Just testing on a single mineral setup means little, especially if building placement, and addon placement haven't been considered as well. A building on one side of the map can modify the pathing of workers on the other side of the map..... I've seen it happen..... Got a replay of that? That sounds extremely unlikely that anything beyond the Probe's sight range will change their pathing.
We need to get an AI guy involved in these ideas, I think your AI optimal mining idea is very interesting and would dramatically change builds. Macro may be being overlooked by AI coders as something to abuse.
The relevance of testing the mineral rate of a single patch is that it tells you the maximum mineral production of nine patches, once you know the maximum theoretical production then you can go forward with figuring out how to get it. Pathing, aside from wander doesn't matter because you, at 3 per patch have saturated sufficiently to make it mostly irrelevant unless you do something very silly with buildings.
|
WOW! Thanks for your contributions... I am speechless at your dedication to this topic on efficient mining. This proves that even a simple concept in an 'old-school' (but fun) video game can involve some deep thinking and rigors in areas of mathematics and economics.
I guess this whole thing about efficient mining could probably be just an accident for the creators of the game, or they're just geniuses who had created the game with that concept in mind already.
|
On January 28 2010 08:23 ix wrote:Show nested quote +Just testing on a single mineral setup means little, especially if building placement, and addon placement haven't been considered as well. A building on one side of the map can modify the pathing of workers on the other side of the map..... I've seen it happen..... Got a replay of that?
LOL. I wish I saw this 2 weeks ago, before my computer fucked up and needed to be restored :S
I had a couple of replays where that type of thing occured.
|
But what about Drones? Show the Zerg players some love
|
Can never have too many drones.
|
imo 70-75 workers is probably max. any more than that significantly caps the size of your army
|
|
|
|