|
2012-03-30: added support for injects to the script
The script is available here: http://github.com/aerique/sc2-utils
Note: this post isn't about overlord timings (although I welcome improvements to the used build order) but about visualizing supply blocks.
As a lowly bronze zerg I needed some visual feedback on supply blocks since I was of the mindset of "how bad can it really be, eh?". So I started working on a small script that simulated a build order and fed (hopefully) relevant data into gnuplot.
I've finished a first alpha version of this script, meaning it is still full of bugs, incorrect assumptions and I'm the only one to have looked at it. That said, the graph has already given me an appreciation of the effect of an early supply block on the rest of the game.
Here's a graph it has produced of a 'proper' 15h15p build and the same build that's supply blocked at 28 for 40 seconds. The blue graph is the proper build and the red is the supply blocked one. The magenta graph shows the difference in the number of drones between the blue and red graph. The 'blocky' lines show the number of drones and the curved lines the amount of minerals:
![[image loading]](http://i.imgur.com/Po6ja.png)
This is what the graph looks like if the player tries to drone / catch up as good as possible after the supply block:
![[image loading]](http://i.imgur.com/aThri.png)
I have used Belial88's supply-at-8-minutes benchmark.
This is the build order for the blue line:
15 hatch / 15 pool:
( 9 :overlord) (15 :hatchery) (15 :spawning-pool) (16 :overlord) (16 :queen) (16 :queen) (24 :overlord) (25 :hatchery) (26 :overlord) (32 :overlord) (34 :queen) (40 :overlord) (48 :overlord) (54 :overlord) (62 :overlord) (70 :overlord) (78 :overlord) (86 :overlord) (this is a straight copy & paste from the code so excuse the formatting)
The script has the following assumptions and bugs:
- it updates once per second
- every update all the drones are divided optimally over all hatcheries
- no workers transfers
- max 19 larvae per hatchery
- if the number of larvae drops below 3 at a hatchery a timer starts running and after 15 seconds a new larva will spawn if there's still less than 3 larvae
- injects are hit almost perfectly (max delay of 1 second)
- queens are automatically assigned to a hatchery for spawning larvae
|
Man, if you spent as much effort in playing the game as analysing it, you wouldn't be in bronze 
That said, good job, it's always nice with some statistical information for future arguments on the forums.
|
You should of course be able to calculate optimal overlord timings if you do your math .... Cool insight anyway. I am always the red line obviously
|
I'm interested in some of the assumptions that go into your model. For example, how do you model the spawning of larva? As far as I know, larva spawn at a rate of 1 per 15 seconds (game time) unless 3 or more larva are already on the hatchery. Depending on what your larva situation is at the time of the supply block, the effects are different. If your hatches are empty, you won't lose any larva, but if you've just finished an inject and there's plenty of larva on the hatch, you'll lose out on larva spawning.
Additionally, how do you model base saturation? Do you spread all workers equally between bases, maximizing worker efficiency for long-term benefits, but losing some short-term income due to worker-transfers... Plenty of important questions. I'd love to see some details.
|
On March 27 2012 22:08 Tobberoth wrote:Man, if you spent as much effort in playing the game as analysing it, you wouldn't be in bronze  That said, good job, it's always nice with some statistical information for future arguments on the forums.
This pretty much.
With that information i am pretty sure that you can get into Platinum! by the way, that graph could be applied for the other races for sure.
|
Maybe Im reading it wrong but your graph suggests your supply block occurs at 18, not 28.
|
It looks like you make your overlords a bit too early. Try this:
17 26/28 (if hatch went at 20, maybe 24 or 25, depends) 32-33/36 44/44 (since you throw down 4 gas, or generally buildlings, you can adjust if you dont plan to, like in zvz, maybe 40/44) 46/52 52/60, start 2nd overlord when 1st is more than half done Make another overlord shortly after.
In general it sounds like you are making a bit early. You want it so as soon as that overlord pops, you are ready to just pump a bunch out. You never want to sit at that supply, ie you make overlord for 28 cap, and then you sit at 28/36 for a while.
I'm also not someone to listen to, probably.
|
On March 27 2012 22:08 Tobberoth wrote:Man, if you spent as much effort in playing the game as analysing it, you wouldn't be in bronze  That said, good job, it's always nice with some statistical information for future arguments on the forums. My thoughts exactly. It's a nice study, now go put it to some good use
|
I'm sure that it is less than optimal, but the way I work my overlords into my play is that I'll make them when I am about 6-8 supply before a cap.
Say I am at 54/62, I'll make as many overlords as I have bases. Three base = three ovies, that will take me up to x/86, and I'll have still been producing units. Usually the way it works out in my play, I'll hit 60-62/62 before the ovies pop, and just slightly before/shortly after that, larva would have popped from my hatches. Reinject, create units, save the last three larva to make three more ovies.
Over all I'd say that I float maybe 16-24 over my actual food count, and it's probably not optimal, but it works for me, and at the level I play at I find it much better to spend some minerals on extra ovies than to constantly get supply capped.
|
On March 27 2012 22:08 Tobberoth wrote:Man, if you spent as much effort in playing the game as analysing it, you wouldn't be in bronze  Haha, yes. Except I'm not always behind the machine that runs Starcraft! (In fact, I'm rarely behind that machine and usually only after 22:00 / 23:00 )
On March 27 2012 22:13 Ketch wrote:You should of course be able to calculate optimal overlord timings if you do your math  That's indeed one of the future uses!
On March 27 2012 22:31 Rannasha wrote: I'm interested in some of the assumptions that go into your model. For example, how do you model the spawning of larva? As far as I know, larva spawn at a rate of 1 per 15 seconds (game time) unless 3 or more larva are already on the hatchery. Currently, whenever a hatch drops below 3 larvae a timer starts running and after 15 seconds a new larva is spawned. I'm not sure sure whether this simulates the game correctly.
Additionally, how do you model base saturation? Do you spread all workers equally between bases, maximizing worker efficiency for long-term benefits, but losing some short-term income due to worker-transfers... I do indeed spread the workers equally between bases. Worker transfers are not modeled.
I'd love to see some details. I could throw the script on-line if you're interested?
On March 27 2012 22:41 Maggost wrote: by the way, that graph could be applied for the other races for sure. Definitely! This is just an initial version and I play Zerg.
On March 27 2012 22:51 DatDarnDude wrote: Maybe Im reading it wrong but your graph suggests your supply block occurs at 18, not 28. Hm, I better run that script again. edit: oh wait, that is not necessary... the left y-axis shows the number of drones not the supply
|
yeah, the 28block is a reason to let an opponent read a unexpected 'gg', before you even had contact with him
|
You know, it's not really about making overlords at certain supply caps, it's just that you have to get about 1 overlord per injection if you're making 2-supply units and 1 for 2 injections if you're making 1-supply units. Of course there's still a few larvae left from the natural larva spawn, but you're using most of them for ovies anyway + you're losing population from engagements and adding more buildings to your tech.
Anyway you're a bronze player, you should just stick to roach rushing until gold league, where you'll start learning macro.
|
I'm also curious how I could better show the impact of having on average 8 drones less mining for over three minutes. Cumulatively add the income per second?
|
Cool study but as a bronze player you shouldn't be overly concerned with this. Just learn to pick your fights better and macro with your hotkeys whilst attacking. You don't really need refined builds until gold-plat. And over-droning will get you killed in gold-diamond because most players (in NA) will just do 1 base timing attacks.
|
Supply blocks are bad... especially early game. Later supply blocks are manageable, but the early ones, as you've shown, can have massive consequences.
In regards to "when" you build your overlords, with a 15/15 or 15/16, I find that I can drone till 18 and have the overlord pop with the spawning pool/hatchery. Note that my early mechanics might be a bit stronger (mid/high masters) but if you focus on building drones as soon as you can (spam S-D on the hatchery while you're waiting for the larvae to appear) you should be able to do this as well. I always build my 3rd overlord at 24-26 supply.
|
On March 27 2012 23:20 aerique wrote:I could throw the script on-line if you're interested? Yeah, if you don't mind, I'd love to take a look.
|
When you're 40-70 supply, make two overlords every pop. You need the spare apm to do other stuff and the spare supply to slam units if you get hit by an unfamiliar timing.
From 70-150, I make overlord by the 3s. And then I usually slam straight to 200 in the next pop. This makes 0 difference to me and I'm mid-high masters.
Making overlords slightly earlier has negligible affects on gameplay at any current level.
Your macro needs to be a thousand-fold better before this matters at all, just make them early and don't get supply blocked, early overlords are okay.
|
I have added support for injects to the script and updated the OP.
|
if the number of larvae drops below 3 at a hatchery a timer starts running and after 15 seconds a new larva will spawn if there's still less than 3 larvae
The actual mechanism is a bit different. When the larva-count hits 3, the timer on the new spontaneously generated larva will pause. It will resume once the larva-count goes below 3 again. Without injects, this is the same as they way you model it. With injects, things change. If the timer is at 10 seconds when the injected larva pop out, you only have to wait 5 more seconds for a new larva once you've used up your current ones.
Source: http://www.teamliquid.net/forum/viewmessage.php?topic_id=323422
|
On March 30 2012 19:06 Rannasha wrote:The actual mechanism is a bit different. When the larva-count hits 3, the timer on the new spontaneously generated larva will pause. It will resume once the larva-count goes below 3 again. Without injects, this is the same as they way you model it. With injects, things change. If the timer is at 10 seconds when the injected larva pop out, you only have to wait 5 more seconds for a new larva once you've used up your current ones. Source: http://www.teamliquid.net/forum/viewmessage.php?topic_id=323422
Thanks for this!
I'll try and get the script online later today.
|
|
|
|