• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:44
CET 12:44
KST 20:44
  • 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
[ASL20] Finals Preview: Arrival10TL.net Map Contest #21: Voting10[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3[ASL20] Ro8 Preview Pt2: Holding On9
Community News
BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION1Crank Gathers Season 2: SC II Pro Teams4Merivale 8 Open - LAN - Stellar Fest3Chinese SC2 server to reopen; live all-star event in Hangzhou22Weekly Cups (Oct 13-19): Clem Goes for Four3
StarCraft 2
General
Could we add "Avoid Matchup" Feature for rankgame Smart servos says it affects liberators as well RotterdaM "Serral is the GOAT, and it's not close" Chinese SC2 server to reopen; live all-star event in Hangzhou The New Patch Killed Mech!
Tourneys
Crank Gathers Season 2: SC II Pro Teams Merivale 8 Open - LAN - Stellar Fest $5,000+ WardiTV 2025 Championship $3,500 WardiTV Korean Royale S4 Tenacious Turtle Tussle
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace Mutation # 494 Unstable Environment
Brood War
General
ASL20 Pre-season Tier List ranking! BSL Season 21 BSL Team A vs Koreans - Sat-Sun 16:00 CET ASL Runner-Up Race Stats [ASL20] Finals Preview: Arrival
Tourneys
[ASL20] Grand Finals BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION ASL final tickets help [ASL20] Semifinal A
Strategy
Current Meta Soma's 9 hatch build from ASL Game 2 Simple Questions, Simple Answers Roaring Currents ASL final
Other Games
General Games
Path of Exile Stormgate/Frost Giant Megathread General RTS Discussion Thread Nintendo Switch Thread Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion LiquidDota to reintegrate into TL.net
League of Legends
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
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
Things Aren’t Peaceful in Palestine US Politics Mega-thread Russo-Ukrainian War Thread YouTube Thread The Chess Thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
Anime Discussion Thread [Manga] One Piece Korean Music Discussion Series you have seen recently... Movie Discussion!
Sports
Formula 1 Discussion 2024 - 2026 Football Thread MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
The Benefits Of Limited Comm…
TrAiDoS
Sabrina was soooo lame on S…
Peanutsc
Our Last Hope in th…
KrillinFromwales
Certified Crazy
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1626 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
Replay Cast
10:00
Crank Gathers S2: Preliminary
Team Liquid vs Shopify RebellionLIVE!
Team Vitality vs Team Falcon
CranKy Ducklings214
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 169
OGKoka 135
Rex 68
Codebar 33
StarCraft: Brood War
Britney 24976
firebathero 7205
Jaedong 4225
Sea 1672
Pusan 488
EffOrt 455
Stork 330
Rush 102
ToSsGirL 77
Liquid`Ret 69
[ Show more ]
Icarus 24
Movie 23
Shine 19
yabsab 14
Dota 2
Gorgc1059
XcaliburYe195
ODPixel126
League of Legends
JimRising 549
Counter-Strike
olofmeister1658
shoxiejesuss965
x6flipin469
oskar168
allub155
Other Games
summit1g8354
singsing1771
Sick310
crisheroes250
B2W.Neo221
Mew2King46
Organizations
Counter-Strike
PGL8680
StarCraft: Brood War
lovetv 17
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 11 non-featured ]
StarCraft 2
• LUISG 36
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Upcoming Events
Wardi Open
17m
OGKoka 135
Rex68
CrankTV Team League
1h 17m
Streamerzone vs Shopify Rebellion
TBD vs Team Vitality
Monday Night Weeklies
5h 17m
BSL 21
13h 17m
WardiTV Invitational
1d
CrankTV Team League
1d 1h
BASILISK vs TBD
Team Liquid vs Team Falcon
BSL 21
1d 13h
Replay Cast
1d 22h
OSC
2 days
CrankTV Team League
2 days
[ Show More ]
Replay Cast
2 days
The PondCast
2 days
CrankTV Team League
3 days
Replay Cast
3 days
WardiTV Invitational
4 days
CrankTV Team League
4 days
Replay Cast
4 days
BSL Team A[vengers]
5 days
Dewalt vs Shine
UltrA vs ZeLoT
BSL 21
5 days
Sparkling Tuna Cup
5 days
BSL Team A[vengers]
6 days
Cross vs Motive
Sziky vs HiyA
BSL 21
6 days
Liquipedia Results

Completed

ASL Season 20
WardiTV TLMC #15
Eternal Conflict S1

Ongoing

BSL 21 Points
CSL 2025 AUTUMN (S18)
BSL 21 Team A
C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
CranK Gathers Season 2: SC II Pro Teams
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025

Upcoming

SC4ALL: Brood War
YSL S2
BSL Season 21
SLON Tour Season 2
BSL 21 Non-Korean Championship
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
Stellar Fest
SC4ALL: StarCraft II
META Madness #9
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
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 © 2025 TLnet. All Rights Reserved.