• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 15:49
CEST 21:49
KST 04:49
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 1 - RO8 Preview3[ASL21] Ro8 Preview Pt2: Progenitors8Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun13[ASL21] Ro8 Preview Pt1: Inheritors16[ASL21] Ro16 Preview Pt2: All Star10
Community News
Maestros of The Game 2 announcement and schedule !3Weekly Cups (April 27-May 4): Clem takes triple0RSL Revival: Season 5 - Qualifiers and Main Event12Code S Season 1 (2026) - RO12 Results12026 GSL Season 1 Qualifiers25
StarCraft 2
General
Code S Season 1 - RO8 Preview Behind the Blue - Team Liquid History Book Weekly Cups (April 27-May 4): Clem takes triple Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Code S Season 1 (2026) - RO12 Results
Tourneys
Maestros of The Game 2 announcement and schedule ! GSL Code S Season 1 (2026) Sea Duckling Open (Global, Bronze-Diamond) RSL Revival: Season 5 - Qualifiers and Main Event Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players
External Content
Mutation # 524 Death and Taxes The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base
Brood War
General
Do we have a pimpest plays list? BGH Auto Balance -> http://bghmmr.eu/ (Spoiler) Asl ro8 D winner interview BW General Discussion AI Question
Tourneys
Small VOD Thread 2.0 [ASL21] Ro8 Day 4 [BSL22] RO16 Group Stage - 02 - 10 May [ASL21] Ro8 Day 3
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Stormgate/Frost Giant Megathread Dawn of War IV Nintendo Switch Thread OutLive 25 (RTS Game) Daigo vs Menard Best of 10
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread The Letting Off Steam Thread Russo-Ukrainian War Thread 3D technology/software discussion
Fan Clubs
The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
How EEG Data Can Predict Gam…
TrAiDoS
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1981 users

Zerg Build Order optimizer. - Page 8

Forum Index > SC2 General
Post a Reply
Prev 1 6 7 8 9 10 58 Next
Deleted_143
Profile Joined October 2010
Australia256 Posts
Last Edited: 2010-10-13 09:07:00
October 13 2010 09:06 GMT
#141
--- Nuked ---
Almania
Profile Joined September 2010
145 Posts
October 13 2010 09:17 GMT
#142
I lolled too. But seriously, C# or Java is the right tool for the job here.. for ease and speed of development esp. with threading.
Revilo
Profile Blog Joined October 2010
Germany23 Posts
October 13 2010 09:19 GMT
#143
On October 13 2010 18:04 Almania wrote:
And never will be...

Show nested quote +
How do you put in the constraint of keeping time as low as possible?

That'd be the fitness test. ie maximize fitness where fitness is the negative of the time taken.


How would you factor in the actual achievement of the required number of units/buildings? i.e. what score does a build get that only builds 6 roaches in 4:20 compared to one that builds 7 roaches in 4:40. I mean do we just toss out the builds that dont achieve our required number of roaches or can we perhaps put them in a pool for additional gene concatenation if their build order time is lower than the current build order timing of the best strategy that fulfills the requirement. This might actually make the algorithm more malleable and allow for various "close" ways of getting 7 roaches of being recorded. Like the top 5 BO's to get 7 roaches that are all within 10 game seconds of each other. This way one can really see whether there are some more pro econ or pro harass builds in there.

Not to mention this would work well with the intermittent constraint problems people want to see. i.e. first i want to pump 2 fast roaches, then i want to transition into 5 hydras + 5 roaches, finally i want to get 2 infestors + 10 hydras + 10 roaches, etc...
Looking for practice partners on EU! Message me if you like :) "I dont wtach porn anymore, I watch Socke" - Rotterdam
Almania
Profile Joined September 2010
145 Posts
Last Edited: 2010-10-13 09:40:04
October 13 2010 09:33 GMT
#144
I can't speak for what Lomilar has done, but yes you could just attach a high negative value (ie 2 minutes) to those genomes that don't meet the criteria rather then just culling them directly. You'd have to experiment to find what convergences fastest.. same as every thing else. Would love for this to be open sourced (nudge nudge .

