In Starcraft 2, how are optimal builds discovered? Is it really just trial and error and/or hand timing?

I'd love to know what mathematical algorithms could be used to discover the optimal timings.

For example: Use an equation to know empirically what is the earliest possible time 15 unit(s) X's could be produced, or 10 unit X's and 3 unit Y's and 3 unit J's.

Edit: I've changed my description from "good" builds to "optimal" builds to narrow the scope.

  • The answer for this varies from person to person so there is no definitive answer for you. Two different people can do the exact same build, but because one is better at managing his army (micro) and getting better value out of his units, he should beat the other person.
    – Sorean
    Jan 23, 2018 at 21:04
  • Changing it from good to optimal is, at best, an incredibly minor change. It doesn't really help.
    – Frank
    Jan 24, 2018 at 1:49
  • @Frank What about knowing "empirically what is the earliest possible time unit(s) X could be deployed"? It's just a matter of doing some creative math or building a program.
    – LCIII
    Jan 24, 2018 at 2:55
  • 1
    How long something takes to build, yes. How a full build is discovered, however, is something else entirely.
    – Frank
    Jan 24, 2018 at 2:58
  • In theory its not that hard to hand work out timings. If you know how long every building takes to construct, how long it takes units to train and how fast workers gather minerals then the rest is just a case of writing down a timeline with those numbers. I wouldn't be surprised if some of the pros did this so they could then look at them and work out where inefficiencies were.
    – Chris
    Jan 24, 2018 at 18:58

4 Answers 4


You're looking for standard openings. Obviously by now with SC being out for years, there is an established meta with each patch changing it slightly.

This is subjective, as the things that separates builds from being successful are micro, player skill, opponent's decisions, maps and tons of other variables.

There have been hundreds of unit combinations that have been successful over the years. Terran has Marine Medivac Marauder as the standard for a very long time, then mech got buffed after years and was stronger than MMM.

To your question, there isn't going to be a standard answer that is acceptable. There IS however something you can look into...

Standard timings - you should have marines up at X time, stimpack done at X time, expansion done at X time...etc. There are thousands of guides out there that would take days to look into - which is what makes SC so fun!

  • +1 however I've updated my question which now makes this answer slightly too broad.
    – LCIII
    Jan 24, 2018 at 1:47
  • 1
    @LCIII I can update my question today stay tuned
    – FoxMcCloud
    Jan 24, 2018 at 14:14

Starcraft is a game about timing

Having the right structures/army at the right time is what starcraft builds are all about. Time is the most sacred resource in Starcraft. Builds are basically "time-tabled" guides to give you an advantage over your enemy at the right time, while avoiding your enemies timings. Avoiding in this context means stuff you can get away with. Simple example is a very large map where you know you can get away with an economical build without getting rushed down.

Getting the right units/structures at the right time is how Sc2 builds are developed. The focus is always a certain timewindow (early, mid and late game) where your structre and unit composition is most effective. You normally start with an generic build and trim it to make it faster/more efficent to suit your build goals. You can use algorithms help to trim a build, but you still need to know what you want at which time, so i dont know if "build generator" would really help ... since no AI can evalutate a build like a human can in the end.

And yes builds are tested by using them in matches, which is basically trail and error


Optimal builds mostly rely on good timing, and from this comes trial and error.

Day9 has an excellent spot in his Day9 Daily 100, where he talks about playing against someone who was cheating (being able to see the map).

Day9 continues about how even if the opponent can see your move coming, if you have good timing and stick to it, you can still win.

Your second question about fastest time for a unit, definitely relies on the unit. But essentially it would be a) the time it takes to tech up to that unit + b) the time it takes to gain enough resources and train those units.


LCll, yes you are correct in that finding optimal builds is predominantly trial and error but a better way of putting it would be targeted guessing. For example, I play protoss and one of my favourite match ups is against terran because every terran will start the game in the same way, ie wall off his ramp with 2 supply depots and a barracks. This means there would be no point in me trying to rush a few zealots out because there would be too many marines at that point to kite them.

Next a terran will nearly always drop a factory and starport and start producing medivacs while also researching stim. Now this is where I as a toss player have the opportunity to do damage because the player will have all their resources going into non-combat items. So I proxy a stargate while building up my gate count and chrono in an oracle that will decimate an SCV line that isn't protected. An added bonus is that it takes 6 marines to kill an oracle. If you have 5 marines out the oracle wins.

And yes I know you will always find a cheese player every once in a while who will proxy 2 racks or proxy factory and pump out those broken reaper things but if you have macro and microed properly you should be able to defend against such cheeses while also dealing extensive damage.

Don't forget, every unit has its strengths and weaknesses and if you know all of these then no matter what your opponent builds you should be able to counter them relatively well while covering your own units weaknesses.

Hope this helps.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .