• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:56
CEST 07:56
KST 14:56
  • 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
Maestros of the Game: Week 1/Play-in Preview9[ASL20] Ro24 Preview Pt2: Take-Off7[ASL20] Ro24 Preview Pt1: Runway132v2 & SC: Evo Complete: Weekend Double Feature4Team Liquid Map Contest #21 - Presented by Monster Energy9
Community News
Weekly Cups (August 25-31): Clem's Last Straw?25Weekly Cups (Aug 18-24): herO dethrones MaxPax6Maestros of The Game—$20k event w/ live finals in Paris46Weekly Cups (Aug 11-17): MaxPax triples again!15Weekly Cups (Aug 4-10): MaxPax wins a triple6
StarCraft 2
General
Speculation of future Wardii series Weekly Cups (August 25-31): Clem's Last Straw? Geoff 'iNcontroL' Robinson has passed away #1: Maru - Greatest Players of All Time Maestros of the Game: Week 1/Play-in Preview
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament Maestros of The Game—$20k event w/ live finals in Paris Monday Nights Weeklies LiuLi Cup - September 2025 Tournaments 🏆 GTL Season 2 – StarCraft II Team League
Strategy
Custom Maps
External Content
Mutation # 489 Bannable Offense Mutation # 488 What Goes Around Mutation # 487 Think Fast Mutation # 486 Watch the Skies
Brood War
General
No Rain in ASL20? ASL20 General Discussion BW General Discussion BGH Auto Balance -> http://bghmmr.eu/ Starcraft at lower levels TvP
Tourneys
[Megathread] Daily Proleagues Is there English video for group selection for ASL [ASL20] Ro24 Group F [IPSL] CSLAN Review and CSLPRO Reimagined!
Strategy
Simple Questions, Simple Answers Muta micro map competition Fighting Spirit mining rates [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread Warcraft III: The Frozen Throne Nintendo Switch Thread Mechabellum Teeworlds - online game
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Canadian Politics Mega-thread YouTube Thread
Fan Clubs
The Happy Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread High temperatures on bridge(s) Gtx660 graphics card replacement
TL Community
The Automated Ban List TeamLiquid Team Shirt On Sale
Blogs
A very expensive lesson on ma…
Garnet
hello world
radishsoup
Lemme tell you a thing o…
JoinTheRain
How Culture and Conflict Imp…
TrAiDoS
RTS Design in Hypercoven
a11
Evil Gacha Games and the…
ffswowsucks
INDEPENDIENTE LA CTM
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 604 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
PiGosaur Monday
00:00
#47
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ProTech3
StarCraft: Brood War
Calm 11429
Mind 335
Snow 220
Tasteless 208
yabsab 169
ggaemo 151
sSak 144
sorry 40
Aegong 38
Purpose 10
[ Show more ]
Icarus 7
Bale 6
Counter-Strike
m0e_tv1555
Stewie2K587
Other Games
summit1g5974
shahzam726
C9.Mang0547
ViBE145
Organizations
Other Games
gamesdonequick626
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• practicex 69
• OhrlRock 32
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1197
• Lourlo958
• Stunt376
Upcoming Events
LiuLi Cup
5h 4m
Replay Cast
18h 4m
The PondCast
1d 4h
RSL Revival
1d 4h
Maru vs SHIN
MaNa vs MaxPax
Maestros of the Game
1d 11h
OSC
1d 21h
MaNa vs SHIN
SKillous vs ShoWTimE
Bunny vs TBD
Cham vs TBD
RSL Revival
2 days
Reynor vs Astrea
Classic vs sOs
Maestros of the Game
2 days
BSL Team Wars
2 days
Team Bonyth vs Team Dewalt
CranKy Ducklings
3 days
[ Show More ]
RSL Revival
3 days
GuMiho vs Cham
ByuN vs TriGGeR
Cosmonarchy
3 days
TriGGeR vs YoungYakov
YoungYakov vs HonMonO
HonMonO vs TriGGeR
Maestros of the Game
3 days
[BSL 2025] Weekly
3 days
RSL Revival
4 days
Cure vs Bunny
Creator vs Zoun
Maestros of the Game
4 days
BSL Team Wars
4 days
Team Hawk vs Team Sziky
Sparkling Tuna Cup
5 days
Liquipedia Results

Completed

CSL Season 18: Qualifier 2
SEL Season 2 Championship
HCC Europe

Ongoing

Copa Latinoamericana 4
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Qualifiers
ASL Season 20
CSL 2025 AUTUMN (S18)
Maestros of the Game
Sisters' Call Cup
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025

Upcoming

LASL Season 20
2025 Chongqing Offline CUP
BSL Season 21
BSL 21 Team A
Chzzk MurlocKing SC1 vs SC2 Cup #2
RSL Revival: Season 2
EC S1
BLAST Rivals Fall 2025
Skyesports Masters 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
MESA Nomadic Masters Fall
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 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.