|
Changes: + Show Spoiler + 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
Version 0.1 Protoss support
I've created a page for calculating the optimal timing of a given build order http://sc2calc.org/build_order/
That means, you feed it a build order like:
9 Pylon 12 Gateway 13 Assimilator > put 3 on gas 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 very cool stuff goin on, if you make it for all races, i think you will get a lot of donations
|
Hrm... how does it know where you spend chronoboosts?
Only problem I see is the times will be off unless you can designate the race macro mechanics, chronoboost, larvae, mule.
|
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 always wondered how do you make programs like these? do you use java?
|
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
Great job though
|
What if you want it to not make probes? Does it account for that if you just type 6 Pylon 6 Gateway or something along those lines?
|
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.
|
Great tool. Will use this loads! thanks
|
[QUOTE]On October 12 2010 09:52 Haploid wrote:
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....
|
|
|
|
|