0.6.4 Updated to follow Patch 1.3.3 Fixed: Building a Zerg structure with a resource trigger would sometimes cause an error (thanks to duban) Fixed: Extractor trick did not check for prerequisites of whatever was built (thanks to Slybeetle)
0.6.3 Updated to follow Patch 1.3.0 Fixed: Incorrect build time of Siege Tank (thanks to Ragwortshire & Slybeetle)
0.6.2 Fixed: Comments with non-alphanumeric characters were not accepted (thanks to SlyBeetle) Fixed: Incorrect cost of Air Armor (thanks to SlyBeetle) Fixed: Incorrect build time of Ghost (thanks to SlyBeetle) Added command to build something, then cancel it, e.g. 14 Fake Hatchery Added command to kill a previously built unit, e.g. 22 Kill Zealot
0.6.1 Documented comment syntax (thanks to shingbi) Fixed: Syntax was not always case-insensitive (thanks to Ragwortshire) Fixed: Incorrect build time for Spore Crawler (thanks to Ragwortshire) Fixed: Morph time was added to busy time of production queues (thanks to Ragwortshire)
0.6 Updated to follow Patch 1.2.0
Version 0.5.7 Fixed: Multitude of errors when using chronoboost (thanks to DFarce) Fixed: Chronoboosts taking place after the last job would report wrong amount of energy remaining (thanks to anourkey)
Version 0.5.6 Fixed: Abilities could be used by spellcasters that were in production (thanks to Drae) Fixed: Warning messages when swapping an addon (thanks to itgl72) Fixed: Workers were rallied to bases that were still in production (thank to Darko) Fixed: Rounding error caused some jobs to be postponed incorrectly (thank to Darko)
Version 0.5.5 Fixed: Could not transfer workers to a geyser that had been started, but not yet completed. The transfers are now delayed until the geyser is completed. (thanks to CarbonTwelve) Fixed: Larva produced at the exact time a Spawn Larvae expires could not be used (thanks to jacobman)
Version 0.5.4 Fixed: Drones from extractor trick would not mine (thanks to King of Town) Fixed: Larva generated was produced 15 seconds after dropping below 3 larvae. The correct behavior is to postpone larva generation while a hatchery has 3+ larvae, but not reset the timer (thanks to icezar) Fixed: Explicitly building drones could cause calculator to warn about insufficient supply capacity Fixed: Some transfer jobs were reported out-of-order (thanks to Arta) Fixed: Chronoboost failed on jobs triggered by amount of resources (thanks to EntropyFails)
Version 0.5.3 More flexible syntax for extractor tricks, e.g. 10 Double Extractor trick into Roach Fixed: Calldown: Extra Supplies did not increase supply capacity (thanks to Presence) Fixed: Hatchery could be morphed into a Queen (thanks to icezar)
Version 0.5.2 Implemented Proxy structures, e.g. 10 Scout (30 seconds), then Proxy Gateway Fixed: Error after workers were taken off gas and all gas was sent (thanks to icezar) Fixed: Startup build delay was ignored (thanks to CarbonTwelve) Fixed: Recurring jobs would fail if the first job on a line (thanks to koj)
Version 0.5.1 Rewritten the description of the syntax of build orders Fixed: Error when transferring probes off gas (thanks to slith) Fixed: Extractor trick would give an error (thanks to King of Town) Fixed: Double extractor trick would consume 1 larva (thanks to King of Town) Fixed: Larvae were only generated at 15 second interval (thanks to Hurkyl)
Version 0.5 New layout Reimplemented sending workers early when building a structure, e.g. 12 Gateway (send @120 minerals) Fixed: Error when chronoboosting (thanks to shingbi)
Version 0.4.5 You can now tag a spellcaster and refer back to the tagged spellcaster when using abilities, e.g. 14 Queen #bertha, 18 Spawn Larvae from #bertha You can now tag a hatchery and refer back to the tagged hatchery when building Zerg units, e.g. 14 Hatchery #natural, 18 Roach from #natural Recurring jobs can be canceled, e.g. 30 Cancel Drone
Version 0.4.4 You can now tag a production queue and refer back to the tagged queue when buildings units, upgrades or morphs, e.g. 12 Barracks #1, 16 Marine from #1 Fixed: Automatic MULE would still not be used as much as possible (thanks again to FaZ-)
Version 0.4.3 Fixed: No proper warning if supply capacity was insufficient (thanks to suckit987) Fixed: In some cases, a warning would be shown that a production queue was not available, when in fact it was
Version 0.4.2 Fixed: Automatic MULE would not be used as much as possible (thanks to Eeryck & shingbi) Fixed: Nydus Worm was missing (thanks to Nolari) More descriptive error messages
Version 0.4.1 Fixed: Spawn Larvae would be delayed until end of timeline (thanks to KingKiron) Fixed: Spawn Larvae on multiple Queens would cause an error (thanks to KeyserSoze & icezar) Fixed: Repeated job with a resource trigger would require the same resource amount for each repeat (thanks to Intolerant)
Version 0.4 New scheduler algorithm Recurring jobs, e.g. 6 Drone [auto] Results now show times larva are generated Added MULE, Extra Supplies & Scanner Sweep abilities Fixed: Spawn Larvae could be queued multiple times on the same hatchery (thanks to Tsabo) Fixed: No error was displayed when trying to morph a Warpgate without having an unmorphed Gateway (thanks to Corvette) Fixed: Double extractor trick cost was 75 minerals (thanks to Lisky) Fixed: Extractor trick didn't refund minerals (thanks to Lisky) Regression: Workers are not sent early when this is specified, e.g. 12 Gateway (send @120 minerals)
Version 0.3.10 Fixed: Scouting at a fixed supply count could cause negative mineral counts (thanks to icezar) Fixed: In some cases, larvae would go unused (thanks to Phrencys) Fixed: In some cases, an error would occur that no hatcheries were producing larvae (thanks to Bitters) Extractor trick
Version 0.3.9 Fixed: Spawn Larvae could be cast on uncompleted Hatcheries (thanks to icezar) Fixed: In some cases, an error would occur that no hatcheries were producing larvae (thanks to icezar) Fixed: In some cases, Spawn Larvae would delay earlier larva generation (thanks to icezar)
Version 0.3.8 Worker can be sent early when building a structure, e.g. 12 Gateway (send @120 minerals) Startup delay for mineral mining, e.g. #Startup mining delay = 3 seconds Startup delay for worker production, e.g. #Startup build delay = 3 seconds
Version 0.3.7 Fixed: Prerequisites were not accepted if they appeared later in the build order (thanks to Bitters) Zerg results now show available larvae Worker transfer travel time can be specified
Version 0.3.6 Fixed: Spawn Larvae was not delayed until a Hatchery was available (thanks to kidcrash89)
Version 0.3.5 Results show supply capacity Units are delayed until sufficient supply capacity exists Fixed: Building a hatchery would delay drone production (thanks to Deathfairy)
Version 0.3.4 Fixed: Spawn Larvae build time was displayed as 2.5 seconds (its cooldown timer) (thanks to Sidus & ylmson) Fixed: Spawn Larvae could be placed earlier in timeline (thanks to ylmson)
Version 0.3.3 Fixed: error on jobs with resource trigger (thanks to Sidus) Jobs can be queued after Spawn Larvae completes (e.g. 14 Spawn Larvae & Zergling [4])
Version 0.3.2 Fixed: Starport build time incorrectly at 25 seconds (thanks to Sleight) Fixed: Structures depending on Lair could not be built (thanks to QwiXXeR) Results show evolution of income
Version 0.3.1 Fixed: Strict mode delays structures until a unit is completed (thanks to ylmson & Sidus) Fixed: Initial Hatchery spawns with only 1 larva (thanks to Sidus) Fixed: Zerg structures, upgrades and morphs use larvae (thanks to Sidus) Fixed: Error on transferring workers (thanks to Zazaodh)
Version 0.3 Zerg support Checkpoints show resources gathered at a given time Results show energy surplus
Version 0.2.2 Results show production queue usage
Version 0.2.1 Tactical Nuke, Interceptor & Salvage Bunker Strict Mode (read Limitations for details) Better error messages for invalid add-ons
Version 0.2 Terran support Show Chrono Boost & MULE in timing Updated to follow Patch 1.1.2
and it'll tell you the time when these structures can be built, how much resources you have in surplus at that time,
The syntax for the commands in your build order follows mostly what is standard, and you can read the list of commands on the page under the headers How to use and Examples. I've also added an explanation of the most common errors you'll see at the bottom, so please check that before you give up.
One important limitation is that the calculator does not take into account the time it takes for a probe to go from the mineral line to the place where you build the structure. So unless you build all your structures in the mineral line, add second or two for every structure.
Please let me know if you find any bugs. I think I've been thorough, but turns out it's a rather complex little algorithm. There's bound to be bugs.
cool little app. make it ipad/iphone ready and maybe make somewhat of a design and u can probably make some cash i like it although i play terran and zerg so
Very cool, haploid. Thanks! Also love your unit production stuff.
The travel time thing is not a big deal, people will lose mining time to scouting, chasing the other guy's worker out of the base etc, but these things can be compensated for by chronoboosting (which I assume you didn't take into account).
Its good to know roughly what the theoretical timings for these things are. Warpgate finishing at 5:13 sounds about right without chronoboosting (~4:45 with 3 CBs)
I'm not in it for the money, just for the challenge. :p
About chrono boosts: you can use an asterisk (*) to indicate which jobs should be boosted. For example, 10 Probe* or, 20 Warpgate*** (that's 3 chronoboosts) It'll use the chrono boost from whatever Nexus has the most energy, and it'll use the chrono boosts as early as possible. That's usually right when you start building that Probe or Warpgate.
MULEs are pretty easy, larvae will be a bit trickier. I'm mostly worried about how I'll do stuff like Terran addons and allow you to swap them to another building. For example, build a Barracks, build a Reactor, build a Factory, swap Reactor onto Factory. I'll figure something out.
Not Java, just straight up PHP and a dabble of Javascript. Maybe Python would've been a better choice, I'm just more acquainted with PHP.
One Suggestion, Allow for shorten input using something like BE to refer to Pylon or Gas referring to Assimilator, which will shorten input and save time finding the correct spelling(like,cybernetics core without an S)
This is awesome. You must have put a lot of effort into it. I wonder if it would be possible to calculate build order if you provide the desired amount of units/upgrades you aim for. E.g. a fastest way to get 2 colossi with range while constantly producing out of 2 gates.
On October 12 2010 09:52 Haploid wrote: I'm not in it for the money, just for the challenge. :p
About chrono boosts: you can use an asterisk (*) to indicate which jobs should be boosted. For example, 10 Probe* or, 20 Warpgate*** (that's 3 chronoboosts) It'll use the chrono boost from whatever Nexus has the most energy, and it'll use the chrono boosts as early as possible. That's usually right when you start building that Probe or Warpgate.
MULEs are pretty easy, larvae will be a bit trickier. I'm mostly worried about how I'll do stuff like Terran addons and allow you to swap them to another building. For example, build a Barracks, build a Reactor, build a Factory, swap Reactor onto Factory. I'll figure something out.
Not Java, just straight up PHP and a dabble of Javascript. Maybe Python would've been a better choice, I'm just more acquainted with PHP.
Oh I see, I was wondering what the asterisks were for, I kept looking towards the bottom of the build / page to find notes haha.
And the base larvae have a set spawn time when the count is < three, would it possible to know how much larvae are available from which hatcheries at all times? I'd imagine it would be... though it would get very complicated once a second hatchery is finished.
Worrying about addon-swaps seems quite logical. That kind of thing requires knowledge of building placement, yeah? You could simply assume that the buildings are placed right next to each other? I'm not sure
On October 12 2010 10:38 Lancette wrote: One Suggestion, Allow for shorten input using something like BE to refer to Pylon or Gas referring to Assimilator, which will shorten input and save time finding the correct spelling(like,cybernetics core without an S)
Yeah, I plan to add a piece of javascript that "spellchecks" your build order before you submit it, so that'll take care of the s in Cybernetics. Not sure about the abbreviations. I want the build orders to be human-readable, so you can easily copy them and post them on this forum.
On October 12 2010 10:43 Marimokkori wrote: Worrying about addon-swaps seems quite logical. That kind of thing requires knowledge of building placement, yeah? You could simply assume that the buildings are placed right next to each other? I'm not sure
The tricky thing about addons is that it changes the number and the type of production queues. For example, if you swap a Reactor Barracks and a Techlab Factory, you go from: 2 marine-only Barracks queues + 1 complete Factory queue to: 1 complete Barracks queue + 2 hellion-only Factory queues Actually, it may not be as tricky as I thought, just very different from Protoss.
Isn't it extremely simple to just calculate them yourself, though? Like let's say you want to rush Void Rays, just note the time when you add your gateway and then add that time + core + stargate + void time(reduce 10sec for every chrono boost you decide to do). I do this all the time when calculating builds and it's really easy. This way you, for instance, can calculate when a Terran could at earliest have cloaked banshees(You get the factory starting time and then add factory + starport + add 5 seconds for an add-on swap + cloaking upgrade duration)
Well, yeah, but that's basically the easiest example, almost just a linear build: Barracks > Factory > Starport > swap > (cloak & Banshee) It's a beeline: every step depends only on the completion time of the previous step. Except you build the cloak and Banshee side-by-side; if you saved up gas, you can ignore the build time of the Banshee and focus on the cloak. Then it really is a simple beeline.
Beelines are easy; most builds aren't beelines. Just look at the 4-gate example and tell me you can calculate in your head what unix mix you can afford while teching up.
Also, chrono boosts reduce build time by 6.7 seconds, not 10 seconds.
On October 12 2010 19:32 Haploid wrote: Well, yeah, but that's basically the easiest example, almost just a linear build: Barracks > Factory > Starport > swap > (cloak & Banshee) It's a beeline: every step depends only on the completion time of the previous step. Except you build the cloak and Banshee side-by-side; if you saved up gas, you can ignore the build time of the Banshee and focus on the cloak. Then it really is a simple beeline.
Beelines are easy; most builds aren't beelines. Just look at the 4-gate example and tell me you can calculate in your head what unix mix you can afford while teching up.
Also, chrono boosts reduce build time by 6.7 seconds, not 10 seconds.
I really hope you tested that before attempting to say that I'm wrong, because I just did it on a build order tester and without chrono boost, Zealot = 38sec. With Chrono boost, Zealot = 28 sec. Please test it yourself before you say I'm wrong. Thank you. (all times ingame of course, if you use real time well, that'll confuse a lot of people EDIT: Well even if it's real time it still is wrong)
for the 4-gate, you get the warpgate upgrade timing, reduce 20 seconds for 2 chronoboosts, add 15 seconds for warpgate morphs and the first warp-in, and you have the push timing. You won't get the amount of units he has, but with some logic we can say that the first gate gets 3-4 units(depends on if you make an early zealot or not, you calculate this like this: chrono boosted warpgate timing 120sec, gateway build time for zealots 38s, stalkers sentries 42s. You get 3 out in that time) out while the second gets only one before warpgate, and then you get 4 more immediately as the warpgate tech completes.
On October 12 2010 19:41 Shikyo wrote: I really hope you tested that before attempting to say that I'm wrong, because I just did it on a build order tester and without chrono boost, Zealot = 38sec. With Chrono boost, Zealot = 28 sec. Please test it yourself before you say I'm wrong. Thank you. (all times ingame of course, if you use real time well, that'll confuse a lot of people EDIT: Well even if it's real time it still is wrong)
You're right, I was thinking with my foot. 20 Seconds of 1.5x production speed == 10 seconds faster build. Notice that the calculator got it right, though.
MULEs are pretty easy, larvae will be a bit trickier. I'm mostly worried about how I'll do stuff like Terran addons and allow you to swap them to another building. For example, build a Barracks, build a Reactor, build a Factory, swap Reactor onto Factory. I'll figure something out.
Just to note what someone else did during the beta: [url=http://sc2tacop.site90.net/edition1/]http://sc2tacop.site90.net/edition1/[/url]
A suggestion might be to use AJAX and make the timings "spawn" besides the build order, so that people have a chance to see where they're at mineral and gas wise....
Kinda like this: [url=http://imgur.com/lBh6a.png]http://imgur.com/lBh6a.png[/url]
Nice job though, keep up the fight
EDIT: damn I'm bad with this image upload thingy....
Really cool idea, I could see it eventually turn into something like you put in the unit comp you want, and it will reverse-engineer the fastest build order to get that army out
Wow, you've tackled a lot of trickey stuff i've been putting off doing myself (more in the context of build validation tho). I especially like your unit production calculators, since that'll help players like me who don't know how/when to expand and then produce properly.
If you are interested, PM me and perhaps I we can investigate ways to collaborate in our efforts. For example, i could implement a web service to let you post builds into my site - or vice versa. I'll definitely add a link to your site somewhere tho, since you've obviously done a lot of work (and were apparently inspired by the same daily ; )
A suggestion might be to use AJAX and make the timings "spawn" besides the build order, so that people have a chance to see where they're at mineral and gas wise....
Yeah, I saw that one and a few others around. That's definitely the most advanced one, and it's actually quite good calculation-wise, but I find it really hard to use, and it takes ages to get my build order set up in it.
I could do the AJAXy thing, except I think it'd require a lot more processing power serverside. Many small things you change in the build order require pretty much all the timings to be recalculated, or at least all the timings after the point where you made the change. If I make it so that it recalculates any time you make a change, that's an awful lot of extra recalculations. If I make it so you have to press a button to recalculate, well, that's basically what it is now.
I'll consider making it wider, so you can put the build order and the calculated timings side-by side. I don't want to make it too wide, but maybe we can fit it in.
On October 13 2010 06:06 ChThoniC wrote: Really cool idea, I could see it eventually turn into something like you put in the unit comp you want, and it will reverse-engineer the fastest build order to get that army out
Whoa there, I get a headache just thinking about it, lol. That's really really really tough to make for all possible unit mixes. It's fairly easy to figure out for any one specific cocktail, but to make it work for every possibility, yikes.
Hmmm According to it for 3 rax + 2 vikings and siege tanks u must be in exactly 2 saturated bases, this means im idling pretty much all the time btw very very nice tool, congratulations ...
I noticed it often rearranges the building order when supply counts are the same, or sometimes does not build things at the exact supply I gave it.
For example: 10 Nexus 10 Pylon
If you write these, the calculator will put the pylon down before the nexus. But if you do the following it puts down nexus after the pylon: 10 Nexus 10 Pylon 11 Probe*
Not quite understanding the logic here. Isn't it nicer to just try to follow the order of the lines and give errors when a specific order can't be accomplished? Also if you write the above, it will start building 10th probe before the pylon is finished.
Another example of the problem is that it never builds Assimilator when I want it to: 16 Assimilator builds it at 12 supply. 30 Assimilator builds it at 17 supply.
Other buildings suffer the same problem sometimes.
It might be useful to give a label to a building when you make it, so you can come back to refer to the building when you want to perform certain action. e.g. begin upgrade at two forges, then at a later time, select one of them to start chrono boost on.
Finally, where is Transform to Gateway so I can do the trick where you build 3 zealots in 58 seconds from one gate, without chronoboost?
On October 14 2010 09:45 ylmson wrote: I noticed it often rearranges the building order when supply counts are the same, or sometimes does not build things at the exact supply I gave it.
The calculator doesn't actually keep track of the order in which you put things. It looks at supply count, prerequisites, and user-defined dependencies (such as 10 Gateway > Zealot, which means start the Zealot when this Gateway has been completed).
I changed it, though. Now it keeps track of the order in which things appear in the build order, even if they have the same supply count. So 10 Nexus, 10 Pylon works as you'd expect now.
On October 14 2010 09:45 ylmson wrote: Another example of the problem is that it never builds Assimilator when I want it to: 16 Assimilator builds it at 12 supply. 30 Assimilator builds it at 17 supply.
Yeah, it does that. I put an explanation of that in the limitations section. If you write 16 Assimilator, it'll start by building probes up to 16 supply. Then it looks for the earliest moment you could build the Assimilator. Turns out that's long before you reach 16 supply. If you really want to start the Assimilator after the 16th probe has started building, write: 15 Probe & Assimilator
I think the calculator is better off with this slight optimization technique in it, rather than taking it out.
On October 14 2010 09:45 ylmson wrote: It might be useful to give a label to a building when you make it, so you can come back to refer to the building when you want to perform certain action. e.g. begin upgrade at two forges, then at a later time, select one of them to start chrono boost on.
I've really thought about this a long time, and I couldn't think of any situation where the two methods of notating chronoboost differ.
Your example would be: 16 Forge > Ground Weapons Level 1** 18 Forge > Ground Armor Level 1 Two chronoboosts on the first upgrade, none on the other. The chronoboosts are used as soon as they can be.
On October 14 2010 09:45 ylmson wrote: Finally, where is Transform to Gateway so I can do the trick where you build 3 zealots in 58 seconds from one gate, without chronoboost?
I thought they fixed that trick in the beta. But yeah, I'll add it, for completeness.
Cool stuff, I like the fact that there are several BO optimizers spawning out there.
I generated a Korean 4gates all-in:
10 Pylon 10 Probe* 10 Gateway 13 Assimilator > put 3 on gas 15 Cybernetics Core > Warpgate*** @50 gas take 3 off gas 18 Gateway [3] > Transform to Warpgate [4] 18 Pylon [3]
Some interesting facts, assuming numbers are correct: - It gets Warpgates 40sec sooner than a standard 4gates (though I've seen faster 4gates than the one in your example). - Not chrono boosting Nexus on 10 supply results in 886 extra minerals at the moment your warp gates morph, instead of 836 (so that boost is estimated at 50minerals?) - You can actually make a 5gates all-in and be ready at the same time. Won't be able to support several full cycles, but your initial two waves will hit 20% harder.
On October 14 2010 22:52 Phrencys wrote: Some interesting facts, assuming numbers are correct: - Not chrono boosting Nexus on 10 supply results in 886 extra minerals at the moment your warp gates morph, instead of 836 (so that boost is estimated at 50minerals?)
I think you mean the other way around: Chronoboosting Nexus results in 50 extra minerals when the warpgate morphs have completed. Good show on that build order. But I think the main reason it's faster than the example from Liquipedia is because it builds no units until after the warpgates, which can be... risky.
Update Version 0.2: - Terran support - Show Chrono Boost & MULE in timing - Updated to follow Patch 1.1.2
On October 16 2010 04:21 ylmson wrote: Why can't I build a marine when I only have Barracks with Tech Lab? ... It says "No production queue of type Reactor attached to Barracks is available!" Only removing the tech lab will allow the marine to build.
Oops, I forgot to add the "Barracks with Tech Lab attached" queue type to the Marine. Dito for Hellion, Viking and Medivac. Thanks for spotting this. It's fixed now.
Also, I updated the error message to correctly say: No production queue of type Barracks, or Barracks with attached Reactor, or Reactor attached to Barracks, or Barracks with attached Tech Lab is available!
Wow this is really cool definatly fun to use and very useful in game now that Starcraft supports an ingame timer. I also second the thought that you should make it an Ipod/Iphone/Ipad app
For some reason it shifted my build order 1 supply. I have it typed in as 10 gate, 14 pylon, but it only makes 3 probes after the 10 gate so under timings it has it as a 13 pylon.
On October 16 2010 07:24 thesauceishot wrote: For some reason it shifted my build order 1 supply. I have it typed in as 10 gate, 14 pylon, but it only makes 3 probes after the 10 gate so under timings it has it as a 13 pylon.
I believe that is because of the calculator optimizing the timing. Try "13 Probe & Pylon".
Now, quick Terran question: Where is Tactical Nuke
On October 16 2010 07:24 thesauceishot wrote: For some reason it shifted my build order 1 supply. I have it typed in as 10 gate, 14 pylon, but it only makes 3 probes after the 10 gate so under timings it has it as a 13 pylon.
What thesauceisshot said. I'm working on an option to make the calculator take the build order as literally as possible. It's actually harder not to optimize.
On October 16 2010 14:39 ylmson wrote: Now, quick Terran question: Where is Tactical Nuke
Added it. It wasn't in the lists of Terran units, structures and upgrades on Liquipedia, so I kinda forgot about it. It's really a one-of-a-kind, the only expendable in the game.
Thanks. Should Salvage Bunker be added as well? It obviously has an effect on economy, refunding 100 minerals at an arbitrary point. Terran truely has many mechanics.
On October 17 2010 02:14 ylmson wrote: Thanks. Should Salvage Bunker be added as well? It obviously has an effect on economy, refunding 100 minerals at an arbitrary point. Terran truely has many mechanics.
OMG, that's so cute. For a second there, I thought: oh, Salvage Bunker, that's easy, it's just a morph that transforms a bunker into nothing. And then I realized it actually has a negative mineral cost. I added it to the list, and I think it'll work fine, but I'm not quite sure if there isn't some part of the calculator that'll flip when it sees a negative cost.
@thesauceisshot I've also added an option called Strict mode. In Strict mode, the calculator will never produce a building or unit before the indicated supply count is achieved. So it'll follow the supply count in your build order to the letter.
It would be nice if the current maximum supply can be viewed alongside supply count (There is enough space anyways). I often forget to build supply early enough and the calculator keeps building units even when the maximum supply is exceeded.
Another feature I'm interested in: Would it be possible to fast advance to a future given time and see the resources I would have at that moment, assuming not building anything in the duration? Then I can punch in the timing of an enemy push and estimate how much I can build to defend it. Since you already have @mineral and @gas build command, it may be nice to have an @time build command as well, which could then also function as the feature to look at available resource at a given time.
Right now, if I want to see how much minerals I have at 5:30, I would be trying @1000 mineral Pylon, @500 mineral Pylon until it gets me to 5:30, which is a bit inconvenient. Specifying the exact time for a command would also help manually factoring in the time of walking to build proxy barracks, etc.
Finally, I was trying out strict mode a bit, seems like when strict mode is on, 9 Pylon builds the pylon after the 9th probe comes out, I think it might be more useful if it makes the pylon after the 9th probe starts. Usually when I use strict mode I just want a strict order of building things, not waiting for the last supply unit to finish before making a building. It would especially matter if a unit takes a long time to build, since with strict mode you can't put down any building before the unit is finished.
Man, we can almost play the game on paper now. Props for such nice work!
On October 18 2010 06:05 ylmson wrote: It would be nice if the current maximum supply can be viewed alongside supply count (There is enough space anyways). I often forget to build supply early enough and the calculator keeps building units even when the maximum supply is exceeded.
I'll add that in the next build. Quite easy. I purposely did not let the calculator throw an error if you exceed supply limit, because some builds presuppose that some units will die. But I'll change the supply column to say "10/18" or something instead of just "10".
On October 18 2010 06:05 ylmson wrote: Would it be possible to fast advance to a future given time and see the resources I would have at that moment, assuming not building anything in the duration?
Done. Just write something like: 5:30 checkpoint and it'll add an entry in the results at 5:30, so you can see the status quo.
On October 18 2010 06:05 ylmson wrote: Finally, I was trying out strict mode a bit, seems like when strict mode is on, 9 Pylon builds the pylon after the 9th probe comes out, I think it might be more useful if it makes the pylon after the 9th probe starts.
It shouldn't, and I don't get this problem. When I write just "9 Pylon", it queues a probe at 0:34 (completed at 0:51) and builds the pylon at 0:42. It really just tries to build the pylon after probe 9 has started, not completed.
Thanks for your awesome feedback. This really helps in making the calculator complete. I notice you registered on TL just to comment on this thread. Hope you're enjoying the rest of the boards.
On October 19 2010 04:09 ltortoise wrote: Another field for transferring to an expansion, where you can manually enter the transfer time. Example: 15 Command Center > +8 7
transfers 8 workers, 7 second delay before they start generating income.
Got it. It's something that's been on my todo-list since day zero. Just never got around to it. I can do probe transfer time for maynarding; that shouldn't be too hard.
Last but not least: Zerg is now implemented, including the Queen's abilities I still need to add a way of doing the Extractor trick (or any other structure trick, I suppose).
Also, the results now show the energy surplus of Queens and Nexi. I'll add Orbital Commands later; right now they just auto-MULE.
Would it be possible to add a 'force constant probe production' checkbox?
It is currently telling me that my Nexus Busy Percentage is only 73%, where ideally it should be 100% and the rest of the build timings should fit around the constant production of probes.
On October 19 2010 08:24 tedd wrote: This is incredible!
However, one thing that's driving me nuts:
If I do 9 Overlord 13 Spawning Pool 13 Extractor > put 3 on gas 15 Overlord 15 Queen
It tells me "no hatcheries are producing larvae" ? Why is this?
Yes, bizarrely enough it seems that the calculator gives an error if no larvae are available when a queen is scheduled to start. This seems to be specific to the queen, if there is no larva avalable for another unit (I only tested zerglings) it will correctly just delay it
This appears to be due to the combination of 2 bugs.
1) the calculator thinks queens use a larva 2) In the special case of a queen, the calculator doesn't wait for a larva to be available, it just gives an error message
The calculator also seems to assume that you start with only one larva - production tends to be at 15s intervals because the calculator thinks you're restricted by larvae when actually you're restricted by minerals in the beginning.
But, this will be great if the bugs are fixed, thanks Haploid!
On October 19 2010 08:24 tedd wrote: It tells me "no hatcheries are producing larvae" ? Why is this?
Fixed. It was a problem with the Queen, which I'm sure I'd fixed earlier, but I guess I messed it up again. Queens don't cost larvae.
On October 19 2010 08:39 Zazaodh wrote: Would it be possible to add a 'force constant probe production' checkbox?
Kind of tricky. It'd mean the calculator would be allowed to ignore the supply count of jobs in the build order. I'll think about it.
On October 19 2010 09:03 randplaty wrote: Line 5 : take 3 workers off gas is not a structure or unit.
What am I doing wrong?
It's "take 3 off gas", not "take 3 workers off gas". I'll make it so that it ignores the words workers, probes, drones and SCVs in that line, so you can write it like that in the next build.
On October 19 2010 07:41 Haploid wrote: When I write just "9 Pylon", it queues a probe at 0:34 (completed at 0:51) and builds the pylon at 0:42. It really just tries to build the pylon after probe 9 has started, not completed.
I was referring to when you have "strict mode" checked. When I checked that, 9 Pylon will build the pylon at 0:51 not 0:42. (10 Pylon will build it at 1:08) But I don't want it to do that, even with strict mode on all I wished is preserving build order.
And you were right, I really registered just to comment on your thread. I had the idea about the same kind of tool a while ago and it is really nice to see someone actually make it. I'm sure when it gets matured will see many great strategic developments. So keep up the good work!
Notice: Undefined variable: dependencies in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/job.php on line 206
Line 1 : Transfer workers where?
Fixed. Sorry about that.
On October 19 2010 13:21 ylmson wrote: I was referring to when you have "strict mode" checked. When I checked that, 9 Pylon will build the pylon at 0:51 not 0:42. (10 Pylon will build it at 1:08) But I don't want it to do that, even with strict mode on all I wished is preserving build order.
Good point. I have no idea why I did that, but it's also fixed now. Strict mode looks at the time when units are started, not when they've completed.
So it appears to be waiting for that hatchery to finish before doing other things, and i tried jsut saying like 14 hatch 14 pool 14 gas etc, Same things happens
Thanx
On another Note, 1) How is Queen's Inject/Tumor used or managed ? 2) "Infestation Pit requires that you build Lair first" When ive quite clearly started the lair, even put other things in eg 50 overlord 50 infestation pit, Where i know from the times the lair is done 3) How to get zerg upgrades working eg "lair > Burrow" gives "Burrow requires that you build Lair first." and "Evolution chamber > Carapace" gives "Line 3 : Carapace is not a structure or unit."
The Starport build time is incorrect. Also, when you set up a series of commands using the ">" character the algorithm often artificially delays worker production. Seems like it is just stacking the commands incorrectly, but I can't troubleshoot it without seeing the source.
Great job. I am using this to test whether or not TvT builds can beat Hellion marine pushes or Banshee rushes. The only issue I am having is with expanding. I would love to see a detailed explanation of its expansion worker transfer algorithm, because I am worried it will give you artificially high income.
Protoss build order seems to be completely fluent in the calculator. The applet doesn't show a slight gap in production for probes at 9 supply while every protoss player knows this is the case. In practice there is about a 5 sec gap between 9 and 10 supply where the nexus is idle. This and other inaccuracies mean the build order calculator is about 20 secs faster then the real thing for many toss build orders.
On October 19 2010 22:13 QwiXXeR wrote: On another Note, 1) How is Queen's Inject/Tumor used or managed ? 2) "Infestation Pit requires that you build Lair first" When ive quite clearly started the lair, even put other things in eg 50 overlord 50 infestation pit, Where i know from the times the lair is done 3) How to get zerg upgrades working eg "lair > Burrow" gives "Burrow requires that you build Lair first." and "Evolution chamber > Carapace" gives "Line 3 : Carapace is not a structure or unit."
1) It keeps track of the energy for each Queen. Then when you add a Spawn Larvae job to the build order, it'll use whichever Queen has the most energy available. It doesn't keep track of how close the Queens are to your hatcheries, which that may be a big influence on the timing. Also, Spawn Larvae is always targetted at whichever hatchery: - is not already spawning larvae; - has the fewest larvae available; - if equal, whichever has the longest delay until the next larva would be generated.
2) Sorry, fixed that. The calculator was complaining that you don't have the structure "Lair" in your build order; which is logical, because you have the morph "Lair". Different things. The morph "Lair" consumes a hatchery and produces the structure "Lair". I fixed it so that it also looks at which structures are produced by the morphs when determining if you have the prerequisites.
3. Same problem. Also, the carapace upgrade is called "Ground Carapace Level 1". It seems like the calculator should be able to guess that you mean that one, but I haven't programmed it to guess that yet.
Thanks for your feedback and spotting the Lair problem.
On October 19 2010 23:28 Sleight wrote: The Starport build time is incorrect. Also, when you set up a series of commands using the ">" character the algorithm often artificially delays worker production. Seems like it is just stacking the commands incorrectly, but I can't troubleshoot it without seeing the source.
Great job. I am using this to test whether or not TvT builds can beat Hellion marine pushes or Banshee rushes. The only issue I am having is with expanding. I would love to see a detailed explanation of its expansion worker transfer algorithm, because I am worried it will give you artificially high income.
Thanks on the Starport build time, I missed that one. You get blinded after typing a few hundred numbers.
You'll have to give me an example of the worker production delay. In general, the calculator will attempt to do the jobs in the build order in the order in which they appear. It'll only produce workers when there are no other jobs available.
I'll add a table which shows the evolution of your income during the build order. This will illustrate how workers are transferred and what the effect is on your income, and hopefully answer your question. Expect this update something tomorrow.
On October 19 2010 23:40 Markwerf wrote: Protoss build order seems to be completely fluent in the calculator. The applet doesn't show a slight gap in production for probes at 9 supply while every protoss player knows this is the case. In practice there is about a 5 sec gap between 9 and 10 supply where the nexus is idle. This and other inaccuracies mean the build order calculator is about 20 secs faster then the real thing for many toss build orders.
Yeah, I know that gap intimately. I've actually played a few games at very slow gamespeed and tried to be as quick as I could be to see how real the numbers are. I can't for the life of me get it down to less than 2 seconds. Part of the reason for the gap is that you have a few seconds delay as you send your initial workers off and queue the first probe. Especially at faster game speed, this can easily have a 4 or 5 second (game time) effect on the speed of your build.
Another aspect is the fact that your probe has to travel to make that first Pylon. Even a 3 second travel time (+3 seconds back) is good for a loss of another second delay on that 10th probe.
And finally, sending your initial probes in a 3/3 split (which is the best I can do) adds a tiny bit of additional travel time while your probes fan out. That's probably another half a second.
This calculator does not take travel time or startup delay in its calculation. Beyond that startup delay, I've been able to match the calculated timing fairly well when playing at very low game speed.
I believe Spawn Larvae has some problems. Here is a build order: 9 Overlord 15 Spawning Pool 15 Overlord 16 Queen 25 Spawn Larvae 32 Overlord 6:00 checkpoint
First it takes 3 seconds in the table (from 3:42 to 3:45) to cast spawn larvae, I think there should be no cast time at all, and the whole duration should be changed to 40 seconds to reveal when the larvae will pop out. (i.e. from 3:42 to 4:22)
Spawn larvae has no casting delay if the queen is standing next to base. The progress bar starts as soon as you click the base instead of when the queen animation finishes playing. This can be verified by slowing down the game.
Second problem is at 4:25 (which is where the program thinks spawn larvae is finished), only 1 new larva got generated while there should have been four. The program makes a drone at 4:25, then 4:40, 4:55... in 15-second intervals. What should have happened is that 4 drones would be made simultaneously at 4:22 (assuming supply allows), then at 4:30 instead of 4:40 another larva will spawn (following regular hatchery larva interval, since the previous hatchery larva was 4:15).
I haven't actually tested if spawning larva will reset the timer for regular hatchery larva, but I don't feel it should.
Now, another truly strange problem is that, if I put "25 Overlord" after "25 Spawn Larvae", it will try to build the overlord at supply 28 (4:25), using the larva generated by Spawn Larvae. Even an optimization would have tried to build the overlord earlier, not later.
Even stranger, If I put "21 Overlord" before "25 Spawn Larvae", it will build the overlord at 24 supply (3:30), and somehow gives me 3 additional larvae before the overlord, at 3:14, 3:18, and 3:22. I have no idea where those larvae come from...
On October 20 2010 18:52 ylmson wrote: I believe Spawn Larvae has some problems.
Very much so, and I think I fixed all of them now. In the order in which you presented them: - According to Liquipedia, Spawn Larvae has a cooldown of 2.5 seconds. I mistook this for meaning that it takes the Queen 2.5 seconds to execute it, but as you say, it is instantaneous. Regardless, this is rarely if ever an issue, so I changed the calculator to display the 40 second wait time instead of the cooldown time. - The second problem is much more complex, and it has to do with at least three separate bugs which would take a while to explain. Suffice to say it's been fixed. As part of the solution, I've forced the calculator to always treat Spawn Larvae as if the calculator were in strict mode. So when you write: 25 Spawn Larvae, it will not optimize and push the SL job to the earliest time it is available. - The strange Overlord problem you mentioned is an effect of the same confluence of bugs. The additional three larvae you mentioned were the result of the Spawn Larvae job being pushed back in time to the earliest time it could be executed. Since a SL job requires nothing except a Queen with 25 energy, the calculator was able to place it much earlier than the Overlord job. Again, this is fixed by ensuring that the calculator is strict about the time when a SL job is executed.
I have worked on optimizing the SeLeCT BO and I found that, though the calculator suggests you can get a Depot out after a 2nd Barracks before you can possibly build a first SCV, it seems that there is at least a 5 second delay.
I think the current mineral intake might be a fraction too high or that it starts a few seconds too soon at the beginning of the game. I did the proposed BO without losing almost a second of mining time by grabbing the closest worker right on time and it wasn't even close. As a result, the rest of the BO plays out quite differently seeing as this discrepancy happens by around 16-17 food.
Problem #1: Drones 11 and 12 (entries 5 and 6 in the list) both start before the overlord finishes.
Problem #2: It's building the extractor on 14, not 15, and then building a drone after. The order is backwards. Using the strict checkbox makes the order right, but it shouldn't be necessary in this case. The calculator is simply doing the wrong thing.
Also, there is something else a bit wonky right at the beginning. The 8th drone is *never* getting started a full 6 seconds before the 7th one finishes. In actual play, you generally start the 8th just barely before the 7th finishes, even with a perfect split. This is going to throw all other timings off.
Alright, I've finally come around to including supply capacity. The calculator now checks for supply capacity when queueing units, and displays the capacity in the results.
Skrag, your second problem is covered by the strict mode option. In non-strict mode, the calculator takes some liberties and starts production of stuff as early as possible, which in this case means your Extractor can be built before Drone #15. You have the resources. I'll think about making strict mode the default, and I'll definitely find some better way of advertising what it does (maybe just rename it to "don't allow minor optimizations" or something).
And yes, these are the optimal conditions timings, which can never be obtained. You'll always have a 2 or 3 second delay at the very start, at least. I usually spend a full second just figuring out where my mouse cursor is, cause it's hidden on the load screen, and when the game commences, it's usually in some corner of the screen or something.
On October 21 2010 06:41 Haploid wrote: Alright, I've finally come around to including supply capacity. The calculator now checks for supply capacity when queueing units, and displays the capacity in the results.
Skrag, your second problem is covered by the strict mode option. In non-strict mode, the calculator takes some liberties and starts production of stuff as early as possible, which in this case means your Extractor can be built before Drone #15. You have the resources. I'll think about making strict mode the default, and I'll definitely find some better way of advertising what it does (maybe just rename it to "don't allow minor optimizations" or something).
And yes, these are the optimal conditions timings, which can never be obtained. You'll always have a 2 or 3 second delay at the very start, at least. I usually spend a full second just figuring out where my mouse cursor is, cause it's hidden on the load screen, and when the game commences, it's usually in some corner of the screen or something.
Can we implement a 3 second delay on starting mining and a 3 second loss of mining time for each structure getting built?
How about a scouting option where we remove a worker?
Got it and fixed it. Thanks, Deathfairy (good nickname, btw).
On October 21 2010 06:48 Sleight wrote: Can we implement a 3 second delay on starting mining and a 3 second loss of mining time for each structure getting built?
How about a scouting option where we remove a worker?
Yes, and yes on the first two questions. There's already a scouting option, just write: 12 Gateway & Scout
IMO all the little timing problem can be resolved by allowing an @time build command. (which I mentioned in a previous post) e.g. 9 Probe @1:30 take 1 off mineral @1:45 Nexus
Something like that. The calculator can then check if building something at a given time can be accomplished, and simply throw an error if it can not. Fixed delays from theoretical timing is never perfect because timing varies by person. With such a command combined with ability to put workers on and off mineral like on gas, any arbitrary delay could be accounted for.
So if people want to override the mining start time, they can write something like: @0:03 put 6 on mineral. With @time command you can also tell a scouting worker to come back to mining at a specific time if he survives, which may also be nice for some BOs.
Another problem I see is that right now it's hard to specify if you want a scouting SCV to build something (e.g. proxy), or want to pull a worker off to do it. The latter option actually may affect the economy quite a bit for a proxy build. I don't have any suggestion on that yet, besides the labelling idea I originally had which I still kind of liked:
10 SCV [Henry] > scout with Henry 12 Barracks [Proxy] with Henry
Then maybe at a later time, "Tech Lab on Proxy" or "Reaper from Proxy" or something like that. So even if another barracks is available, calculator would know to wait and use the specified one. This could also affect when units come out, etc. Just thought it may be nice. :D
On October 21 2010 06:41 Haploid wrote: Alright, I've finally come around to including supply capacity. The calculator now checks for supply capacity when queueing units, and displays the capacity in the results.
Skrag, your second problem is covered by the strict mode option. In non-strict mode, the calculator takes some liberties and starts production of stuff as early as possible, which in this case means your Extractor can be built before Drone #15. You have the resources. I'll think about making strict mode the default, and I'll definitely find some better way of advertising what it does (maybe just rename it to "don't allow minor optimizations" or something).
And yes, these are the optimal conditions timings, which can never be obtained. You'll always have a 2 or 3 second delay at the very start, at least. I usually spend a full second just figuring out where my mouse cursor is, cause it's hidden on the load screen, and when the game commences, it's usually in some corner of the screen or something.
Don't get me wrong, the work you've done is incredibly awesome, but this tool would be *ridiculously* useful if it took a little bit of reality into account.
Right now, you can't really use it to compare different things, because it gives results that are simply not possible even if you play absolutely perfectly. Even just getting that 8th worker 5 seconds sooner than you should can make a huge difference later in the build.
Any plans to make the timings something that matches reality rather than "theoretical optimal"?
Side note : Pretty sure you're using values that are too big for worker mining rates. You're using .7, and that's pretty close to max for close patches. Average is closer to .66.
Scratch that last note. I just looked back at my timings, and .7 is just about perfect, and I was mis-remembering. (.66 is the mining rate for far patches, but the income from close patches is enough better that it brings the average up to right about .7)
does this force drone production? for example: 9 Overlord 14 Hatchery & Scout 14 Spawning Pool 16 Overlord 18 Queen > Spawn Larvae 20 Extractor > transfer 3
yet my readout gives me a 19 queen and 21 extractor. it seems to not let me pool minerals (makes an extra drone while queen waits for spawnling pool to finish)
when doing a fast expand build (14p/15h) i want to make it so that as soon as the expansion hatch is complete, it produces a queen (given mineral constraintss)
logically it would make sense that 15 Hatchery > Queen would be the command for that, however it seems the supply constraint is checking the CURRENT supply (at 15) instead when the hatchery is finished
and i also occasionally get "15 Overlord is no longer solvable. Required supply count was exceeded." even though overlords require no supply
On October 21 2010 08:55 ylmson wrote: IMO all the little timing problem can be resolved by allowing an @time build command. (which I mentioned in a previous post)
I'm not sure about the @time trigger, except for a few cases. In general, I think that if you hardcode times in your build order, it makes it harder to change the build order later. If you want to pump out one more marine before some @time trigger, you'll have to go back and fiddle with the time until it pans out right again.
Here is what I'm leaning towards when it comes to startup delay, travel time, and proxying:
Startup delay. I think I'll add a command like: -3 seconds mining
In a build order this would look like: -3 seconds mining 9 Pylon 12 Gateway ...
Travel time. It's very hard to calculate the timing when enough minerals would be available for a Barracks, if the timing depends when you send the SCV, and vice versa. Circular dependency and all. I've not come up with a cheap calculation for that. I'm thinking an easy (and doable) way to notate it would be: 10 Barracks (send @120 mineral) which translates into: At 120 minerals, send the SCV, the build the Barracks right when you hit 150 minerals. This is much more in line with how you'll execute it anyway; you look at the resources.
Proxying. I'll add an option to let your scout construct a building, like: 10 Scout 13 Gateway (proxy)
Extractor trick is also on the todo-list.
Skrag, I'm fairly sure about the resource mining rate. I've tried and tested the calculations and I come up with numbers fairly close to the theory. The FAQ on my page details the calculations.
Bitters, please post your build order, so I can see what's up. 15 Hatchery > Queen is really the command you're looking for, and it should work as advertised. The error message you get on the 15 Overlord isn't about the supply cost of the Overlord, but about the supply trigger (the "15" part). Apparently your build already has more than 15 supply when it comes to building the Overlord.
On October 22 2010 07:30 Haploid wrote: I think that if you hardcode times in your build order, it makes it harder to change the build order later.
Good point, and I like your solution.
On a side note, right now it seemed the calculator wouldn't transform warpgate back to gateway before the cooldown is over, while it is possible in game to do so. So this may need to be fixed for correctness. Also as I just checked, the remaining cooldown would actually be remembered and restored when you transform it back to warpgate at any later time. So you're right, can't do the gate-flipping trick anymore. :S
So one build gets 2 more drones out and starts the Lair at the same time. It seems that the @ commands don't continue to drone up? Is there any way to make Spawn Larvae automatically refresh? You should at the ability to do things at a specific time. For example, I want to drop a Spire immediately after my Lair finishes, or @6:00. Awesome app (your unit production one is cool too)
leaves me with 25 energy @39 supply yet when I add "39 Spawn Larvae" I'm not allowed to cast it since "all hatcheries are currently spawning larva". Clearly, the larva has already popped after I make my drone. It doesn't seem to work on 40 either.
On October 22 2010 10:55 Bitters wrote: 9 Overlord 15 Hatchery>Queen 14 Spawning Pool 15 Overlord 18 Queen 20 Zergling
... ya confirmed... using that hatchery>queen command has the code check current constraints instead of constraints after the hatch finishes in the above example is says queen requires spawning pool, which would be complete by time hatch is done.
Yes, it picks up the jobs in the order in which they appear in the build. Even when you write 15 Hatchery>Queen, 14 Spawning Pool, it'll see the Queen first and throw an error. I've tried to make it so that "floating" jobs (jobs which don't depend on a specific supply count) such as ">Queen" can be moved to a later time to account for prerequisites. But it's not simple. It's actually an NP-complete problem, akin to the Travelling Salesman problem, which means that the computation becomes very expensive when a build has lots of floating jobs. It also means that the only way to figure out the correct order of floating jobs (and to figure out if there even exists such an order) is to just brute force try every possible order.
You'll have to write: 15 Hatchery 14 Spawning Pool > Queen Or possibly delay the Queen even further until after the Overlord, whatever gets the smoothest timing.
On October 22 2010 14:01 kidcrash89 wrote: 6:00 Checkpoint gives an error due to check point
... leaves me with 25 energy @39 supply yet when I add "39 Spawn Larvae" I'm not allowed to cast it since "all hatcheries are currently spawning larva". Clearly, the larva has already popped after I make my drone. It doesn't seem to work on 40 either.
Fixed both. It now delays the Spawn Larvae until after a hatchery is available, instead of throwing an error. Thanks!
On October 22 2010 18:01 Existor wrote: Epic work! Can you add column for zergs, how many larvae we have for a moment?
My works have never been called epic before. o.O Added larvae to the results.
On October 22 2010 22:47 Bitters wrote: right but under your example of 15 Hatchery 14 Pool > Queen
That doesn't time the second queen starting off the expansion's finish (since the build I posted already was building a queen after the SP was done
I changed the way in which prerequisites are checked. They are now checked as it executes the build order, instead of trying to tie everything up beforehand. As a result, your first notation will now work as you'd expect: 15 Hatchery > Queen 14 Spawning Pool It'll build the Queen right when the second Hatchery completes.
And the third and final change of the day: you can now specify a travel time for transferring probes. The notation for this is (any of these will work): 15 Hatchery > transfer 8 drones (10 seconds lost) 15 Hatchery > transfer 8 (10 seconds) 15 Hatchery > +8 (10s)
My next stop will be allowing you to specify a startup delay. I'm not sure what would be the most flexible way to write this. It depends on whether you send your probes first, or queue your probe. Personally, I start with the probes, and I assume most people do (mining outranks building). So for me, there is a maybe 2 second delay on startup mining and a 3 second delay on building the first probe. Any suggestions on how to write this down in a build order?
On October 22 2010 14:01 kidcrash89 wrote: 15 Hatch 14 Pool gets a Pool quicker than 14 Hatch 14 Pool, interesting
See, this is the problem with not trying to add a bit of reality in.
I'd bet you money that if you actually tested it in-game, that would not be true.
**Edit** Er, I misread something somehow. 15hatch 14pool will get the pool faster than 14hatch 14pool. Not by much, but slightly faster.
I did test it in-game, though, and came up with about the same time on both, with 15hatch being slightly faster, as expected.
However, the actual time is 10 or 11 seconds after the "theoretical" time, and my early game timings are pretty crisp, so it would be really tough to improve on that. I can manage everything just fine when there's not very much to do.
On October 22 2010 10:55 Bitters wrote: 9 Overlord 15 Hatchery>Queen 14 Spawning Pool 15 Overlord 18 Queen 20 Zergling
... ya confirmed... using that hatchery>queen command has the code check current constraints instead of constraints after the hatch finishes in the above example is says queen requires spawning pool, which would be complete by time hatch is done.
Yes, it picks up the jobs in the order in which they appear in the build. Even when you write 15 Hatchery>Queen, 14 Spawning Pool, it'll see the Queen first and throw an error. I've tried to make it so that "floating" jobs (jobs which don't depend on a specific supply count) such as ">Queen" can be moved to a later time to account for prerequisites. But it's not simple. It's actually an NP-complete problem, akin to the Travelling Salesman problem, which means that the computation becomes very expensive when a build has lots of floating jobs.
Seems like there's an easy solution here. Don't make it a "floating" job. Make it dependent on the thing that the > is after. So it doesn't do anything at all with the queen job until the hatchery is complete.
On October 23 2010 08:23 Haploid wrote: My next stop will be allowing you to specify a startup delay. I'm not sure what would be the most flexible way to write this. It depends on whether you send your probes first, or queue your probe. Personally, I start with the probes, and I assume most people do (mining outranks building). So for me, there is a maybe 2 second delay on startup mining and a 3 second delay on building the first probe. Any suggestions on how to write this down in a build order?
Starting the worker first is typical and recommended by just about everybody, and I'm like 99% sure that's what all of the pros are doing, because a delay on the first worker isn't just a delay on the first worker.
I think you're severely underestimating your response time though. 3 seconds is a *long* time. You're probably quite a bit faster than that.
As for suggestions about how to write in delays, it could be as simple as
delay X > job
Especially if you change > jobs so they're dependent jobs, rather than floating ones.
Hmm. Except that would only work for things that you call out, and you don't call out workers mining.
Meh, I don't think the syntax matters that much though, as long as the instructions say what to do.
Starting the worker first is typical and recommended by just about everybody, and I'm like 99% sure that's what all of the pros are doing, because a delay on the first worker isn't just a delay on the first worker.
For zerg if you go 9 overlord then the the drones you build up to 12 supply are all mineral or supply limited (and if supply limited depend on the overlord timing which is in turn mineral limited) and in practice it's up to 13 supply even if the calculator claims it's larva limited at that point. So all those drones except the first are faster if you mine first, unless mining first delays the first drone 6 times more than it speeds up the mining.
Now, after that point, you will be ahead on larva if you built the worker first and might make up the mineral disadvantage, unless you hit 3 larva before making the 9 overlord. If you hit 3 larva before making the 9 overlord, the larva timer now depends on when that overlord was produced, and not when the first drone was produced. The calculator claims that the overlord will be produced with 4 seconds to spare, but this assumes perfect mining (each new drone going directly to an available patch and also without causing an existing worker returning to the patch from shifting to another, also the larva position relative to the minerals matters). In practice, looking at some replays of Idra (who builds the drone first) I see that he hits 3 larvae before making the overlord most of the time, although sometimes he does build the overlord before then. The delay is small enough that he would probably be making the overlord before the larvae count reached 3 if he mined first, so it's not 100% clearcut without actually doing math that he would be better off mining first, but for less good players like myself who can't direct each drone to the best mineral patch very well, and/or are less good at making that overlord immediately when 100 minerals is reached, the larva is probably going to reach 3 before the overlord anyway, so we should defininitely mine first.
tl;dr - if you are a pro zerg player making a drone first might or might not be a good idea (more research needed). If you are zerg and not pro then mine first (with a 9 overlord build).
Doesn't function, although it is stated this way in the 'How to use'. It only functions if you add the worker's name. It would be nice if you could update this.
On October 23 2010 10:39 Skrag wrote: Seems like there's an easy solution here. Don't make it a "floating" job. Make it dependent on the thing that the > is after. So it doesn't do anything at all with the queen job until the hatchery is complete.
Oh, it already is. When I say "floating" jobs, I mean that it is not pegged to some supply count or resource count. This means that the calculator can continue processing other jobs until this one becomes available. In some cases, this involves a choice.
Consider, for example, this snippet: 14 Drone > Spawning Pool 13 Hatchery Clearly, the 14 Drone will finish very quickly, and the calculator will then have a choice: a) Drone, Spawning Pool, then another Drone, then the Hatchery b) Drone, Hatchery, then Spawning Pool It'll always prefer to build the Hatchery first, because it has a given supply count that is already achieved. So in that sense, the Spawning Pool job is floated to a future time.
In the other example: 14 Spawning Pool > Queen 13 Hatchery In this case, the choice will be: a) Spawning Pool, then Queen, then Hatchery b) Spawning Pool, then Hatchery, then Queen Again, it will build the Hatchery first, because the given supply count for the Hatchery would be exceeded if it starts the Queen first. Again, the Queen job is "floated" until it can fit somewhere in the build order.
On October 23 2010 14:21 Sidus wrote: tl;dr - if you are a pro zerg player making a drone first might or might not be a good idea (more research needed). If you are zerg and not pro then mine first (with a 9 overlord build).
Wow, very thorough analysis. I'm a Protoss player, and I know there's a gap right after I build my 9 Pylon where I have to wait a few seconds to start another Probe. So my thoughts are that if I start mining first, I can minimize that gap a bit.
On October 23 2010 14:27 Perscienter wrote: Line 1 : transfer 3 is not a structure or unit.
Got it. Funny how two question marks in a regular expression can cancel each other out.
Worker can be sent early when building a structure, e.g. 12 Gateway (send @120 minerals) Startup delay for mineral mining, e.g. #Startup mining delay = 3 seconds Startup delay for worker production, e.g. #Startup build delay = 3 seconds
So a more realistic 10/10-gate would be something like:
#Startup mining delay = 2 seconds #Startup build delay = 1 seconds 10 Pylon (send @80 minerals) > Gateway (send @120 minerals) [2] 12 Zealot* [3] 18 Pylon (send @80 minerals) Which only delays the third Zealot by about 2 seconds, not too bad.
Note that if you switch the delays, you'll get that Zealot out one second sooner. Which would seem to indicate that it's better to send your workers first, then produce a new worker.
Halpoid has already instituted a 3 second delay on mining at the start and a 3 second loss of mining time every time you build a structure. That is very consistent with actual game timing. Now if you are a Terran or Toss walling, it might be 2-3 seconds more for the first few structures, but I think it is fine.
At least that is what I suggested and then he said, "Got it." or something to that effect.
This is very interesting. I'm curious would it be possible to give the option of setting a goal and then the program would determine the fastest way to do it. I can only hope .
If not, then it would be nice to add a command for constant worker or unit production. It would allow more abstract builds. Something like this:
10 supply depot 12 barracks & constant marine production; constant scv production @100 mineral supply depot @400 mineral Command center @150 orbital command & stop scv production & stop marine production @150 mineral barracks @150 mineral barracks @150 mineral barracks & constant scv production & constant marine production @100 mineral supply depot @75 mineral refinery > +2 @75 mineral refinery > +2
Edit: I am also curious about the supply triggers. I assume they trigger as soon as you hit the stated supply (if minerals are available). This would mean that if you want to state workers to be created at certain supply to emulate worker production, you would actually have one scv constantly queued as opposed to queuing it just before the previous worker finishes.
Edit2: OK it seems that constant production can be somewhat emulated by doing say barracks > marine [5] but it somehow messes with supply timings. It would be nice if it could show the result until the point where it requires more supply instead of showing only an error. Heh I suppose that it would be asking for too much if you could implement some sort of priority system for commands .
Ok right i want to work out a Terran CC first build. I put in: '10 Supply Depot' '15 Command Center' This wasn't on strict mode also, and i only have 70-ish busy percentage on my CC. How do i find out the way to do a CC first with constant worker production?
On October 23 2010 21:52 XGDragon wrote: Could you also implement the Extractor trick Zergs can do?
In the next version.
On October 23 2010 22:45 Sleight wrote: Halpoid has already instituted a 3 second delay on mining at the start and a 3 second loss of mining time every time you build a structure. That is very consistent with actual game timing. Now if you are a Terran or Toss walling, it might be 2-3 seconds more for the first few structures, but I think it is fine.
At least that is what I suggested and then he said, "Got it." or something to that effect.
Well, not 3 seconds hard-coded. You can manually set the startup delay with the #Startup Mining Delay=3 seconds command, and you can send a worker early when building a structure by writing 12 Barracks (send @120 minerals).
And in actuality, the travel time to a walloff is often much bigger than 3 seconds. More like 6 seconds on Lost Temple.
On October 23 2010 22:59 kme wrote: This is very interesting. I'm curious would it be possible to give the option of setting a goal and then the program would determine the fastest way to do it. I can only hope .
It's an entirely different problem, and I'm not sure how I'd approach it in a way that allows for the whole myriad of units, morphs, upgrades and various dependencies.
On October 23 2010 22:59 kme wrote: Edit: I am also curious about the supply triggers. I assume they trigger as soon as you hit the stated supply (if minerals are available). This would mean that if you want to state workers to be created at certain supply to emulate worker production, you would actually have one scv constantly queued as opposed to queuing it just before the previous worker finishes.
When a unit, structure, upgrade or morph can be produced depends on when: a) enough minerals are available; b) enough gas is available; c) larvae are available (for zerg units); d) supply capacity is sufficient (for units); e) production queue is available (for non-zerg units, upgrades and structure morphs); f) spellcaster energy is available (for abilities); g) prerequisite structures are completed; h) job dependencies are completed (such as 12 Gateway > Zealot. The Zealot job depends on the completion of the 12 Gateway job.). That's part of why an optimizer would be... complex.
I'll think about an option to let you build something constantly (Marines, SCVs); it's not an easy addition, though. Maybe a priority system, like you mentioned. For the mean time, you'll have to add those units to the build order yourself and fiddle with when you can build them.
On October 24 2010 00:19 Perscienter wrote: 14 cybernetics core > warpgate AND stalker
Yes, just write: 14 Cybernetics Core > Warpgate & Stalker It'll start the Warpgate research first, then the Stalker without waiting for the research to complete.
On October 24 2010 03:08 icezar wrote: How do you take drones off gas?
It's in one of the examples: @100 gas take 3 workers off gas
On October 24 2010 06:08 icezar wrote: something is wrong with inject larva, it does not build drones right after that.
Lol, actually, it injected the larvae on the second Hatchery, the one which hadn't finished yet. Should be fixed now.
Thanks for the fast updates but i keep getting errors :-(( 9 Overlord 14 Hatchery 14 Spawning Pool 17 Overlord 18 Extractor > transfer 3 drones 18 Queen 20 Queen > Spawn Larvae 26 Overlord 29 Overlord @100 gas take 3 workers off gas 30 Lair 40 Spawn Larvae 40 Spawn Larvae 41 Overlord 48 Zergling
Well, the larva count looks about right. It's a 42 second gap, and that's long enough for your hatcheries to fill up again.
I'll see what I can do about that delay. In this situation, it doesn't make sense for the calculator to wait until the Queen has finished, since the Spawn Larvae job in no way interferes with the next scheduled job. I can fix this.
In the meantime, you could write: 20 Queen 24 Spawn Larvae 26 Overlord That'll allow drone production to continue.
sorry, another bug, For: 10 Spawning Pool (send @100 minerals) 10 Extractor 10 Overlord 10 Roach Warren 10 put 3 on gas 11 Overlord @58 gas take 1 off gas 11 Roach [7]
9 2:10 3:05 10 / 18 3 Roach Warren 44 0 - not build soon enough there are 44 min left 11 2:11 2:28 9 / 18 2 Drone -2 2 -can i build on credit? :-)
Extractor trick is on the top of my todo-list, but I'm very busy with work today, so expect it probably tonight (European night).
I absolutely love that build optimizer; it's so much fun to watch it do its magic.
On October 25 2010 11:58 Logo2010 wrote: One question, how to you tell it to for example make rax eg. 12 Barracks > Marine then continuously make marines until whatever.
It's not possible in the current syntax yet, but you can do something like that by throwing some marines around in your build order. Right now, it only uses SCV's to fill up any supply gaps in your build order, but maybe I could make it so that it could choose intelligently between building a Marine or an SCV, based on some priority. I'll think about it.
On October 25 2010 16:59 icezar wrote: 9 2:10 3:05 10 / 18 3 Roach Warren 44 0 - not build soon enough there are 44 min left 11 2:11 2:28 9 / 18 2 Drone -2 2 -can i build on credit? :-)
The Roach Warren is delayed because it is waiting for the Spawning Pool to finish, so that's correct. The negative minerals are due to rounding errors in the timing when it compiles the final report. It doesn't actually impact the timing, just the way it's reported. I will fix that.
It's saying it is no longer solvable since it exceeds the supply count (although changing to 15 Overlord works, yet my food is never over 17 then). Doesn't make sense that I can make an overlord at 15 only instead of 16.
Objective of above is to go 14h/14p, getting a queen at main when pool finishes and a queen at second hatch when its complete, having each queen spawn larvae immediately when they are finished.
Edit: Yea, it seems there are lots of issues with supply constraints still. And orders are getting messed up. 9 Overlord 15 Hatchery > Queen > Spawn Larvae 14 Spawning Pool > Queen > Spawn Larvae 15 Overlord 18 Extractor > +3
Yet what comes out is a 14 gas, it stops drone production waiting for pools to finish before making queens (instead of droning to 15 for overlord and making queens when ready)
On October 23 2010 20:02 Haploid wrote: I've added some options to increase realism:
Worker can be sent early when building a structure, e.g. 12 Gateway (send @120 minerals) Startup delay for mineral mining, e.g. #Startup mining delay = 3 seconds Startup delay for worker production, e.g. #Startup build delay = 3 seconds
So a more realistic 10/10-gate would be something like:
#Startup mining delay = 2 seconds #Startup build delay = 1 seconds 10 Pylon (send @80 minerals) > Gateway (send @120 minerals) [2] 12 Zealot* [3] 18 Pylon (send @80 minerals) Which only delays the third Zealot by about 2 seconds, not too bad.
Note that if you switch the delays, you'll get that Zealot out one second sooner. Which would seem to indicate that it's better to send your workers first, then produce a new worker.
If you have a full second's worth of delay between building and sending, then yes, that would be true.
But if you're that slow with the very first two actions you have to do in every game, you're spending thought trying to optimize when the fact of the matter is that you should just click faster.
Fantastic work. It is fun to see what sort of wacky builds you can pull off with this. A few gripes though.
As said above, the negative minerals is a little odd. As well, whoever suggested that the limiting factor be highlighted in red is a genius, thats a great idea.
My only last thing is that the system is a little annoying to use with full word syntax, I find I am constantly going back to the examples to see what I am missing. I think you should make a shorthand syntax that is recognized as well to make constructing builds easier.
I too think there's a problem with the spawn larva ability getting ignored.
Here are two examples of masslings BO that I sometimes use in teamgames. One is queen first, other one is 6lings first (vs Z+X, these lings will spawn at the 2:30 mark just in time to stop a 6pool)
10 Pool (Queen first) --------------------- 10 Spawning Pool 10 Overlord 10 Overlord 10 Queen > Spawn Larvae 12 Zergling [14]
While the Spawn Larvae does show up, adding or removing "> Spawn Larvae" doesn't change the timings whatsoever. I got 3 larvaes available, but the timer still waits as if there were only one.
This is pretty cool, thanks for making this. I was just wondering if it's possible for you to make a similar tool which lets you just input your build order without specifying the supply count? So basically it is set to constantly produce probes and we can just input our build order and it will tell us at what time it would be possible to build that unit/structure.
Assuming a constant rate of worker production, we wouldn't need to specify when to build a depot/overlord/pylon since it could calculate for us that for example that at 10 supply, a Terran must build a supply depot so he doesn't get blocked since it takes 30secs to build one.
So in the builder I would just put: Barracks Refinery Marine
...and the builder would say OK, well by the time you want to build the barracks, you will have had time to build 12 SCVs, so you will need to have built a depot at 10, so it will adjust the build order to: Supply Depot (time or supply at which this is buildable) Barracks (time or supply at which this is buildable) Refinery (time or supply at which this is buildable) Marine (time or supply at which this is buildable)
Then I could add a Factory to the build and it would just put the earliest time I could do that based on the current resource collection rate. This is probably a lot more complicated than I think...
Nevertheless your work is greatly appreciated. Thanks.
The reason in the last example is that you are not using Strict Mode, which uses your exact specification. But in "normal" mode, the Tool actually switches your stuff around, to optimize when you have enough minirals/gas to build someting higher up in your BO. This sometimes will give you an idea off how to optimize your build even more, but most of the time, it will actually slow it down, as you are saving up mins/gas for a reason.
Nevertheless your work is greatly appreciated. Thanks.
The reason in the last example is that you are not using Strict Mode, which uses your exact specification. But in "normal" mode, the Tool actually switches your stuff around, to optimize when you have enough minirals/gas to build someting higher up in your BO. This sometimes will give you an idea off how to optimize your build even more, but most of the time, it will actually slow it down, as you are saving up mins/gas for a reason.
Actually build order rearranging isn't bothering me at all. Problem is, there are minerals and larvaes available but Drones are not spawned. There should be lots of droning going on
On October 26 2010 00:16 Bitters wrote: Yet what comes out is a 14 gas, it stops drone production waiting for pools to finish before making queens (instead of droning to 15 for overlord and making queens when ready)
This one is a little tricky to explain, but bear with me. The calculator tries to pick up the jobs in the order in which they appear. In this case, that means it'll want to schedule the Queens before it starts to schedule the Overlord. And obviously, when both Queens are already scheduled, it can no longer meet the 15 supply count trigger for the Overlord.
This mechanism works great for jobs like scouting and probe transfers, which is what I intended the ">" operator to be used for. And it mostly works well for other stuff, but not always as you'd intend. I'll see what I can do to make the > operator more natural for building units, or if I can't think of a good way to schedule those jobs, I'll just disallow it and restrict the > operator to probe transfer jobs.
On October 26 2010 02:46 icezar wrote: Can you please color with red the resource causing the delay?
It's not always a resource causing the delay, but for as far as it is, as a rule of thumb it's usually the resource that is 0. I'll see what I can do.
On October 26 2010 23:43 Phrencys wrote: I too think there's a problem with the spawn larva ability getting ignored.
While the Spawn Larvae does show up, adding or removing "> Spawn Larvae" doesn't change the timings whatsoever. I got 3 larvaes available, but the timer still waits as if there were only one.
Ok, I fixed that. Good examples.
On October 27 2010 20:44 RationalGaze wrote: This is pretty cool, thanks for making this. I was just wondering if it's possible for you to make a similar tool which lets you just input your build order without specifying the supply count? So basically it is set to constantly produce probes and we can just input our build order and it will tell us at what time it would be possible to build that unit/structure.
Then I could add a Factory to the build and it would just put the earliest time I could do that based on the current resource collection rate. This is probably a lot more complicated than I think...
It really is. Just one example I can throw at you is: as a Protoss, when you build a constant stream of Probes, and you want to build a Pylon at 9 supply, you'll have to delay probe production for a few seconds. Otherwise, you won't be able to build the Pylon at 10, and you'll have an even longer delay as you wait for the Pylon to finish.
People are going to want their Pylon at 9, so you'll need a way of saying: the Pylon has priority over constant Probe production, but not so much priority that it'll build the Pylon at 6 supply. It's tricky.
On October 28 2010 17:34 tidesonar02 wrote: 10 Spawning Pool > Zergling 9 Overlord 11 Drone 16 Extractor More drones should be spawned
On October 29 2010 02:14 Bitters wrote: producing hatcheries not spawning larvae error?
Lazy hatcheries. The Queens were probably on strike. I sacked the scorpion thing that lives inside the hatchery and installed new management to remedy this situation.
New version includes commands for the extractor trick: 10 Extractor Trick 10 Double Extractor Trick
Fantastic job Haploid, I've been wasting way too much time playing around with your app lately.
If I had only one request, it would be to be able to generate a BO that has errors at least up to the point at which it fails. For example, when it tells "Not enough supply for Probe" and doesn't generate any build order, it's hard to figure which line is in problem and where you need to add that pylon to fix it.
It's far from unmanageable, but it would be a nice to have.
Keep up the good work man!
Edit: Oh and a nice feature that was mentioned previously would be a way to tell a building to constantly build something until told otherwise.
Ex:
00 SCV++ 00 Barracks > Tech Lab to Barracks > Marauder++ 00 Barracks > Reactor on Barracks > Marine++
This way you could put buildings on autopilot and just plug in additional facilities / supplies where needed. That would make it much more easier to answer questions like "when can I make my Robotics Facility if I want to constantly build Stalkers from 1 gate?".
thanks for all the fixes, the site is very useful. Can you please make a way so the queens will auto inject? currently i loose a lot of time trying to find when it should inject. I did try Queen > spawn larvae > spawn larvae > spawn larvae .... but that does not work well at all :-(
2) When on more then 1 base all the injects stack up on to one Hatchery, resulting in a small loss of larvae that whould come from the hatches automaticly.
P.S. Queen > Spawn Larvae > Spawn Larvae > Spawn Larvae > Spawn Larvae > Spawn Larvae ... Works on 1 and 2 base ( have not tested more) with the bugs I reporeted in my post.
Great calculator! I have couple questions/comments: 1. Would it be possible to add energy as trigger? for example @25 energy spawn larvae 2. Can you transfer queen from base to base? for example, 18 Queen > transfer queen - it seems that second base will never get spawn larvas. 3. Would it be possible to add drone/worker count?
Given that I'm constantly producing Probes, it should be possible to calculate when the other buildings will/can go down.
Other features that would be cool:
Being able to save a build/timing and then input another build, so you can easily compare two builds.
Have a checkmark that will highlight whenever your Nexus is not producing probes in the timings table.
A little checkbox that (if enabled) will automatically adjust all following numbers if I change something at the start. For instance if I have this somewhere in my build:
I believe that this thing should be able to do extractor tricks for things other than a Drone - Say roach. Also, adding a worker on gas that has been built already. Here's what I'm trying to accomplish.
10 Spawning Pool 10 Double Extractor Trick 12 Extractor > +2 11 Overlord 12 Roach Warren 11 Roach[3] 17 Extractor Trick for Roach, Move worker to already active extractor. 19 Overlord 19 Roach[3]
This has improved so much that i got another error :-))
"Supply count has risen to greater than 99."
I do want to build more that 99 supply :-D
Also this strange one: Fatal error: Maximum execution time of 1 second exceeded in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/income.php on line 50
Edit: and a larva problem: 10 spawning Pool 10 Overlord 13 Extractor > put 3 on gas 12 Roach Warren 11 Overlord 11 Roach [6] 23 put 1 on minerals 23 Roach [1]
at 16 3:09 3:36 15 / 26 0 Roach 0 14 17 3:22 3:49 17 / 26 0 Roach 0 14 larva pops after only 13 sec. there is no queen no extra hatch in this build.
The link provided in "Copy link to this build to share with friends." seems to toggle strict mode. Specially, &strictMode in the URL actually turns strict mode off and not on.
Fatal error: Call to undefined method IncomeSlots::mineralTiming() in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/update.php on line 182
Your site is awesome, thanks again for sharing this! If there was only one aspect I could see improved, it's the queuing behavior.
I might be misinterpreting the scope of your application, but right now, I like to use it by giving it as broad parameters as possible hoping to have it sort stuff out for me, then I take the actual BO from the timers grid.
Here are examples of what I would like to be able to do: 1) 12 Barracks > Tech Lab on Barracks > Stimpack & Marine Right now it queues the marine only after Stimpack is done (working from memory here, can't verify because the tool is currently not working). What I'd like it to do is instead of hanging the build until Stimpack is started or done, make it start the research and marine production as soon as resources permit.
2a) 12 Barracks > Tech Lab on Barracks > Marauder[+] > @100 min/100gas Stimpack This could be the syntax used to queue a Tech Lab then a constant queue of Marauders from this barracks once it finishes. Also, it could research stims as soon as it has 100/100 available.
2b) 12 Barracks > Marine[+] > Factory > Reactor on Barracks > Swap Reactor on Barracks to Factory > Hellions[+] This is getting more complicated, but I think you get the idea.
3) 16 Queen > Spawn Larvae[+] This one could be a way to dedicate this queen to inject on cooldown when it spawns.
4) A way to toggle when you want the application to prioritize probes. Obviously mutually exclusive with the Strict Mode option. Would be cool to see it in a command line so you could specify an interval of supply where you want to make sure to not miss any probe. So if you make Probe[10-30] the application makes sure to manage supply / minerals to force making probes every 17sec until you reach 30 supply.
Those would certainly be nice to have, although it's not a big deal to manually time each doing trial and error. I guess having this kind of tool just make me even more lazy.
Thanks one more time for your work, and I hope you get the site working soon as I do have BOs to optimize!
Yes, I agree with jdelator, I get the same error :
Fatal error: Call to undefined method IncomeSlots::mineralTiming() in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/update.php on line 182
I have to say your Idea for this page is quite brilliant! Thanks!
Fatal error: Call to undefined method IncomeSlots::mineralTiming() in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/update.php on line 182
Oops, I accidentally changed the live version, instead of the development version. Fixed that now, and the larva error message as well.
I'm working on a new version of the scheduler that is better at fitting in recurring jobs, such as 12 Barracks > Marine[7]. It shouldn't be more than a day or two until I've completed it, and another day or so to run some test build orders and figure out what I may have overlooked. I'll definitely try the build orders that you guys have posted so far, since a lot of them contain elements that are easy to overlook otherwise.
icezar, I'll test your build orders on the new scheduler, and I'll get back to you with the results.
On November 01 2010 03:15 Tsabo wrote: There seems to be several errors with the Inject logic.
I know, and most of those have to do with the old scheduler, which would attempt to push jobs as far back in the past as they can be. I'll check in the new version if it does those things you reported right now.
On November 01 2010 05:29 kunnis wrote: Hi there!
Great calculator! I have couple questions/comments: 1. Would it be possible to add energy as trigger? for example @25 energy spawn larvae 2. Can you transfer queen from base to base? for example, 18 Queen > transfer queen - it seems that second base will never get spawn larvas. 3. Would it be possible to add drone/worker count?
Many thanks for the current version!
1. I'll think about it. This is actually very similar to just writing: 15 Queen > Spawn Larvae. That will actually schedule the Spawn Larvae job as soon as possible, which is right when you hit 25 energy. 2. As it is now (ignoring bugs), it will vomit on whichever Hatchery has no vomit on it already, and the calculator ignores travel times between Hatcheries for everything except a direct probe transfer. I'm not sure that I want to open this hornet's nest quite yet. 3. Yeah, I'm sure I can do that.
On November 01 2010 22:25 shingbi wrote: Another vote for a way to constantly produce units from a structure. I'd prefer syntax like: 8 constant Probe 13 Gateway > constant Zealot
Being able to save a build/timing and then input another build, so you can easily compare two builds.
Have a checkmark that will highlight whenever your Nexus is not producing probes in the timings table.
A little checkbox that (if enabled) will automatically adjust all following numbers if I change something at the start. For instance if I have this somewhere in my build:
Constant unit production is part of the new scheduler, so just wait a bit for that. Saving build timings, I'm sure I can do that, but it's not high on the todo-list yet. Notification whenever a probe is not produced directly after the last probe, shouldn't be too hard.
And finally, some logic in javascript that updates the supply count automatically when you change the supply count of a preceeding job; I don't think I'll go there any time soon. The javascript would need to be able to parse the build order, and it requires quite a bit of code to do just that. Some sort of smart editor that does syntax highlighting, spellchecking, and such, is at the very bottom of my want-list, mostly because it is a LOT of work.
On November 02 2010 07:27 Amadi wrote: I believe that this thing should be able to do extractor tricks for things other than a Drone - Say roach. Also, adding a worker on gas that has been built already. Here's what I'm trying to accomplish.
Good point, I'll add that to the todo-list.
On November 04 2010 07:15 ShadowDrgn wrote: The link provided in "Copy link to this build to share with friends." seems to toggle strict mode. Specially, &strictMode in the URL actually turns strict mode off and not on.
Hehe, that's just silly. Strict mode is obsolete in the next version of the scheduler.
On November 05 2010 07:42 Ema wrote: Love the work! Can I ask what the backend of your site looks like? (I'm wondering if it's all in PHP =) )
Yes, all in PHP5, and I like object-oriented programming, so the project consists almost entirely of classes.
On November 05 2010 05:07 Phrencys wrote: Your site is awesome, thanks again for sharing this! If there was only one aspect I could see improved, it's the queuing behavior.
I might be misinterpreting the scope of your application, but right now, I like to use it by giving it as broad parameters as possible hoping to have it sort stuff out for me, then I take the actual BO from the timers grid.
I believe the new scheduler should handle all your examples in a manner that one would expect. It is not my intention to have the calculator find the optimal order of the jobs in a build order, merely to follow the order that the user has layed out. However, in some human-readable build orders, such as: 10 Supply Depot 12 Barracks > Marine [5] 14 Refinery There are clearly choices to be made as to when it will schedule the Marines. Definitely not before the Refinery, because that can be started before the Barracks is even finished. The logic of where it should place the Marines in the build order is somewhat complex, and I'll post it when I've finished the new scheduler.
On November 05 2010 05:07 Phrencys wrote: Your site is awesome, thanks again for sharing this! If there was only one aspect I could see improved, it's the queuing behavior.
I might be misinterpreting the scope of your application, but right now, I like to use it by giving it as broad parameters as possible hoping to have it sort stuff out for me, then I take the actual BO from the timers grid.
I believe the new scheduler should handle all your examples in a manner that one would expect. It is not my intention to have the calculator find the optimal order of the jobs in a build order, merely to follow the order that the user has layed out. However, in some human-readable build orders, such as: 10 Supply Depot 12 Barracks > Marine [5] 14 Refinery There are clearly choices to be made as to when it will schedule the Marines. Definitely not before the Refinery, because that can be started before the Barracks is even finished. The logic of where it should place the Marines in the build order is somewhat complex, and I'll post it when I've finished the new scheduler.
What I mean is that if you submit the above BO, the scheduler will stop making SCVs once the barracks starts, and until its done making the 5 marines, meaning that you have to manually stick SCVs in the BO to have them made while there is more than enough supply and minerals to make them, which is rather cumbersome considering they build every 17seconds.
The intuition I get when I type 12 Barracks > Marine[5] is that it should continue making SCVs up to 14 Refinery, and then alternate SCVs/Marines once the Barracks is done as long as resources/supply allow it.
Basically, I would expect it to have a similar behavior to: 10 Supply Depot 12 Barracks 14 Refinery 15 Marine 16 Supply Depot 18 Marine 20 Marine (etc)
I think what I'm trying to say is that there could be a way to make it consider queues as a separate/parallel branch or something that is merged with the main trunk as it progresses. That way you could make something like "12 Barracks > Marine[2] > Reactor on Barracks > Marine[20]" to be integrated into the main BO while you keep working on your refinery, scvs, orbital command, etc. The problem lies in merging all those branches correctly and I understand it could be quite tricky. Like I said: the better you tool becomes, the lazier I get.
Wow, this is really useful. This actually may help me get my dark templar push running earlier than before (program says DTs warping in at 6:58, when usually I get them around 7:50. Shaving that extra minute off my time could really help with the standard terran 3rax. Here is the what I wrote if you want to check it out:
On November 05 2010 22:43 57 Corvette wrote: Wow, this is really useful. This actually may help me get my dark templar push running earlier than before (program says DTs warping in at 6:58, when usually I get them around 7:50. Shaving that extra minute off my time could really help with the standard terran 3rax. Here is the what I wrote if you want to check it out: + Show Spoiler +
On November 05 2010 22:43 57 Corvette wrote: Wow, this is really useful. This actually may help me get my dark templar push running earlier than before (program says DTs warping in at 6:58, when usually I get them around 7:50. Shaving that extra minute off my time could really help with the standard terran 3rax. Here is the what I wrote if you want to check it out: + Show Spoiler +
You can save another 20sec by swapping the last gateway with the Dark Shrine and then making the DTs at 30 supply, FYI.
Thas true, but i have to remember that this is all theoretical, and requires perfect timing throughout the entire game. It also leaves me pretty open to early marauder agression because I skip the sentry for faster DS
Edit: Anyways, thanks for this. I am going to plott out some of the other builds I know well and see how I can improve them.
I think your extractor tricks are not fully correct:
For the double extractor trick to work you need at least 150 minerals (2 x 50 for the drones and 2 x 25 for the extractors). Of course you get 2 x 19 minerals back after canceling the extractors, but none the less you need 150 minerals to start (and 2 larvas of course )
You will see with my build attached, that it doesn't check for the 150 minerals:
Fatal error: Call to undefined method IncomeSlots::mineralTiming() in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/update.php on line 182
On November 05 2010 22:21 Phrencys wrote: What I mean is that if you submit the above BO, the scheduler will stop making SCVs once the barracks starts, and until its done making the 5 marines, meaning that you have to manually stick SCVs in the BO to have them made while there is more than enough supply and minerals to make them, which is rather cumbersome considering they build every 17seconds.
I think what I'm trying to say is that there could be a way to make it consider queues as a separate/parallel branch or something that is merged with the main trunk as it progresses. That way you could make something like "12 Barracks > Marine[2] > Reactor on Barracks > Marine[20]" to be integrated into the main BO while you keep working on your refinery, scvs, orbital command, etc. The problem lies in merging all those branches correctly and I understand it could be quite tricky. Like I said: the better you tool becomes, the lazier I get.
Yeah, I get what you're saying. Still, we don't to get too lazy. The new version of the scheduler does consider multiple parallel paths, although it'll probably be a while until I get the prioritization of the paths right. I'm currently trying out different build orders to see if the order it picks seems like what a human would read into it.
I don't like that notation "12 Barracks > Marine[2] > Reactor on Barracks > Marine[20]" at all, because it is very difficult for a human to quickly see what it means and how it flows into the rest of the build order. Consider: 12 Barracks > Marine[2] > Reactor on Barracks > Marine[20] 14 Refinery > transfer 3 probes 18 Factory > Tech Lab on Factory .... It's very hard for a human to see how many marines go before the Tech Lab on the Factory. I think a build order should be, as much as possible, written in the order in which you do things.
On November 05 2010 23:33 57 Corvette wrote: Edit2: I don't know if it is just me, but when i try to make the thing use this code, it doesn't give me an error, but it doesn't create my build order.
It should, and it will in the next version.
On November 06 2010 01:42 Lisky wrote: For the double extractor trick to work you need at least 150 minerals (2 x 50 for the drones and 2 x 25 for the extractors). Of course you get 2 x 19 minerals back after canceling the extractors, but none the less you need 150 minerals to start (and 2 larvas of course )
Got it, both problems will be fixed in the next version.
On November 06 2010 06:21 shingbi wrote: I'm still getting "Call to undefined method IncomeSlots::mineralTiming()"...
Oh, and I'm a programmer... so if you need any help, I'd be happy to chip in.
Yeah, sorry, my IDE (Netbeans) gets confused when there are two versions of the same class in the same project, the development version and the live version. Sometimes I click something and it takes me to the wrong version, and I end up altering the live version by mistake. Thank god for subversion.
Version 0.4 New scheduler algorithm Recurring jobs, e.g. 6 Drone [auto] Results now show times larva are generated Added MULE, Extra Supplies & Scanner Sweep abilities Fixed: Spawn Larvae could be queued multiple times on the same hatchery (thanks to Tsabo) Fixed: No error was displayed when trying to morph a Warpgate without having an unmorphed Gateway (thanks to Corvette) Fixed: Double extractor trick cost was 75 minerals (thanks to Lisky) Fixed: Extractor trick didn't refund minerals (thanks to Lisky) Regression: Workers are not sent early when this is specified, e.g. 12 Gateway (send @120 minerals) .. and probably some features I forgot to mention.
On November 08 2010 00:35 icezar wrote: it is another bug now :-) for Queen > spawn larvae > spawn larvae or Queen > spawn larvae [auto] i get
No spellcaster of type Queen has enough energy.
You mean specifically: 6 Spawning Pool 6 Queen > Spawn larvae > Spawn larvae Cause that works fine for me. I'd have to see the rest of the build order to get to the bottom of it.
Trying to research any tech that has a dash ( '-' ) in the name is getting the Unknown Command error. At least I assume it is any tech with a dash in the name - I have only tried with Hi-Sec Auto Tracking and Infernal Pre-Igniter.
The @mineral function acts a bit strangely when using it in conjunction with the [#] option to produce multiple units/facilities. For example, the line:
@100 mineral marine [2]
produces the following following timings:
time supply name m g e 4:25 4:50 26 / 35 Marine 50 35 14 4:29 4:54 27 / 35 Marine 50 42 16
Essentially the calculator is waiting for 100 minerals to build the first marine, then waiting for 100 minerals again before building the second. I did find a workaround but I figured it was worth mentioning in case it was undesired behavior.
The workaround is to use the & option to build the additional units. For example:
On November 08 2010 05:36 Intolerant wrote: Trying to research any tech that has a dash ( '-' ) in the name is getting the Unknown Command error. At least I assume it is any tech with a dash in the name - I have only tried with Hi-Sec Auto Tracking and Infernal Pre-Igniter.
Aye, silliest thing. It should now parse commands with a dash correctly.
On November 08 2010 11:25 Intolerant wrote: The @mineral function acts a bit strangely when using it in conjunction with the [#] option to produce multiple units/facilities.
Yeah, I think that qualifies as undesired behaviours, because no human would interpret the build order that way. I fixed it.
On November 08 2010 09:22 Keysersoze wrote: I'm getting the "No spellcaster of type Queen has enough energy." error also .
Fixed that also. It was a rounding error, where the Queen would have 24.99999... energy in some cases and just over 25 in other cases.
Wow, that was fast! Thanks for the timely response, and I must say that holy crap this is a cool little app. I've wasted way too much time on it in the last two weeks - last week it almost interfered with me completing my midterms in time. Keep up the good work man, you are awesome.
I'm loving the [auto] tag, but it's behavior is a little unpredictable. Would it be possible to add some sort of priority system? For example, if I use:
# marauder [auto:1] # marine [auto:2]
Then marauders would be prioritized over marines. I don't know how hard this would be to implement at your end but it would be very cool.
#Startup mining delay = 4 seconds 10 Supply Depot 12 Barracks 13 Refinery > put 3 on gas (2 seconds) 15 Orbital Command > Calldown: MULE [auto] 15 Barracks 15 Tech Lab on Barracks 15 Supply Depot 16 Marauder [auto] 19 Refinery > put 3 on gas (2 seconds) 20 Reactor on Barracks 23 Concussive Shells > Stimpack 23 Supply Depot 27 Marine [auto] 28 Marine [auto] 31 Supply Depot 35 Factory > Reactor on Factory 39 Supply Depot 43 Starport 47 Supply Depot 53 Swap Reactor on Factory to Starport 53 Medivac [auto] 55 Medivac [auto]
I don't think I'm using [auto] correctly... I want to constantly produce Marauders from the Tech Lab Barracks and Marines from the Reactor Barracks, but it isn't working in that fashion.
Also, a bug where somehow I don't have constant Mule usage from 6:06-6:22? Not sure how that could be the case. Also, I don't know how to cut SCV production, which this build does at 31.
Same problem with the mule. Also, this will produce 3 marines at the same time, when there's only one reactor barracks that's supposed to be producing marines.
I fixed the problem where the MULE wasn't scheduled as often as it could be. Thanks to a bunch of you for reporting this.
On November 11 2010 00:14 Nolari wrote: There currently is no way to build a Nydus Worm (100m 100g 20sec) from a Nydus Network (150m 200g 50sec), is there?
There is now. I completely forgot about the worms.
On November 11 2010 01:54 FaZ- wrote: I don't think I'm using [auto] correctly... I want to constantly produce Marauders from the Tech Lab Barracks and Marines from the Reactor Barracks, but it isn't working in that fashion.
Yeah, no, that's not what I had in mind when I added the [auto] suffix. As it is now, it really just builds Marines from whichever structure will build them, not specifically the Barracks without the Tech Lab. I'll consider a good way to handle that.
There are a few options on the table: 1) Allow the user to tag a structure, and then refer back to that tag when building units. For example: 12 Barracks #1 > Marine [auto] from #1 It's not too hard to implement, and it reads reasonably inituitively. It gets much harder when you consider addons and swapping: 14 Barracks #2 > Tech Lab on Barracks #2 17 Factory > Reactor on Factory > Swap Reactor on Factory with Tech Lab on Barracks #2 Ugh.
2) Allow the user to prioritize [auto] jobs. For example: 12 Barracks > Marine [auto:2] 14 Barracks > Tech Lab on Barracks > Marauder [auto:1] Where the :1 indicates a higher priority than :2. It's messy, and it doesn't read very easily. Not to mention, it doesn't allow you to build Marines only from the Barracks without the Reactor.
3) Scrap the [auto] suffix. Obviously, the easiest option to implement, and it has the bonus of forcing the user to write down what units to build when. I kind of prefer this anyway. This calculator isn't intended as an optimizer. It just tells you the time stuff gets built.
I personally do appreciate the [auto] tag and would be sorry to see it go. I know you like to take the "reader's" perspective a lot, and you have to admit that "Make this barracks, add a tech lab then pump marauders from it as resources / supply permit" can be very helpful.
I have to confess that I DO probably use it in a way it's not exactly intended to:
step 1.... put the basic supply stuff (ex: supply depot @10,16,22,30,....) step 2.... basic opening (ex: 12 barracks, 13 refinery > +3, 15 orbital command) step 3.... check the mineral/gas column, and do my best to spend everything while going for a specific goal. (ex: fit in as many MM as I can for a stim timing push while constantly pumping scvs)
So if for example I do barracks>marine>marine>reactor>marine[auto] then hit the "Go" button, I know that my cc and barracks should more or less be at 100% uptime unless I messed up the supply timing, meaning that when I do get a 150 extra mineral I can go ahead and add another barracks.
Also, one thing for making zerg BOs is to have another tab containing a terran BO for only making SCVS up to X supply. Then I have something to rely on while trying to get a zerg army up without tanking my economy lacking too many drones.
So in this regard, I would certainly be ideal for me to be able to force units out of a specific building.
9 Supply Depot 12 barracks > Supply Depot 14 supply depot 14 Refinery > put 3 on gas 15 Orbital Command > Calldown: MULE [auto] 15 Refinery > put 3 on gas 17 ghost academy > personal cloaking > tactical nuke 18 factory 20 Tech Lab on factory @100 gas Siege Tech @125 gas Siege Tank > Siege Tank @125 minerals engineering bay 29 command center
now theres no need for that 14 supply depot because im changing things around but try deleting it, gives u an error message i don't know why, the thing adds supply depots for you when you need them
please don't waste post space by criticizing the build order, i know its horrible, its not finished yet
i just want to be able to make a build order without that 14 supply depot, and its not letting me
also, there seems to be no way to disable the automatic building of supply depots at certain numbers of supply (15 for example) it would be nice to disable this
has anyone here had experience with this program and overcome either of these problems?
this doesnt work either and the first 3 lines are taken from one of your examples 10 Supply Depot 12 Barracks 14 Refinery > put 3 on gas 15 Orbital Command > Calldown: MULE [auto] 15 Refinery > put 3 on gas 17 ghost academy > personal cloaking > tactical nuke 18 factory 20 Tech Lab on factory @100 gas Siege Tech @125 gas Siege Tank > Siege Tank @125 minerals engineering bay 29 command center
I believe if you had a little more functionality and better interface you could make a pretty good wave with this and maybe even get some donation money.
Along the lines of interface having clickable icons/buildings that will auto insert the text, working things like chronoboost to be a little less finicky, and having some form of updated resource count that is easily viewable after each addition(building/unit).
On November 12 2010 15:20 suckit987 wrote: try plugging this in
9 Supply Depot 12 barracks > Supply Depot 14 supply depot 14 Refinery > put 3 on gas 15 Orbital Command > Calldown: MULE [auto] 15 Refinery > put 3 on gas 17 ghost academy > personal cloaking > tactical nuke 18 factory 20 Tech Lab on factory @100 gas Siege Tech @125 gas Siege Tank > Siege Tank @125 minerals engineering bay 29 command center
now theres no need for that 14 supply depot because im changing things around but try deleting it, gives u an error message i don't know why, the thing adds supply depots for you when you need them
please don't waste post space by criticizing the build order, i know its horrible, its not finished yet
i just want to be able to make a build order without that 14 supply depot, and its not letting me
also, there seems to be no way to disable the automatic building of supply depots at certain numbers of supply (15 for example) it would be nice to disable this
has anyone here had experience with this program and overcome either of these problems?
f you only have 2 Supply Depot that gives you only 27 Supply so you need at least a second Supply Depot somewhere before you can get a CC on 29
On November 12 2010 04:54 Phrencys wrote: I personally do appreciate the [auto] tag and would be sorry to see it go. I know you like to take the "reader's" perspective a lot, and you have to admit that "Make this barracks, add a tech lab then pump marauders from it as resources / supply permit" can be very helpful.
I can see how that works for Terran. I'll try to implement the option to give buildings a tag, so you can refer back to them. Something like: 12 Barracks #1 > Reactor on Barracks #1 > Marine [auto] from #1 Not ideal, but we'll see where it goes.
On November 12 2010 15:20 suckit987 wrote: now theres no need for that 14 supply depot because im changing things around but try deleting it, gives u an error message i don't know why, the thing adds supply depots for you when you need them
Like Lelden said, you do actually need that supply depot. I don't know why you think the calculator automatically adds supply depots to the build order, but it really doesn't. It adds nothing except workers.
On November 12 2010 16:19 Agh wrote: I believe if you had a little more functionality and better interface you could make a pretty good wave with this and maybe even get some donation money.
Along the lines of interface having clickable icons/buildings that will auto insert the text, working things like chronoboost to be a little less finicky, and having some form of updated resource count that is easily viewable after each addition(building/unit).
The goal here is two-fold: 1) define a proper syntax for build orders, that can be easily understood by a player and that can be easily copy-pasted to share with friends or ask for opinions; 2) calculate the timing of a build order, so you can see where the gaps fall and how it'll (theoretically) look.
I'm not a big fan of graphical interfaces and I think build orders are pretty easy to type in. Probably easier than dragging/dropping/clicking through long lists of buildables.
And finally, I'm not in it for money, just for experience and fun. People have asked me if I'd consider making an iPhone app from it. I've done the math, and I don't think it'll be worth my effort to do this for financial gain. I'd much rather do it just to contribute something.
On November 13 2010 00:54 Lelden wrote: f you only have 2 Supply Depot that gives you only 27 Supply so you need at least a second Supply Depot somewhere before you can get a CC on 29
Yeah, that was the why. But the calculator should've given that as an error, instead of simply timing out, so I fixed that.
On November 13 2010 07:32 FaZ- wrote: The mule bug still exists...
Ah, different MULE bug, same symptoms. It's been squashed now.
I added the option to tag a production queue, so you can train units specifically from that production queue. For example: 12 Barracks #1 14 Reactor on Barracks #1 17 Marine from #1 [auto] You get the picture. You can use any alphanumeric word to tag a production queue, so this will also work: 12 Barracks #bobette 14 Reactor on Barracks #bobette 17 Marine from #bobette [auto]
Also, if you put a recurring unit-training job on the same line after a structure that could build those units, the calculator will automatically dedicate that structure to building those units. For example: 12 Barracks > Reactor on Barracks > Marine [auto] The Reactor will be built on that specific Barracks, and the Marines from that Barracks also.
Don't try to use tags when swapping addons yet, cause it doesn't do anything yet.
Update: tags do now work well with swapped addons. Basically, the structures keep the same tag after you swap addons.
Also, spellcasters can be tagged, and dito hatcheries can be tagged.
One thing that would look great to me is to see what units and upgrades you have by the end of a build order. I generally know what I am trying to aim for but as I am working on a build order its nice to see at a glance what I squeezed out of it instead of having to look for each unit, and then subtract that supply to figure out how many probes I made. Not a programmer myself so I don't know how hard that would be to code . . .
This is such an awesome web tool. I second what Lelden mentioned above, it would be very useful to see the total # of each unit type that would be produced at the end of the build order (as well as upgrades).
Is there a way to add in a delay for build times for buildings (time it takes for worker to move to building location)? I only see delays that can be added for moving workers to gas and expansions.
good job on this, I only have four requests 1. something like "@ 400 minerals > command center" 2. a complete lists of units and upgrades at build order end 3. a gas steal command, that allows you to factor in stealing gas with out screwing up actual gas gain in your own base 4. a gold mineral option ie, command center [gold] to factor in getting a gold mineral expansion
I think I may have found a bug, more then 3 orbital commands or more than 3 barracks (not sure if the reactors have something to do with it) produces an error
Fatal error: Maximum execution time of 1 second exceeded in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/spellcaster.php on line 171 for more than 2 oc and Fatal error: Maximum execution time of 1 second exceeded in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/income.php on line 162 for more than 2 rax
I know this is not really meant for such long or complex build orders but I saw a 3 fast expand build and wanted to see if i could incorporate it, there are also a few 4 or 5 fast rax builds that would be nice to see
also there appears to be a problem auto ing multiple structures ie
command center > orbital command > calldown:mule [auto] > scv [auto], autos the mule and scv production but the first command center wont make its own scv's
On November 16 2010 07:03 Lelden wrote: One thing that would look great to me is to see what units and upgrades you have by the end of a build order.
Sure, I can do that. Right now, it doesn't keep track of how many units or upgrades you build, except Queens. But it's easy enough to implement.
On November 18 2010 05:13 icezar wrote: I would also like to have a total min gas mined by the end of the build.
Ok, done that.
On November 18 2010 11:42 bruteMax wrote: Is there a way to add in a delay for build times for buildings (time it takes for worker to move to building location)? I only see delays that can be added for moving workers to gas and expansions.
Yeah, there is. It is listed in the single-line examples. You can just write something like: 12 Gateway (send @120 minerals)
On November 20 2010 05:00 dakenho wrote: good job on this, I only have four requests 1. something like "@ 400 minerals > command center" 2. a complete lists of units and upgrades at build order end 3. a gas steal command, that allows you to factor in stealing gas with out screwing up actual gas gain in your own base 4. a gold mineral option ie, command center [gold] to factor in getting a gold mineral expansion
1) That's already possible, just write: @400 minerals Command Center 3) I'll add the gas steal command. Good one. 4) I'm doing some experiments to verify the assumptions about mining rates and distance to mineral patches. I'll add a gold base option when I've finished that.
On November 20 2010 06:27 dakenho wrote: I think I may have found a bug, more then 3 orbital commands or more than 3 barracks (not sure if the reactors have something to do with it) produces an error
Fatal error: Maximum execution time of 1 second exceeded in
command center > orbital command > calldown:mule [auto] > scv [auto], autos the mule and scv production but the first command center wont make its own scv's
The first one is not really a bug, just a sort of protection against eating up too much processor time. One second is a fairly long time, and plenty to handle build orders of about 50 jobs. After that, it's not really a build order anymore, more like a game plan, so I figure it's an acceptable limit. If you post the specific build order, maybe I can tell you more or optimize the calculator a bit more.
The second problem is actually also not a bug. The thing is that when you write: Calldown: MULE [auto] > SCV [auto] This literally means: after the first MULE has completed, start building SCV's. You probably want to write: Calldown: MULE [auto] & SCV [auto] Which means: after the first MULE has started, start building SCV's.
On November 20 2010 09:14 Snowfield wrote: Hmm, used it a little, the syntax is not very easy, but the concept is good, keep up the good work and it will probably be pretty damnd good :D
I know. I'm open to suggestions for making the syntax easier.
On November 20 2010 23:36 shingbi wrote: This will chronoboost warpgate twice immediately.
I'm also getting:
Notice: Undefined property: Ability::$time in /home/vhosting/o/vhost0009715/domains/haploid.nl/htdocs/www/sc2/build_order/timeline.php on line 739
Thanks. They're both symptoms of the same thing. I fixed it.
Finally, big update. I've cleaned up the layout, added a banner and moved to a different domain: http://sc2calc.org/
Just noticed something odd. Maybe in your program, or in my logic.
10 Overlord 13 Extractor > put 3 on gas 13 Spawning Pool 15 Overlord @100 gas put 3 on minerals 15 Zergling [2] 17 Queen 19 Metabolic Boost
Tells me: "You don't have any geysers!"
If I try to work around it by using:
10 Overlord 13 Extractor > put 3 on gas 13 Spawning Pool 15 Overlord 15 put 3 on minerals 15 Zergling [2] 17 Queen 19 Metabolic Boost
"Job 19 Metabolic Boost could not be scheduled. No gas is being mined." ("2:54 3:18 15 / 18 0 Zergling 176 131" Yeah, I clearly don't mine no 131 gas )
Can't get it to work. Can't get the Drones off gas @ 100 mined...
Also imo you should be able to type something like: "13 Extractor > put 3 on gas > @100 gas put 3 on minerals" Would be very happy if that could be implemented.
Also your program does not round up/down the amount of gas or minerals to multiples of 4/5. Minor concern though.
The second trick builds two drones, when only one is intended. One could specify "11 Extractor Trick", but that wouldn't have the right cost.
The other problem is that Larvae production seems to always happen on the quarter minutes if there is not currently 3+ Larvae. This gives wrong results; if I have 3 larvae at 1:44 and build something, I should get my next larva at 1:59, not 1:45.
It gives an error (something with a variable). I believe it also consumes 1 larva while it should consume 2. Although this kinda cancels out vs non-perfect timings during play, it's still incorrect.
Again, I love the tool. Very nice to try out ideas before spending hours playtesting.
On November 23 2010 14:22 EatThePath wrote: Is there a built-in way to stop producing probes? I can't find any mention of that.
Yeah, there is. The command you're looking for is: 18 Cancel Probe It wasn't listed in the examples before, but it is documented on the new syntax page.
On November 24 2010 22:28 slith wrote: ... Tells me: "You don't have any geysers!"
Also your program does not round up/down the amount of gas or minerals to multiples of 4/5. Minor concern though.
Ok, fixed that bug. Thanks for helping me squash it.
The first draft version of the calculator actually kept track of the workers and when they would return minerals and such. After a little thinking, I figured that that level of detail is pretty much irrelevant, except in the extremely rare case that all your workers are moving in phase. They never move in phase for longer than one or two cycles anyway, since the mineral patches are at varying distances. For all intents and purposes, you can assume that minerals and gas come in as a steady stream, and you'll be off by a fraction of a second.
On November 24 2010 23:18 Hurkyl wrote: Some more Zerg problems. Consider the 12/10 pool build:
The second trick builds two drones, when only one is intended. One could specify "11 Extractor Trick", but that wouldn't have the right cost.
The other problem is that Larvae production seems to always happen on the quarter minutes if there is not currently 3+ Larvae. This gives wrong results; if I have 3 larvae at 1:44 and build something, I should get my next larva at 1:59, not 1:45.
I'll figure out some nice way of doing your second double extractor trick, and maybe allow extractor tricking of other units as well.
I've been meaning to do some experiments with regards to larva production. What you describe makes sense, I'll change that behaviour soon.
On November 24 2010 23:51 King of Town wrote: Kudo's! Very nice application, much appreciated!
Also, there seems to be two bugs when I try the 10 Double Extractor Trick
It gives an error (something with a variable). I believe it also consumes 1 larva while it should consume 2. Although this kinda cancels out vs non-perfect timings during play, it's still incorrect.
Again, I love the tool. Very nice to try out ideas before spending hours playtesting.
Fixed both problems. Extractor trick right up there as the most bug-prone part of the calculator, but I rather think I got it under control now.
I tried to issue a command "10 Supply Depot (4s)" (SCV walks to ramp, to build Supply Depot there), but this doesnt work. Working it would add realism.
Thank you for reading and much more thank you for you fantastic tool!
On November 25 2010 09:12 Damaskinos wrote: I tried to issue a command "10 Supply Depot (4s)" (SCV walks to ramp, to build Supply Depot there), but this doesnt work. Working it would add realism.
What you're looking for is: 10 Supply Depot (send @60 minerals) or some such number of minerals. The command where you give a number of seconds (4 seconds lost) is only for transferring workers, not for building stuff. I may add that as an option some time in the future, but it's one of the harder things to implement, so it's not high on the todo-list. I figure that being able to send a worker early at a given number of minerals or gas should be more inline with how a human would play it anyway.
I've been using your app a bit to test the timings of some build orders that my app comes up with, and the good news is that for the most part our results are in sync (one slight difference is in the gas income rates, but I think I'll be changing mine soon and then I think the incomes will match perfectly). Anyway, just thought I'd post to check that it's ok with you for me to create an output format for my app that can be used as input into yours, just so that people can validate their results with a second opinion I guess (I'd add a link to your site too).
Incidentally, one thing I've noticed is that my app uses a 2s starting delay before building / mining, but when I try and use the # Startup build delay for your calculator it doesn't seem to affect the first drone's production.
Also, I've noticed that your larva production times seem to be fixed on the 15s mark every time - I plan to do some testing for this, but do you know if that's the case, or if it's 15s after you use the third larva (which is what my app does)?
It might be of interest to see a 7RR build that my app comes up with (possibly worth adding to your examples list?):
I have a little problem with a build: What i want is a 13 Extractor build at 175 minerals How can i do that? I try the below but it builds another probe before :-(
# Startup mining delay = 2 seconds 9 Overlord 12 drone @175 minerals Extractor > +3 12 Spawning Pool 15 Queen > spawn larvae [auto] 17 Zergling @100 gas take 3 off gas 18 Metabolic boost
10 Extractor trick 11 Overlord 12 Spawning Pool 11 Extractor > +3 15 Queen > spawn larvae [auto] 17 Zergling 18 Extractor trick @100 gas take 2 off gas 19 Metabolic boost 19 Overlord 21 Hatchery > transfer 6 22 +1 on gas 22 queen > spawn larvae [auto] 25 Overlord 25 zergling [4] 29 +1 on gas 29 Lair 29 take 2 off gas 35 Baneling Nest 34 Roach Warren 33 Overlord 33 take 1 off gas 33 drone
Job 33 Drone could not be scheduled. No gas is being mined.
I have both apps, and I'm really impressed at the results of both. It's great to see some theoretical computer science in action.
I tried to formalize the syntax of build orders that my calculator understands. You can read the description of the syntax here. The formal description in Extended Backus-Naur form is displayed in the brownish boxes. EBNF is a syntax for context-free grammars. If you're unfamiliar with it, just go to wikipedia. It's pretty easy to read.
The output of your app is pretty easy to convert to something my calculator will understand. The only thing we approach differently, as far as I can see, is how chronoboosts are written. I write chronoboosts as targetting the unit or upgrade being built, instead of the structure that is building it.
I'm open to suggestions for alterations of the syntax or how stuff like chronoboost is annotated. Consider my syntax page a suggestion for a standard, rather than something fixed in stone.
On November 25 2010 10:05 CarbonTwelve wrote: Incidentally, one thing I've noticed is that my app uses a 2s starting delay before building / mining, but when I try and use the # Startup build delay for your calculator it doesn't seem to affect the first drone's production.
Got it and fixed it.
On November 25 2010 10:05 CarbonTwelve wrote: Also, I've noticed that your larva production times seem to be fixed on the 15s mark every time - I plan to do some testing for this, but do you know if that's the case, or if it's 15s after you use the third larva (which is what my app does)?
Yeah, I changed that a few days ago. You're right, the next larva is generated 15 seconds after you drop below 3 larvae.
On November 26 2010 03:58 icezar wrote: I have a little problem with a build: What i want is a 13 Extractor build at 175 minerals How can i do that? I try the below but it builds another probe before :-(
I hadn't thought of that, and I don't really know why you'd want to do that anyway. But I suppose you could write something like: 13 @175 minerals Extractor My calculator doesn't understand that yet, and I'm not sure if a human reader would either. What's the benefit of delaying the Extractor in this case?
On November 26 2010 06:30 icezar wrote: Job 33 Drone could not be scheduled. No gas is being mined.
Hehe, that's an odd message to get. What happened is that you took Drones off gas, spent all the gas and got stuck with -0.000000000000000000001 gas. Since a Drone requires 0 gas, and you are not mining gas, you'll never have enough gas for that Drone.
On November 26 2010 20:59 Haploid wrote: I have both apps, and I'm really impressed at the results of both. It's great to see some theoretical computer science in action.
Hehe, yeah, using advanced algorithms like this is what really motivates me with these projects
I tried to formalize the syntax of build orders that my calculator understands. You can read the description of the syntax here. The formal description in Extended Backus-Naur form is displayed in the brownish boxes. EBNF is a syntax for context-free grammars. If you're unfamiliar with it, just go to wikipedia. It's pretty easy to read.
Yep, I know EBNF. Reminds me of my comp sci days of playing around with flex & bison... I don't see any issues with converting the output of my app into yours - I was mainly just checking that you were ok with my app referencing your site
Yeah, I changed that a few days ago. You're right, the next larva is generated 15 seconds after you drop below 3 larvae.
Ok, cool, at least that's confirmation of it now - I sort of just guessed that it was and couldn't find any info online to confirm it. Tested it myself and it seemed like that was the case, but it's kinda annoying to test actually.
I hadn't thought of that, and I don't really know why you'd want to do that anyway. But I suppose you could write something like: 13 @175 minerals Extractor My calculator doesn't understand that yet, and I'm not sure if a human reader would either. What's the benefit of delaying the Extractor in this case?
Not sure what icezar's reason was, but I can imagine that it's worth doing because you want to delay consuming the drone longer so you get more mining time out of it.
Hehe, that's an odd message to get. What happened is that you took Drones off gas, spent all the gas and got stuck with -0.000000000000000000001 gas.
On November 26 2010 23:17 CarbonTwelve wrote: Yep, I know EBNF. Reminds me of my comp sci days of playing around with flex & bison... I don't see any issues with converting the output of my app into yours - I was mainly just checking that you were ok with my app referencing your site
Flex, bison, that brings back lots of semi-repressed memories.
I very much welcome the reference to my site. I'm working on a page with links to other projects, such as yours and Lolimar's. There's a lot of CS students in the SC2 community doing their thing, and teamliquid seems to be the community site of choice for them.
Please let me know if you run into things that cannot be expressed (but should be) in the proposed syntax.
I found a bug and another reason why the build order tester needs to keep track of unit numbers (which I know you are going to do just something to keep in mind). I wanted to test my build order against baneling bust so I did
8 pylon 9 probe* 12 gateway 13 probe* 15 assimilator > put 3 on gas 16 pylon 17 probe* 18 cybernetics core > warpgate 18 pylon 18 zealot 20 assimilator > put 3 on gas 20 pylon 20 stalker 23 robotics facility 23 stalker 23 pylon 25 stargate 25 zealot 26 immortal
Job 23 Pylon could not be scheduled. There is insufficient supply. The trigger supply count for this job is 23, but at this point in the build order the achieved supply count is only 25.
Not sure what icezar's reason was, but I can imagine that it's worth doing because you want to delay consuming the drone longer so you get more mining time out of it.
Short: i want to delay it so i can have just a few more minerals
Long: I was testing something with 13pool 12 extractor but i noticed that spawn larva will make me lose a larva because it will pop just a few seconds before. When i did 13ext 12pool i was just short a few minerals for the queen so it will delay my spawn larvae by too much. A delay on the Extractor would make it perfect.
I just discover yesterday that you can loose a larva when the larva from the queen pop. What i mean is you have larva at 4:00 so the next from hatch should be at 4:15, if your queen inject larva spawn pop at 4:14 you just lost a larva :-((((((((((((( What is more frustrating is that this timing is off 40 sec for larvae pop with 15 sec larvae production so whatever you do you will delay either the pop larva or the hatch one :-(((((((((((((((
All the builds that i try are larvae caped at the beginning so losing 1 more larva is so frustrating
On November 27 2010 05:13 Presence wrote: I've been using this for a while, and I post (and finally register) to show some more support for this great calculator!
One thing: Calldown: Extra Supplies doesn't actually grant you extra supplies.
Very much appreciated, both the support and the bug report! I fixed the extra supplies thing.
On November 28 2010 03:23 dakenho wrote: I found a bug and another reason why the build order tester needs to keep track of unit numbers (which I know you are going to do just something to keep in mind). I wanted to test my build order against baneling bust so I did
Yeah, I know. It's on the todo-list, probably in the next build. Thanks for keeping me on my toes.
On November 28 2010 03:54 awang0830 wrote: Job 23 Pylon could not be scheduled. There is insufficient supply. The trigger supply count for this job is 23, but at this point in the build order the achieved supply count is only 25.
Lol, yeah. I changed it so it now says "there is too much supply".
On November 28 2010 08:05 icezar wrote: I just discover yesterday that you can loose a larva when the larva from the queen pop. What i mean is you have larva at 4:00 so the next from hatch should be at 4:15, if your queen inject larva spawn pop at 4:14 you just lost a larva :-((((((((((((( What is more frustrating is that this timing is off 40 sec for larvae pop with 15 sec larvae production so whatever you do you will delay either the pop larva or the hatch one :-(((((((((((((((
All the builds that i try are larvae caped at the beginning so losing 1 more larva is so frustrating
I hadn't thought of that. I'll see what I can do to allow you to delay a job for a bit to syncronize the Spawn Larvae with the natural larva production.
On November 29 2010 00:26 icezar wrote: I think i broke it again :-(
Lol, no, that was me. And thanks for probably the oddest sentence in the changelog so far: Fixed: Hatchery could be morphed into a Queen (thanks to icezar)
I just put in a build order for the first 35 supply of my standard opening into the tester. I get to 35 supply between 5:15 and 5:20. It's telling me that I can get to that point at 5:09..... Just gotta figure how to squeak an extra 5-10 seconds out of it..... Assuming that it's right..... + Show Spoiler +
Not sure what icezar's reason was, but I can imagine that it's worth doing because you want to delay consuming the drone longer so you get more mining time out of it.
Short: i want to delay it so i can have just a few more minerals
Long: I was testing something with 13pool 12 extractor but i noticed that spawn larva will make me lose a larva because it will pop just a few seconds before. When i did 13ext 12pool i was just short a few minerals for the queen so it will delay my spawn larvae by too much. A delay on the Extractor would make it perfect.
I just discover yesterday that you can loose a larva when the larva from the queen pop. What i mean is you have larva at 4:00 so the next from hatch should be at 4:15, if your queen inject larva spawn pop at 4:14 you just lost a larva :-((((((((((((( What is more frustrating is that this timing is off 40 sec for larvae pop with 15 sec larvae production so whatever you do you will delay either the pop larva or the hatch one :-(((((((((((((((
All the builds that i try are larvae caped at the beginning so losing 1 more larva is so frustrating
HEY!!!!!!!!!! The above is not true!!!!!! So, this is what i get in game: 0 larva 4:26 larva from hatch (1 larva) 4:41 larva from hatch (2 larva) 4:53 lava pops from inject (6 larva) 4:55 use all larva - due to pop animation you cannot build sooner (0 larva) 4:58 larva from hatch (1 larva) <- it seems that this is delayed just by the time you stay on more than 3 drone!!!
This means that if you use the larva from inject right away you only delay normal larva with 2 seconds each round.
Please fix the larva spawn on the BO, Thanks a lot!
Are these times actually right on? I'm not sure how much testing has gone into this, but from a preliminary standpoint, this has to be one of the coolest little apps I've seen for StarCraft2. You my friend are "DA MAN."
the extractor trick and double extractor trick broke again. Resource-wise everything seems to be fine but the produced drones never start mining minerals...
Could you please take a look Haploid? Dexter is my favorite opener...
On December 01 2010 09:56 Impervious wrote: I just put in a build order for the first 35 supply of my standard opening into the tester. I get to 35 supply between 5:15 and 5:20. It's telling me that I can get to that point at 5:09..... Just gotta figure how to squeak an extra 5-10 seconds out of it..... Assuming that it's right.....
You can add a bit more realism to your build order by writing: 10 Supply Depot (send @60 minerals) and such. That should be another few seconds. Really, if you're that close to the calculated timing, that's really impressive.
On December 01 2010 20:15 icezar wrote: So, this is what i get in game: 0 larva 4:26 larva from hatch (1 larva) 4:41 larva from hatch (2 larva) 4:53 lava pops from inject (6 larva) 4:55 use all larva - due to pop animation you cannot build sooner (0 larva) 4:58 larva from hatch (1 larva) <- it seems that this is delayed just by the time you stay on more than 3 drone!!!
That makes a lot of sense. I've finally got around to testing it myself, and it's exactly as you write it. While you're at 3+ larvae on a hatchery, normal larva generation on that hatchery is postponed, but the timing isn't reset. I changed the calculator to do that too.
On December 03 2010 22:35 King of Town wrote: the extractor trick and double extractor trick broke again. Resource-wise everything seems to be fine but the produced drones never start mining minerals...
Could you please take a look Haploid? Dexter is my favorite opener...
Hey Haploid, thanks for the nice tool. A small bug report though, I tried testing the first example build '4 Gate' and it shows an error:
Job 10 Probe could not be scheduled. There is insufficient supply. The trigger supply count for this job is 10, but at this point in the build order the achieved supply count is only 9.
On December 04 2010 23:29 Fritti wrote: Job 10 Probe could not be scheduled. There is insufficient supply. The trigger supply count for this job is 10, but at this point in the build order the achieved supply count is only 9.
I actually fixed that one already, but apparently I didn't upload it to the production server. Should work fine now.
The mineral count is only marginally useful as it is. It would be more useful if it projected income to a certain time so that builds could be compared against one another. Right now it's just nifty to be able to see how much I've mined, but not too useful.
So it looks like the problem is with the spawn larvae commands. When I input each spawn larva command by hand instead of letting the program place them I don't get errors anymore. This is very time consuming though. Let me know when you have fixed that bug.
I'm just starting to implement the different output options for my app, and one issue I've run into is with the moving of workers to gas. With my app when it comes across a command to start mining gas it will see if there are any existing extractors/refineries/assimilators, and if not it will wait until they complete and then execute the command. Is there any way to implement this for your calculator? I can probably find a workaround to get my output to do it as a subsequent command of the building (ie, extractor > 2 on gas), but it'd be a big help if I didn't need to, plus I figured this might be a feature others would like as well (I think it's easier to work with if you know the exact order in which things will be done).
Here's an example BO as output from my app atm that gets the 'You don't have any geysers' error:
On December 06 2010 14:52 CarbonTwelve wrote: I'm just starting to implement the different output options for my app, and one issue I've run into is with the moving of workers to gas. With my app when it comes across a command to start mining gas it will see if there are any existing extractors/refineries/assimilators, and if not it will wait until they complete and then execute the command. Is there any way to implement this for your calculator? I can probably find a workaround to get my output to do it as a subsequent command of the building (ie, extractor > 2 on gas), but it'd be a big help if I didn't need to, plus I figured this might be a feature others would like as well (I think it's easier to work with if you know the exact order in which things will be done).
Yeah, that makes sense. I changed the behaviour so that a job that transfers workers to a geyser is now delayed until a geyser is available that has fewer than 3 workers mining it. The latter restriction is needed or you'd run into trouble if there are two geysers, one that is completed and has 3 guys on it, the other is not yet completed. Obviously, the simulator has to delay sending workers until the second geyser is completed.
On December 05 2010 05:22 jacobman wrote: The mineral count is only marginally useful as it is. It would be more useful if it projected income to a certain time so that builds could be compared against one another. Right now it's just nifty to be able to see how much I've mined, but not too useful.
You can query the amount of resources at a given time by writing something like: 10:00 checkpoint
On December 05 2010 09:50 jacobman wrote: I got the error that there was no larva at a certain time. It said that it should not happen and to report it, so here is the build order.
Thanks. I just spent two hours trying to figure out why it reported that it was going to generate a larva at 4:12, yet it didn't. As usual, it turned out to be something really simple. The problem is fixed.
On December 07 2010 00:19 Haploid wrote: Yeah, that makes sense. I changed the behaviour so that a job that transfers workers to a geyser is now delayed until a geyser is available that has fewer than 3 workers mining it. The latter restriction is needed or you'd run into trouble if there are two geysers, one that is completed and has 3 guys on it, the other is not yet completed. Obviously, the simulator has to delay sending workers until the second geyser is completed.
Perfect, thanks very much for that. I should have an output from my app that can be used as input to yours soon Except for chrono boost though, might have to think a bit more about that and will possibly PM you to discuss...
The calculator pumps marines one at a time instead of the expected two at a time. You can force the barracks to produce 2 marines at once manually by saying something like:
... still behaves erratically. Really weird stuff going on here.
By the way I'm loving all the new features, Haploid. This project is starting to get really big, I bet wading through the code is becoming a nightmare. Thanks again for putting all the effort into this.
On December 06 2010 14:52 CarbonTwelve wrote: I'm just starting to implement the different output options for my app, and one issue I've run into is with the moving of workers to gas. With my app when it comes across a command to start mining gas it will see if there are any existing extractors/refineries/assimilators, and if not it will wait until they complete and then execute the command. Is there any way to implement this for your calculator? I can probably find a workaround to get my output to do it as a subsequent command of the building (ie, extractor > 2 on gas), but it'd be a big help if I didn't need to, plus I figured this might be a feature others would like as well (I think it's easier to work with if you know the exact order in which things will be done).
Yeah, that makes sense. I changed the behaviour so that a job that transfers workers to a geyser is now delayed until a geyser is available that has fewer than 3 workers mining it. The latter restriction is needed or you'd run into trouble if there are two geysers, one that is completed and has 3 guys on it, the other is not yet completed. Obviously, the simulator has to delay sending workers until the second geyser is completed.
On December 05 2010 05:22 jacobman wrote: The mineral count is only marginally useful as it is. It would be more useful if it projected income to a certain time so that builds could be compared against one another. Right now it's just nifty to be able to see how much I've mined, but not too useful.
You can query the amount of resources at a given time by writing something like: 10:00 checkpoint
On December 05 2010 09:50 jacobman wrote: I got the error that there was no larva at a certain time. It said that it should not happen and to report it, so here is the build order.
Thanks. I just spent two hours trying to figure out why it reported that it was going to generate a larva at 4:12, yet it didn't. As usual, it turned out to be something really simple. The problem is fixed.
On December 07 2010 19:11 Intolerant wrote: The calculator pumps marines one at a time instead of the expected two at a time.
Got it. Apparently, the Reactor wasn't inheriting the #1 tag from the Barracks as it should. It should work fine now.
On December 07 2010 19:11 Intolerant wrote: By the way I'm loving all the new features, Haploid. This project is starting to get really big, I bet wading through the code is becoming a nightmare. Thanks again for putting all the effort into this.
I'm really good at structuring and documenting source code, meticulous even. So no, it's actually very easy to find almost anything (with the exception of anything to do with larva generation; that part has seen a few big overhauls recently). The only real problem at this point is that I have to be really careful that if I change something in A, I don't break something in B. I should probably add some unit tests.
On December 08 2010 04:12 itgl72 wrote: Just an FYI, when I click the example 111 build the following lines display errors:
Notice: Trying to get property of non-object in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/job.php on line 504
Hello, once again a great fun tool to play with. I've been experimenting with this tool. I'm looking for it to tel me how long a particular build takes, and then practice it to get as close to the time it says in the application you created as possible.
Here us one I've worked on. Please have a look and let me know if you feel the output is accurate as the syntax all seems to have gone through.
Nice app! I think I've found a few things which seems like bugs to me. They may be intentional though, I'm not sure.
1. When building a second hatchery, the first hatchery starts to rally workers to the mineral line of the second hatchery. Those workers doesn't give any income until second hatchery finishes. I would prefer if the rally point was changed when the hatchery finishes, rather than when it starts building. http://tinyurl.com/2fh9hzt Look at income in steps 11 through 17.
2. If you give the command constant Zerglings, it will produce a drone every other zerling. http://tinyurl.com/32hpba7 Is there a way to stop the automatic drone production?
3. When scheduling something to be made at a certain amount of gas, no drones are made until the required gas has been harvested, thus piling up larvae and minerals. http://tinyurl.com/3x2yl5b
On December 10 2010 08:42 itgl72 wrote: Here us one I've worked on. Please have a look and let me know if you feel the output is accurate as the syntax all seems to have gone through.
Looks alright. For a bit of extra realism, you could add: 10 Supply Depot (send @60 minerals) and such. That puts on an additional few seconds; it's not possible to build all that in your mineral line.
On December 10 2010 20:56 darko wrote: Nice app! 1. When building a second hatchery, the first hatchery starts to rally workers to the mineral line of the second hatchery. Those workers doesn't give any income until second hatchery finishes. I would prefer if the rally point was changed when the hatchery finishes, rather than when it starts building. http://tinyurl.com/2fh9hzt Look at income in steps 11 through 17.
2. If you give the command constant Zerglings, it will produce a drone every other zerling. http://tinyurl.com/32hpba7 Is there a way to stop the automatic drone production?
3. When scheduling something to be made at a certain amount of gas, no drones are made until the required gas has been harvested, thus piling up larvae and minerals. http://tinyurl.com/3x2yl5b
1. Fixed that. It now sends workers only to completed hatcheries. Surprisingly, it really doesn't make much economical difference. About 80 minerals; I'd have thought the mining time lost would be more impactful. 2. Yes, you can write 18 Cancel Drone and it will do just that. 3. Fixed that too. It was a simple rounding error.
On December 11 2010 06:40 itgl72 wrote: Notice: Trying to get property of non-object in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 362
Fixed that also, didn't have any impact on the timings though.
On December 11 2010 18:51 Drae wrote: There is a bug in the completion time for the second queen which is listed as having a 60 second production time, when it should be 50.
The second queens first larvae spit is listed as 10 seconds before the completion time, which is actually on time for when it would be done.
I see 50 seconds build time for both Queens. However, it did start using the second Queen for her abilities 10 seconds before it completed, and that's definitely a bug. I fixed that.
I've been using this as terran lately and I feel like I've just run into a fundamental discrepancy with the mining math. By doing nothing but building scvs to 11, sending the workers, and then having checkpoints at 0:30, 1:00, 1:30, and 2:00, i'm coming up a full 60 minerals shy if what your calculator suggests. I tested this on multiple speeds including slowest and still find this difference. As you might imagine a difference of 60 minerals cascades down through the build order, delaying various things in various ways making it rather unreliable since the purpose of the tool is very precise timings.
Additionally, does this take into account an SCV losing mining time while building a building? I realize this may have been overlooked as it was originally a protoss tool.
On December 15 2010 09:31 Kirushi wrote: I've been using this as terran lately and I feel like I've just run into a fundamental discrepancy with the mining math. By doing nothing but building scvs to 11, sending the workers, and then having checkpoints at 0:30, 1:00, 1:30, and 2:00, i'm coming up a full 60 minerals shy if what your calculator suggests. I tested this on multiple speeds including slowest and still find this difference. As you might imagine a difference of 60 minerals cascades down through the build order, delaying various things in various ways making it rather unreliable since the purpose of the tool is very precise timings.
Additionally, does this take into account an SCV losing mining time while building a building? I realize this may have been overlooked as it was originally a protoss tool.
Thanks for your work regardless, its awesome!
Do you add these two lines to the top of your build order? Probably will go some way to addressing the discrepancy you've noticed.
# Startup build delay = 3 seconds Nothing is built in the first three seconds. # Startup mining delay = 3 seconds
First line means you don't build anything for 3 seconds, including workers. The second line means it takes 3 seconds to split and rally your initial 6 workers to the mineral line.
This pretty much accurately reflects what we do in the first few seconds of every game - rally all workers to a mineral patch, split some to another patch, then queue a worker.
# Startup build delay = 3 seconds Nothing is built in the first three seconds. # Startup mining delay = 3 seconds
First line means you don't build anything for 3 seconds, including workers. The second line means it takes 3 seconds to split and rally your initial 6 workers to the mineral line.
This pretty much accurately reflects what we do in the first few seconds of every game - rally all workers to a mineral patch, split some to another patch, then queue a worker.
I did in fact add those lines, i even upped the time to 5 seconds each even though playing on slowest both queuing the scv and sending the works happens within the first second easily, still a large difference (~40 minerals instead of 60 at 5 seconds)
On December 14 2010 04:21 dakenho wrote: comma delimited XML dump.
Firstly, not to be nitpicking, but comma-delimited (CSV) and XML are two entirely different things. You would use either one, but not some freakish hybrid.
If you just want to copy the data into a spreadsheet, that's really easy. Almost every spreadsheet editor (Excel, OpenOffice, Google Docs) will allow you to paste a HTML table into a spreadsheet. Just select the table, copy it and voila. Then save it as any file format you like.
If you want to create a tool for common use that uses my calculator programmatically, we can discuss that further.
On December 15 2010 09:31 Kirushi wrote: I've been using this as terran lately and I feel like I've just run into a fundamental discrepancy with the mining math. By doing nothing but building scvs to 11, sending the workers, and then having checkpoints at 0:30, 1:00, 1:30, and 2:00, i'm coming up a full 60 minerals shy if what your calculator suggests. I tested this on multiple speeds including slowest and still find this difference. As you might imagine a difference of 60 minerals cascades down through the build order, delaying various things in various ways making it rather unreliable since the purpose of the tool is very precise timings.
Additionally, does this take into account an SCV losing mining time while building a building? I realize this may have been overlooked as it was originally a protoss tool.
Thanks for your work regardless, its awesome!
60 minerals is about ... 7 seconds off. Yeah, that's not good. I'll run a few games, see what's wrong with this picture. Like bruteMax said, part of it is the initial delays; that'll take 3 seconds off the discrepancy.
If you look at the income table, you'll see that SCV's are taken off minerals when you build something, and they return when it's done. So yeah, I took that into account.
I have been getting very odd output in your tool for the past week or so. I am using the chrome browser, and any build I enter gives erroneous output before the actual build order (even when there are no errors).
Warning: Missing argument 3 for Spellcasters::expend(), called in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 783 and defined in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 255
Notice: Undefined variable: time in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 257
Warning: Missing argument 3 for Spellcasters::expend(), called in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 783 and defined in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 255
Notice: Undefined variable: time in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 257
Warning: Missing argument 3 for Spellcasters::expend(), called in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 783 and defined in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 255
Notice: Undefined variable: time in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 257
Warning: Missing argument 3 for Spellcasters::expend(), called in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 783 and defined in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 255
Notice: Undefined variable: time in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 257
Warning: Missing argument 3 for Spellcasters::expend(), called in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 783 and defined in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 255
Notice: Undefined variable: time in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 257
Warning: Missing argument 3 for Spellcasters::expend(), called in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 783 and defined in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 255
Notice: Undefined variable: time in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 257
Warning: Missing argument 3 for Spellcasters::expend(), called in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/timeline.php on line 783 and defined in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 255
Notice: Undefined variable: time in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/spellcaster.php on line 257
And as a side note, I also am getting an error that reads as follows:
No spellcaster of type Nexus has enough energy. This error message should not occur. Please report this message with your build order on the thread linked at bottom of the page.
And so here i am reporting. The build order is as follows. + Show Spoiler +
Putting the realistic startup delay stops the odd message though (nexus error).
All in all, a fantastic tool, as it greatly cuts down theorycrafting time. Keep it up
EDIT: Is there some sort of comment notation that can be used for your calculator? It would be much appreciated to put in timing or other personal notes, etc.
EDIT2: I just found another, different bug, I'll spoiler it to keep this post short. + Show Spoiler +
When using the @50 gas syntax, the calculator is placing the priority of it oddly. For instance, When placed higher up on the list (I am using an extension of the previous build, however removing the constant zealot production), such as 18 cybernetics core >warpgate**** 18 zealot @50 gas +3 probes on minerals 20 probe 22 zealot
The calculator will place probes on gas, and then will not perform the following actions while waiting for the gas to mine. This ends up with there being >200 unspent minerals when the BOC removes the probes.
The opposite is true for a code such as 18 cybernetics core >warpgate**** 18 zealot 20 probe 22 zealot @50 gas +3 probes on minerals
The BOC will wait until the zealot has begun production to remove the probes from gas, meaning that a total of 60 gas has been mined when they are removed, which is not the desired effect.
On January 03 2011 10:05 DFarce wrote: I have been getting very odd output in your tool for the past week or so. I am using the chrome browser, and any build I enter gives erroneous output before the actual build order (even when there are no errors).
Got it. All those errors were caused by a single missing comma in my source code and have been fixed now.
On January 03 2011 10:05 DFarce wrote: EDIT: Is there some sort of comment notation that can be used for your calculator? It would be much appreciated to put in timing or other personal notes, etc.
Yeah, you can use the hash symbol (#) to add comments, like: 10 Pylon # don't forget to send the probe back 12 Gateway
The other problem you mentioned, I'll have to dig a little deeper for it. Constant unit production should not be halted while waiting for a given amount of resources, unless building that unit uses up the resource in question.
Thanks, the BOC is much more useable now, and it is good to know that you are working on the other bug.
I copied a build made using the BOC into YABOT and tried doing it to see what the difference with theoretical and actual times is, and the results are impressive. + Show Spoiler +
I did a good probe split however, and still came up a few seconds short with the first two commands, which I think cascaded through the times. Because of this, I think that a 5 second startup and mining delay would be more realistic. As well, I sent my scout back to the minerals (at 12 after gateway) when I shouldn't have, so my results are a little closer than they would be otherwise. Either way, it is incredible that your tool can so accurately predict times within 10 seconds up to 5 game minutes. An export to YABOT button may be in order
Great work so far! There does seem to be a small bug where Chronoboost-ing warpgate tech does not reduce the available energy from the Nexus. Even after 3 chronoboosts, the nexus has 100 energy left.
On January 03 2011 10:05 DFarce wrote: When using the @50 gas syntax, the calculator is placing the priority of it oddly. For instance, When placed higher up on the list (I am using an extension of the previous build, however removing the constant zealot production), such as 18 cybernetics core >warpgate**** 18 zealot @50 gas +3 probes on minerals 20 probe 22 zealot
The calculator will place probes on gas, and then will not perform the following actions while waiting for the gas to mine. This ends up with there being >200 unspent minerals when the BOC removes the probes.
This is actually correct, not a bug. The calculator picks up the fixed jobs (first job on each line) in the order in which they appear. Therefore it will execute the @50 gas job before the 20 probe job. And since you specified 20 as the supply count for that probe job, there is no room to squeeze in any constant unit production. You'll just need to change the order of the jobs: 18 zealot 20 probe @50 gas +3 probes on minerals 22 zealot
On January 03 2011 10:05 DFarce wrote: The opposite is true for a code such as 18 cybernetics core >warpgate**** 18 zealot 20 probe 22 zealot @50 gas +3 probes on minerals
The BOC will wait until the zealot has begun production to remove the probes from gas, meaning that a total of 60 gas has been mined when they are removed, which is not the desired effect.
[/spoiler] Also here, the fixed jobs are picked up in the order in which they appear. The correct order here would be: 18 zealot 20 probe @50 gas +3 probes on minerals 22 zealot
On January 05 2011 17:53 anourkey wrote: Great work so far! There does seem to be a small bug where Chronoboost-ing warpgate tech does not reduce the available energy from the Nexus. Even after 3 chronoboosts, the nexus has 100 energy left.
Thanks, I fixed it. This bug caused the energy remaining to be misreported for chronoboosts that occur at the end of the timeline. It only misreported the remaining energy, but it has no effect on the timings.
Is there a way to chronoboost an upgrade at a later stage? Suppose I start warpgate, then want to spend my next two chronoboosts on gateways, and afterwards chrono warpgate research.
Also, a comment syntax would be great, so you could annotate but still have the build order be accepted by the tool.
- "Put 3 on gas" gives an error (where "put 3 on gas" is fine). It seems like it reads "Put" as "take" for some reason. - The calculator says it takes 50 seconds to build a spore crawler; liquipedia says 30. - The efficiency calculations (which are really cool btw) are rather misleading because they include time spent morphing (eg to an Orbital Command) as "busy" time... but not as time in which the structure actually existed. So you get efficiencies of 200% or whatever from time to time. (e.g., you build a CC and morph it to an OC 5s after it finishes.)
Also some feature requests:
- A command to kill units you own would be good. Say for example you want to 8 pool and then transition into something else. At some point it would be nice to be able to assume that your initial lings are dead and so you have supply free to do other stuff. This could be as simple as "Free 3 Supply" or something like that.
- Also for team play a command for giving resources to allies or receiving from them would be nice.
On January 23 2011 20:20 shingbi wrote: Still working on this?
Is there a way to chronoboost an upgrade at a later stage? Suppose I start warpgate, then want to spend my next two chronoboosts on gateways, and afterwards chrono warpgate research.
Also, a comment syntax would be great, so you could annotate but still have the build order be accepted by the tool.
I haven't abandoned the project, just working a lot more slowly since I accepted a new slightly-more-than-fulltime job.
Chronoboosts are scheduled in the order in which they appear in the build order. So what you're describing may or may not be possible in the current implementation, depending on whether it is possible to write the chronoboostees in the desired order. Maybe you could suggest a nice way of writing what you want in a build order, and I'll see what I can do.
Comment syntax is now documented. It was there already (any line that starts with a # is ignored), but undocumented.
On January 27 2011 21:02 Ragwortshire wrote: - "Put 3 on gas" gives an error (where "put 3 on gas" is fine). It seems like it reads "Put" as "take" for some reason. - The calculator says it takes 50 seconds to build a spore crawler; liquipedia says 30. - The efficiency calculations (which are really cool btw) are rather misleading because they include time spent morphing (eg to an Orbital Command) as "busy" time... but not as time in which the structure actually existed. So you get efficiencies of 200% or whatever from time to time. (e.g., you build a CC and morph it to an OC 5s after it finishes.)
Fixed all three of them.
On January 27 2011 21:02 Ragwortshire wrote: A command to kill units you own would be good. Say for example you want to 8 pool and then transition into something else. At some point it would be nice to be able to assume that your initial lings are dead and so you have supply free to do other stuff. This could be as simple as "Free 3 Supply" or something like that.
- Also for team play a command for giving resources to allies or receiving from them would be nice.
I'll add a kill-command ("18 kill 3 marines, then marauder"). Not so sure about the team interplay stuff. I don't think you can view a team build order as two separate build orders with just resources being exchanged. It's a very different beast.
There is a problem when you want to allocate CB's to the same item but non-consecutively. If I want to CB Warpgate once, then a Stalker a bit later, then another on Warpgate, there is no mechanism for that that I can find.
Also, was the 3-5 second automatic mining loss per structure ever implemented?
Is it possible to cancel a building while it's getting built. I'm trying to see how it impacts my game to cancel my expansion as Zerg but I don't see any ways to cancel it while it's building.
On January 30 2011 19:17 Haploid wrote: I'll add a kill-command ("18 kill 3 marines, then marauder"). Not so sure about the team interplay stuff. I don't think you can view a team build order as two separate build orders with just resources being exchanged. It's a very different beast.
On January 03 2011 19:32 Haploid wrote: Yeah, you can use the hash symbol (#) to add comments, like: 10 Pylon # don't forget to send the probe back 12 Gateway
Build order calculator: Line 2 : Unknown command # don't forget to send the probe back For a complete list of units, structures, upgrades, morphs and abilities, please refer to this list. If you are trying to do something other than building, please check the single line examples for the syntax of the other commands. The syntax is not case-sensitive, but it is very specific in the spelling.
Fatal Error: Maximum Execution time of 1 second exceeded in /home/vhosting/y/vhosting0038687/domains/sc2calc.org/htdocs/www/build_order/income.php on line XXX
What does this mean? Any help please thank you
Also, why doesn't it allow for constant unit production... I had 2 rax 1 with tech making stim, 1 with reactor Its like it cannot do stim and make marines at the same time... Maybe make it so the build order tells you which structure the units come out of SCV #1 Marine #2 Medivac #1 etc etc
On February 07 2011 22:22 friendo wrote: Could you add an option to FORCE worker production? The computer treats workers as filler, so commands like: Barracks, then Tech Lab on Barracks, then Marauder[5] often cut workers, rather than working the TL and Marauder builds into constant worker production.
The best way to force worker production is to write out your build order in more detail. I just want to add that the calculator is designed to calculate the timing for a given build order, not to find the optimal order in which to build stuff or to figure out how much you can get away with. Back to your question, a better example would be: 12 Barracks, then Tech Lab on Barracks ... 18 Marauder 22 Marauder ... etc.
On February 09 2011 05:20 m4tt3w wrote: Is it possible to cancel a building while it's getting built. I'm trying to see how it impacts my game to cancel my expansion as Zerg but I don't see any ways to cancel it while it's building.
Er... let me think about that one. Ok, done thinking. I added a command for building and immediatelly cancelling a building. Feel free to suggest a different syntax, this is just what occurred to me: 9 Overlord 13 Spawning Pool 13 Fake Hatchery (<--- that builds and cancels the hatchery, refunding some minerals in the process)
On February 22 2011 18:10 SlyBeetle wrote: Ghost Build Time: 40 or 50? Air Armor Level 1 / Minerals 150 / Gas 150 Line 2 : Unknown command # don't forget to send the probe back
Got it. Fixed all three of those. And I added the kill-command. To kill off some Marines, just write: 22 Kill Marine [4] It doesn't actually check whether you have built them Marines, so feel free to kill as many as you like.
On February 24 2011 03:10 Alejandrisha wrote: it seems to think that stalkers cost 50 minerals O_O
I have absolutely no idea why you would say that. I checked and rechecked, and building a Stalker subtracts 125 minerals.
Thanks for the feedback, guys. I haven't been able to get around coding much lately, but I have not abandoned the project.
On February 24 2011 03:26 Kornholi0 wrote: Fatal Error: Maximum Execution time of 1 second exceeded in /home/vhosting/y/vhosting0038687/domains/sc2calc.org/htdocs/www/build_order/income.php on line XXX
What does this mean? Any help please thank you
Also, why doesn't it allow for constant unit production... I had 2 rax 1 with tech making stim, 1 with reactor Its like it cannot do stim and make marines at the same time... Maybe make it so the build order tells you which structure the units come out of SCV #1 Marine #2 Medivac #1 etc etc
The maximum execution time error just means that it took too long to calculate. You can easily get that error by writing something silly like: 6 Overlord [666]
Post the build order that gave you that error, and I'll figure something out.
As for constant unit production: that's a matter of choosing the right priorities, and that's really the domain of build order optimizers. This isn't an optimizer. It just calculates the timing of a given build order. You can get the best results by writing it out, instead of using the [auto]-command.
Oh, nvm. Was messing up for me, idk why. Probably what i typed.
Anyways, i've tried to figure out a 3-immortal expand build that would possibly work against terran/protoss. I havn't tested it at all, but it should be able to keep stalkers/marauders away. + Show Spoiler +
9 pylon 10 probe* 12 gateway 12 probe* 14 assimilator > put 3 on gas 14 probe* 15 pylon 17 cybernetics core 18 assimilator > put 3 on gas 19 zealot* 21 Robotics facility >immortal* 22 zealot* 24 pylon 26 Robotics Facility > immortal* 28 cancel probe 28 zealot 30 Pylon #build pylon at bottom of ramp 30 -3 off gas 30 Zealot 32 Immortal* 36 probe 37 Nexus 41 pylon 41 sentry* 47 Gateway [2] 47 Robotics Facility 47 put 3 on gas 7:30 Checkpoint
I would love to see an Army Composition table. Such as with the income table it says you have mined X minerals and Y gas at Z time. I would be cool if you added a little table that said something like:
Assuming no units were killed, at Z time your army was composed of: X Stalkers X Zealots X Sentries
I would also love to be able to compare two different builds side by side. Lets say you are trying to make a build to combat a 4gate. You could then enter your build order and a 4gate build order and you would get the same set of tables you do now but you get two sets of the those tables. One for your build and one for the 4gate. Then with these tables next to each other you can see things like "crap he gets his stalker out WAY before I do" then you can go back to your build order and tweak things.
On January 23 2011 20:20 shingbi wrote: Still working on this?
Is there a way to chronoboost an upgrade at a later stage? Suppose I start warpgate, then want to spend my next two chronoboosts on gateways, and afterwards chrono warpgate research.
Also, a comment syntax would be great, so you could annotate but still have the build order be accepted by the tool.
I haven't abandoned the project, just working a lot more slowly since I accepted a new slightly-more-than-fulltime job.
Chronoboosts are scheduled in the order in which they appear in the build order. So what you're describing may or may not be possible in the current implementation, depending on whether it is possible to write the chronoboostees in the desired order. Maybe you could suggest a nice way of writing what you want in a build order, and I'll see what I can do.
What with Patch 1.3.3 making almost every protoss build obsolete, I hope this gets an update? Pretty please?
Syntax for the chronoboost thing could be to just put the "*" in front of whatever you want to chronoboost.
So:
27 Warpgate* will start warpgate on 27 and chronoboost it once.
And
27 *Warpgate will chronoboost Warpgate research (that has been started earlier) at 27.
This is good however you might want to say or let it be known somewhere that scv production is assumed because this messes with some timings fr some builds.
Just wanted to say Thanks, Haploid! I've been using your tools for months now with great success. I love testing build orders in it before committing them to a practice session.
On May 16 2011 17:28 friendo wrote: Any chance of updating to patch 1.3.3? The sentry build time has decreased to 37 and warp gate research has increased to 160.
It's telling me I have too much supply to build the hatchery. I used to have the exact same thing with a 16 extractor and it worked a while back.
Okay... this is the problem.
15 - 1 drone for extractor = 14 14 > 13
Math fail on your part? :/
No, he wants to do 15 spawning pool 14 extractor (delayed until 150 minerals) 13 hatchery
His reason is delaying the extractor gives more minerals for the hatchery. He wrote that correctly, but it doesn't work yet. No math fail on his part.
Math fail on the part of my calculator. It assumed that it could squeeze in another drone while the extractor is building, for which of course there is no supply room. I fixed it.
On May 10 2011 01:58 shingbi wrote: Syntax for the chronoboost thing could be to just put the "*" in front of whatever you want to chronoboost.
The hard part is that the calculator isn't designed to go back on jobs that are already scheduled and change their timing. Not yet, at least. I'll do this, because I like the syntax, but it'll take a while.
Thanks for the appreciation, guys. Development has slowed since I got a new job, but I appreciate the support.
8 Spawning Pool 9 Extractor Trick into Queen then constant Spawn Larvae
I don't see the bug. It seems to work like I'd expect it: 0 0:00 0:17 6 / 10 2 Drone 0 0 1 0:11 0:28 7 / 10 1 Drone 0 0 2 0:50 1:55 8 / 10 3 Spawning Pool 0 0 3 1:00 1:17 7 / 10 2 Drone 0 0 4 1:10 1:27 8 / 10 1 Drone 0 0 5 1:41 2:31 9 / 10 3 Extractor Trick into 1 Queens 18 0 6 2:31 3:11 11 / 10 3 Spawn Larvae 333 0
On May 19 2011 16:42 Terkill wrote: Spine crawler counts as a unit = it takes up supply instead of removing it.
Er... are you sure? Spine crawlers look like structures, and I seem to remember that supply goes down when you build one. I don't see any mention in liquipedia that sprine crawlers take up supply: http://wiki.teamliquid.net/starcraft2/Spine_crawler
On May 20 2011 07:33 Haploid wrote: Er... are you sure? Spine crawlers look like structures, and I seem to remember that supply goes down when you build one. I don't see any mention in liquipedia that sprine crawlers take up supply: http://wiki.teamliquid.net/starcraft2/Spine_crawler
Ok, got it. It didn't check for prerequisites on whatever you build out of an extractor trick, so you could've even built an ultralisk. Fixed it now.
On May 20 2011 16:21 BakedNTired wrote: is there a way for ur queens to keep doing larva barf without telling it to or does it already take that into account?
Yeah, just write something like: 6 Spawning Pool 5 Queen > constant Spawn Larvae
Cannot generate larvae in the past. This error message should not occur. Please report this message with your build order on the thread linked at bottom of the page.
Love your app, I use it constantly to hone builds. I think it's one of the most useful sc2 programs out there.
I do have a feature request. I don't think it would be too hard to implement
I do a lot of team games, and want to be able to map out resource sharing builds.
If there was a command to add or subtract resources manually (+100 gas, -250 minerals, etc) it would allow me to simulate resource trading and design team builds in parallel. I think this would be a super valuable tool.
Hey there, awesome build order calculator you have here. have used it many, many times. just one question:
I saw above that you limited the calculator to 1 second of processor time. is there anyway to change that? I know beyond that point it really ceases to be a "build order" and becomes more of a game plan, but I would like to play with some mid and late game strats to see what works in an ideal situation. I understand it's hit or miss with how the game actually plays out, but knowing a good time financially to grab the third or get double upgrades would be awesome. Not sure what this would involve (if it's going to cause other problems).
Just so you know, this is in reference to the error:
Fatal error: Maximum execution time of 1 second exceeded in /home/vhosting/y/vhost0038687/domains/sc2calc.org/htdocs/www/build_order/income.php on line 150
This is great! I was just wondering if you will be developing the syntax into late game (there's a time cap) if there's anyway we can help with the programming let us know!
Hey I was testing out a speedling expand using 11 overpool instead of 14/14 and got the "cannot generate larvae in the past" error message. The instructions said to post this here, so I did. Here's the BO. Thanks for a great tool. + Show Spoiler +
10 Extractor Trick 11 Overlord 11 Spawning Pool 14 Extractor > +3 13 Queen > Spawn Larvae [auto] 15 Zergling [3] 18 Overlord 18 Extractor Trick @100 gas take 3 drones off gas @100 gas Metabolic Boost 20 hatchery 19 drone 24 overlord 30 overlord 30 drone [auto] 5:30 checkpoint
results in: Job @450 minerals 0 Barracks could not be scheduled. There is too much supply. The trigger supply count for this job is 0, but at this point in the build order the achieved supply count is already 15.
which is a bug. Thank you for your amazing utility!
10 Supply Depot 12 Barracks #1, then Marine 15 Orbital Command, then constant Calldown: MULE 16 Command Center, then Orbital Command, then constant Calldown: MULE 17 Supply Depot, then constant Marine from #1 21 Barracks #2, then constant Marine 23 Barracks #3, then constant Marine @75 minerals Refinery > put 3 SCVs on gas @75 minerals Refinery > put 3 SCVs on gas 23 Tech Lab on Barracks, then Stimpack @50 gas Engineering Bay, then Infantry Weapons Level 1 30 Supply Depot 30 Factory, then Reactor on Factory & Starport, then Swap Reactor on Factory to Starport > constant Medivac @25 gas constant Marauder
the issue: Job Medivac could not be scheduled. There is insufficient supply capacity. You may need to add some Overlords, Supply Depots or Pylons to accommodate it.
A few months ago, Destiny was promoting an "unbeatable" ZvZ build, (build order in the description).
Has anyone got a copy of this build entered into the calculator please, as I was having trouble with the "Pool 100% - 1 spine + Queen" and "Queen 3/4% Roach Warren" parts
In my typical usage I want to ensure first that macro is not sacrificed. For that, maximum production utilization is the first objective. The queue utilization table is a step in the right direction (can help identify that a gap exists, but when?) With (what I think would be) a simple addition, it could be significantly easier to macro optimize builds...
Feature request: Some way to identify production gaps. It is obviously possible to do this now by tracing through the timeline (when each unit is finished, does another unit start right away?), but it can be a bit tedious when you get to 2-3 or more buildings producing things, especially when they produce the same things. I can think of three approaches that would make this verification totally straightforward:
A table of queue idle times (which building, idle start, idle end)
A set of production queue-specific timelines to trace through what is happening in each queue
"Idle" tasks that show up in the master timeline, when and if a building/production queue has nothing else to. (e.g., "2:32 2:46 15/19 Barracks idle"). Just dreaming here but, preferably, these lines would be highlighted in some way.
Before running out of time today, I read through the first 10 pages of the thread to make sure this wasn't a duplicate request; if it is after all, I apologize.
I thought it would be interesting to see If you got an economic advantage by supply blocking yourself for a fast expand versus fast expanding after the first supply depot. Its nice to have a program that can tell you exactly what should happen. heres a build i found interesting, however it would not calculate for added entries beyond the last one. owell.
10 supply depot 15 command center 16 supply depot 19 command center 20 barracks, then marine, then orbital command [3], then constant Calldown: MULE, 22 refinery, then put 3 SCVs on gas (2 seconds) 24 refinery, then put 3 SCVs on gas (2 seconds) 27 factory 28 Tech Lab on Barracks 30 armory 33 factory and barracks 34 Tech Lab on Factory 37 refinery, then put 3 SCVs on gas (2 seconds) 37 refinery, then put 3 SCVs on gas (2 seconds) 38 Stimpack 41 supply depot 41 tech lab on factory 41 Vehicle Weapons Level 1 41 tech lab on barracks, then Combat Shield 44 supply depot [3]
I slapped the GPL3 license on it, which I think means that you can use it freely, even for commercial purposes. So you can fork this to set up your own site, or you can create commits that add HotS support and send me a pull request. I'll upload a good revision to http://sc2calc.org/, if you send a pull request.