I do like the idea of having several build orders displayed.. for instance I'd take overpool over 10 pool if the difference is 1 second on the roaches, yet the BO finder can't (and shouldn't) make that decision for me.
HFR-TV
Profile Blog Joined September 2010
France21 Posts
October 13 2010 10:04 GMT
#145
Could you get an answer for an optimal fast expand build ? hatch 12/13/14 ? pool 12/13/14 ? pool/gaz first for speed or hatch ?
HFR TV la télé des non newbies
Noxie
Profile Blog Joined April 2010
United States2227 Posts
October 13 2010 10:09 GMT
#146
I think this is great. I think you are thinking it will be a lot more detrimental then it actually would be. The fact of the matter is that players have to adapt to a ton of things. We are not computers and we can not make sure everything happens at this time. I am sure this will help go in the right direction but it will not be that big of a factor and "ruin" the game scene.
Shikyo
Profile Blog Joined June 2008
Finland33997 Posts
October 13 2010 10:14 GMT
#147
On October 13 2010 09:28 Lomilar wrote:
Show nested quote +
On October 13 2010 09:24 tsuxiit wrote:
...I somehow doubt this program is as impressive as you claim.

Say you told it you wanted to make 50 hydralisks. There are an extreme number of variables in that equation; when do larva start to appear at a new expansion? When can a queen get there? Should you expand 3 times as soon as possible or delay them? If so, by how much? I mean, how does your program possibly determine and optimize hundreds of precise timings? Does your claim that it 'learns' just mean that it gives you limited information as to how to 'optimize' a build once you already execute it?


Give me a desired build. Something like, the fastest way to some mutalisks, or something like that.

There are indeed an extreme number of variables in that equation. I have programmed some tricks in there, such as waiting for a building to pop before doing anything more. I haven't done others, like building a second queen at your main while waiting for your expo.

My claim is, you give me a desired destination (10 lings, 5 roaches, 7 mutalisks), and within an hour or two, or maybe less, I will give you a build like the above, telling you how to do it very quickly.

What's the fastest way to get 8 mutalisks while having sufficient defense against hellion harrass, cloaked banshees, and afterwards the fastest way to get enough roaches to defend against the thor-hellion push at 14 minutes?

If it's in a vacuum, this is, in fact, entirely useless for everything other than sophisticated rushes.
League of Legends EU West, Platinum III | Yousei Teikoku is the best thing that has ever happened to music.
Ropid
Profile Joined March 2009
Germany3557 Posts
October 13 2010 10:43 GMT
#148
On October 13 2010 19:14 Shikyo wrote:
Show nested quote +
On October 13 2010 09:28 Lomilar wrote:
On October 13 2010 09:24 tsuxiit wrote:
...I somehow doubt this program is as impressive as you claim.

Say you told it you wanted to make 50 hydralisks. There are an extreme number of variables in that equation; when do larva start to appear at a new expansion? When can a queen get there? Should you expand 3 times as soon as possible or delay them? If so, by how much? I mean, how does your program possibly determine and optimize hundreds of precise timings? Does your claim that it 'learns' just mean that it gives you limited information as to how to 'optimize' a build once you already execute it?


Give me a desired build. Something like, the fastest way to some mutalisks, or something like that.

There are indeed an extreme number of variables in that equation. I have programmed some tricks in there, such as waiting for a building to pop before doing anything more. I haven't done others, like building a second queen at your main while waiting for your expo.

My claim is, you give me a desired destination (10 lings, 5 roaches, 7 mutalisks), and within an hour or two, or maybe less, I will give you a build like the above, telling you how to do it very quickly.

What's the fastest way to get 8 mutalisks while having sufficient defense against hellion harrass, cloaked banshees, and afterwards the fastest way to get enough roaches to defend against the thor-hellion push at 14 minutes?

If it's in a vacuum, this is, in fact, entirely useless for everything other than sophisticated rushes.


From the explanations in this thread, the program uses as input a starting state and an end state. You could run it two times, first for your desired defenses: zerglings with speed or roaches, or whatever you deem as sufficient defense. After that, you can use that situation as the start state for a second run, with the 8 mutalisks situation as the new end state.
"My goal is to replace my soul with coffee and become immortal."
Revilo
Profile Blog Joined October 2010
Germany23 Posts
October 13 2010 10:44 GMT
#149
On October 13 2010 18:33 Almania wrote:
I can't speak for what Lomilar has done, but yes you could just attach a high negative value (ie 2 minutes) to those genomes that don't meet the criteria rather then just culling them directly. You'd have to experiment to find what convergences fastest.. same as every thing else. Would love for this to be open sourced (nudge nudge .

I do like the idea of having several build orders displayed.. for instance I'd take overpool over 10 pool if the difference is 1 second on the roaches, yet the BO finder can't (and shouldn't) make that decision for me.


So I just had lunch with a buddy of mine (he is working towards his PhD in Computer Science soon) and he thought about the idea and said it would work quite well. In fact, you dont have to worry about a lot of details when you use Genetic Algorithms since the algorithm should do the work and not you. So any human post-processing should be kept minimal (for example, looking through multiple almost equal builds). However I think it should be not too hard to put constraints up that will get you what you want.

Instead, i think it would be awesome to just give particular starting points for the algorithm. Like, what is the fastest route to 5 roaches given that i did a 10 overlord instead of 9 overlord.

I myself am finishing my Masters in Bioinformatics. I have been exposed to these optimization algorithms but i have never made a big project out of them. So I think it would be great to start implementing it and then giving it to the world as open source software.

I plan on starting the project tonight, I will be implementing it in python since its the language i am most comfortable with and it has some useful stuff to make it easier to program. It most probably will run slower than the C or Java implementations, but I am certain it will be fast enough and just as good. Since in the end it really only matters about tweaking the parameters to help the algorithm find solutions faster. I will post with updates as soon as I get this off the ground. Probably I will open a blog and encourage people to help answer some questions which will no doubt come up during development.

If all goes well, I will make a simple GUI and installer for all OS's, since python is platform independent (if you program correctly ). PM me if you have any interesting considerations or ideas about it, but also post here in case others are also going to attempt this stuff. I am open to suggestions
Looking for practice partners on EU! Message me if you like :) "I dont wtach porn anymore, I watch Socke" - Rotterdam
jdobrev
Profile Blog Joined February 2010
Bulgaria162 Posts
October 13 2010 10:46 GMT
#150
it might be somewhat useful for theoretical purposes but it's not going to change anything, certainly not on a pro level.game is just too dynamic for that kind of stuff, buddy.
A nice tool to have but nothing more. if you want to see how fast you can get 2 colossi you just go, test some BOs and compare the times. then have a friend do throw all kind of shit at you until you find the fastest build where you actually survive.
Eluadyl
Profile Joined May 2010
Turkey364 Posts
Last Edited: 2010-10-13 11:22:46
October 13 2010 10:55 GMT
#151
I and a few friends (all scientists/phd students of different majors) had a similar program for BW from years back, we used to optimize it as the game got patched. After reaching a certain point where we were running week long simulations to try and calculate even the tricky situations, we got bored and overwhelmed. I say it's not worth it unless you put in the effort to get the input directly from game output and make it into a proper Ai where it can react to scouting info, enemy BO's, etc. And this would have to be done in reasonable amounts of time to be played against. Overly complicated chess simulator if you ask me.

Therefore, I think you should optimize it as best as you can so people can customize their own input, including extractor tricks and shit, then release it opensource (better free software) so others can work on it too. :D

TL;DR: release it opensource.
Not enough energy
hns
Profile Joined January 2010
Germany609 Posts
October 13 2010 11:05 GMT
#152
On October 13 2010 12:36 kevmo wrote:
+ Show Spoiler +

On October 13 2010 12:09 BladeRunner wrote:
I have a friend who's a genius at CS, worked on the AI they put in robots sent to the moon, and I've had many interesting conversations with him about Machine Learning (a topic he is quite interested in). I, being a meer CS bachelor's degree holder was of course familiar with genetic algorithms, but I learned by talking to him that they're widely considered suboptimal to experts in the field.. They tend to get stuck on local maxima/minima.

According to him (and unfortunately I can't really back this up as I'm not an expert), support vector regression is better in almost every case.

From my experience, genetic algorithms are cool for finding unsuspected solutions to a problem, and many various solutions... not exactly the best way to find the BEST solution reliably. I think you could take advantage of this with your tool is to look at a longer target and the result would be a handful of optimal solutions that the player could choose between in the early-game based on scouting, etc.


Support vector machines are used for classification problems (given an input and a set of data, produce a function which most reliably predicts that data). Genetic algorithms are used for search problems (given a solution space, find the "best" solution for some definition of best).

That said, genetic algorithms usually are not the best solution for a given search problem. The advantage lies in the ease of implementation, as well as general applicability. Essentially, I consider genetic algorithm the go to algorithm when you don't really know a better way to solve a search problem. Often in complicated problems (such as build order optimization) genetic algorithms are a good way to get something working.

I obviously don't know the details of the OP's implementation, but there are possibly optimizations to be done even with genetic algorithms. For instance, you can prune solutions early that don't meet certain easily calculable metrics. The easiest are required buildings/units for a given set of goals. In the 7 roach example, you know that you will need at the LEAST a spawning pool, roach warren, extractor, 1 overlord (because 6 drones - 3 for buildings + 14 supply of roaches = 17 supply), and 7 roaches in the build. Any build that does not contain these items simply is not valid, and does not need to be considered as a solution. Furthermore, you can probably speed up evaluation with some simple formulas based on required minerals. For example, you know you need a certain amount of minerals and gas to get all the required buildings and units, and there are easy heuristics for computing payoff time for building workers. Using these numbers, it should be easy to prune off say, a 6 pool as being clearly inferior to a 7 pool, etc.

In terms of implementation, the latter optimization can be thought of as keeping track of the best builds you have seen so far, and immediately rejecting anything that is slower by a certain margin using simple heuristics (e.g. I have seen 7 roaches in 5:00 so starting my spawning pool at 4:30 is clearly not going to be any better). This would involve finding any critical paths and resource requirements for a given goal, but that can be precomputed once and then used over and over again as you evaluate solutions.


I have to agree here. I don't know if your post was motivated by the famous branch&bound-algorithms (wiki), but you give essentially the idea of those here. This would definately give one hell of a speedup, although I have no clue if this is useful/implementable in the context of genetic algorithms.

@Lomilar: Does your algorithm keep track of certain "keypoints" during the build or do you have only the fitness value (that is, overall build time I guess) to compare with? Even in the latter case you could, as kevmo suggested, just add something like "if [current-build-time] + [build-time-of-missing-stuff] > [best-known-build-time] => stop". That means you'd have to know what's missing and take building multiple stuff at the same time into account etc, but I guess it'd already help speed up the whole thing a lot. Don't know if it's too much work for too little benefit, though.

Very interesting topic, and obviously very nice programming!
ZerO, Action, Neo.G_Soulkey & FlaSh fanboy~~
Invictus
Profile Blog Joined September 2009
Singapore2697 Posts
October 13 2010 11:27 GMT
#153
This is a good simulator for creating 'rushes' and would be the most optimal way to create such 'rushes'. Example: the quickest way to build 6 zerglings,2 zealots,2 bunkers. Beyond the early game, the game has soany changes that the build order can't adapt to it

Although it still is impressive as it gives people a general idea on how builds are optimised and would allow for some rough calculation of timing rushes(that is, if one was made for terran and protoss) since timing rushes usually consists of an early +1 or a set number of high tier units(thor hellion push, colossus push)
Lee Jaedong Fighting!
theSAiNT
Profile Joined July 2009
United States726 Posts
October 13 2010 11:54 GMT
#154
There's no moral quandary here. It does not alter the game in any way to give an unfair advantage to one party. It is a perfectly legitimate tool. Release it, preferably in an open format so others can have a look and play with it.
Shikyo
Profile Blog Joined June 2008
Finland33997 Posts
October 13 2010 11:57 GMT
#155
Well, probably a better example would be, what is the build that gets the maximum amount of drones out while getting 10 Roaches by 7 minutes?
League of Legends EU West, Platinum III | Yousei Teikoku is the best thing that has ever happened to music.
SwampZero
Profile Joined September 2010
Greece350 Posts
October 13 2010 12:39 GMT
#156
Please make it so your program gives an income snapshot(mineral,gas,workercount) when it finishes a build. This would make it fairly easy to judge how economicy is a build while you code a better solution.
archy
Profile Joined August 2010
Norway22 Posts
October 13 2010 12:45 GMT
#157
Is there something wrong with the mineral counter? I noticed it lists alot of wierd mineral values. In the example you have for example 51, 52, 53 or 106 minerals, and minerals are collected 5 at a time..

Would be very interested to see this released. It would be a great consultant program like Rawr is for WoW players.
Glacius0
Profile Joined July 2010
Netherlands66 Posts
October 13 2010 12:47 GMT
#158
I might be wrong, but I get the feeling your build forgets that there is a limit of 3 larva where the hatchery won't spawn any additional larva. This is just my impression from having tried the build and having my 7th Roach pop @ 4:57.

I'm thinking of taking my drones off gas after reaching 7x25=175 gas and getting an expo.
dejavue
Profile Joined September 2010
Germany47 Posts
October 13 2010 12:47 GMT
#159
Seeing as there are some people here majoring in similar areas, wouldn't a collaborate effort make sense?

Just my two cents, I myself have no idea about programming of any sort, would however LOVE to see this program released...
Maybe it's tech issues, maybe he's just exhausted, MAYBE, JUST MAYBE, he wanted to dress as spiderman and web the shit out of his girlfriend / boyfriend / donkeyfriend without having people watch. - wormintrude
Risen
Profile Blog Joined March 2010
United States7927 Posts
October 13 2010 12:54 GMT
#160
On October 13 2010 21:45 archy wrote:
Is there something wrong with the mineral counter? I noticed it lists alot of wierd mineral values. In the example you have for example 51, 52, 53 or 106 minerals, and minerals are collected 5 at a time..

Would be very interested to see this released. It would be a great consultant program like Rawr is for WoW players.


Minerals ARE collected 5 at a time...
Pufftrees Everyday>its like a rifter that just used X-Factor/Liquid'Nony: I hope no one lip read XD/Holyflare>it's like policy lynching but better/Resident Los Angeles bachelor
Prev 1 6 7 8 9 10 58 Next
Please log in or register to reply.
Live Events Refresh
Next event in 4h 11m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 475
Hui .201
IndyStarCraft 130
BRAT_OK 81
MindelVK 17
StarCraft: Brood War
Calm 3625
ggaemo 146
IntoTheRainbow 13
NaDa 8
Dewaltoss 6
Dota 2
Gorgc6131
qojqva1871
monkeys_forever255
Counter-Strike
fl0m2219
Heroes of the Storm
Liquid`Hasu382
Other Games
gofns11403
Grubby5327
Liquid`RaSZi1557
FrodaN1158
ceh9588
mouzStarbuck443
shahzam275
C9.Mang0267
RotterdaM148
QueenE96
Mew2King95
Trikslyr53
ArmadaUGS10
Organizations
Other Games
gamesdonequick2306
StarCraft 2
angryscii 36
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 19 non-featured ]
StarCraft 2
• StrangeGG 83
• Adnapsc2 6
• LaughNgamezSOOP
• sooper7s
• AfreecaTV YouTube
• Migwel
• intothetv
• Kozan
• IndyKCrew
StarCraft: Brood War
• 80smullet 20
• blackmanpl 1
• ZZZeroYoutube
• STPLYoutube
• BSLYoutube
Dota 2
• lizZardDota237
League of Legends
• imaqtpie2471
• TFBlade1242
Other Games
• Shiphtur267
• Scarra63
Upcoming Events
Replay Cast
4h 11m
Escore
14h 11m
The PondCast
14h 11m
WardiTV Invitational
15h 11m
Zoun vs Ryung
Lambo vs ShoWTimE
Big Brain Bouts
20h 11m
Fjant vs Bly
Serral vs Shameless
OSC
1d 2h
Replay Cast
1d 4h
CranKy Ducklings
1d 14h
RSL Revival
1d 14h
SHIN vs Bunny
ByuN vs Shameless
WardiTV Invitational
1d 15h
Krystianer vs TriGGeR
Cure vs Rogue
[ Show More ]
uThermal 2v2 Circuit
1d 19h
BSL
1d 23h
Artosis vs TerrOr
spx vs StRyKeR
Replay Cast
2 days
Sparkling Tuna Cup
2 days
RSL Revival
2 days
Cure vs Zoun
Clem vs Lambo
WardiTV Invitational
2 days
BSL
2 days
Dewalt vs DragOn
Aether vs Jimin
GSL
3 days
Afreeca Starleague
3 days
Soma vs Leta
Wardi Open
3 days
Monday Night Weeklies
3 days
OSC
4 days
CranKy Ducklings
4 days
Afreeca Starleague
4 days
Light vs Flash
Replay Cast
5 days
Replay Cast
6 days
The PondCast
6 days
Liquipedia Results

Completed

Proleague 2026-05-05
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
SCTL 2026 Spring
RSL Revival: Season 5
2026 GSL S1
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

Escore Tournament S2: W6
KK 2v2 League Season 1
BSL 22 Non-Korean Championship
YSL S3
Escore Tournament S2: W7
Escore Tournament S2: W8
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.