• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 19:00
CEST 01:00
KST 08:00
  • 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 Energy13
Community News
LiuLi Cup - September 2025 Tournaments2Weekly Cups (August 25-31): Clem's Last Straw?39Weekly Cups (Aug 18-24): herO dethrones MaxPax6Maestros of The Game—$20k event w/ live finals in Paris48Weekly Cups (Aug 11-17): MaxPax triples again!15
StarCraft 2
General
Team Liquid Map Contest #21 - Presented by Monster Energy Weekly Cups (August 25-31): Clem's Last Straw? Heaven's Balance Suggestions (roast me) Geoff 'iNcontroL' Robinson has passed away Speculation of future Wardii series
Tourneys
RSL: Revival, a new crowdfunded tournament series Maestros of The Game—$20k event w/ live finals in Paris LiuLi Cup - September 2025 Tournaments Sea Duckling Open (Global, Bronze-Diamond) Sparkling Tuna Cup - Weekly Open Tournament
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
ASL20 General Discussion Pros React To: herO's Baffling Game BW General Discussion BGH Auto Balance -> http://bghmmr.eu/ BSL Polish World Championship 2025 20-21 September
Tourneys
Is there English video for group selection for ASL Small VOD Thread 2.0 [Megathread] Daily Proleagues [ASL20] Ro24 Group F
Strategy
Simple Questions, Simple Answers Muta micro map competition Fighting Spirit mining rates [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread General RTS Discussion Thread Nintendo Switch Thread Path of Exile Warcraft III: The Frozen Throne
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 Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine 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)
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: 1061 users

Day 2: BOO with Genetic Algorithms

Blogs > Revilo
Post a Reply
Revilo
Profile Blog Joined October 2010
Germany23 Posts
October 14 2010 10:49 GMT
#1
Heya fine folks of TL,
I have finished making the controller for the Genetic Algorithm (Basically all the easy work is done). Now I have to get down and dirty with the fitness function and also replicate the Starcraft 2 game in mini form to evaluate timings, minerals, gas, etc... Wish me luck! If someone is interested in the bare bone Genetic Algorithm coded in python 2.7 which currently does nothing but find the optimal "Drone Only" build order, let me know and I can email it to you or provide a link.

Any inspiring ideas about the fitness function would be welcome It has dawned on me that this is definitely the hardest part of the algorithm I may however start with the Starcraft 2 simulator which would let people also just plug in a build order by hand and see the fastest execution time for it.

Looking for practice partners on EU! Message me if you like :) "I dont wtach porn anymore, I watch Socke" - Rotterdam
Revilo
Profile Blog Joined October 2010
Germany23 Posts
Last Edited: 2010-10-14 13:43:33
October 14 2010 13:41 GMT
#2
I have finished making a basic version of the Starcraft 2 game simulator. The first thing I told it to try is to give me the build time for a 6 pool (naturally ). Here are the timings it spits out:

0:38 - Spawning Pool
0:53 - Drone
1:08 - Drone
1:10 - Drone Completes
1:25 - Drone Completes
1:43 - Spawning Pool Completes
1:43 - Zergling
1:43 - Zergling
1:43 - Zergling
2:07 - Zergling Completes
2:07 - Zergling Completes
2:07 - Zergling Compeltes

This is of course in game time and I have made no variance based on time to get to mineral patches, etc... If someone know how fast they can get 6 zerglings in a 6-pool, I would appreciate the data. If you beat the listed timings you will be added to a special thanks section of the final algorithm

EDIT: Bear in mind, this is not the genetic algorithm giving a perfect build order for 6 zerglings. Rather this is just the timing function that is telling me how fast this build order can be done.
Looking for practice partners on EU! Message me if you like :) "I dont wtach porn anymore, I watch Socke" - Rotterdam
Revilo
Profile Blog Joined October 2010
Germany23 Posts
October 14 2010 15:10 GMT
#3
Just completed a build order "cleaner". It basically takes an arbitrary build order (even if its an illegal one) and goes through it and checks to make sure basic requirements are fulfilled for each step. For instance, if Zerglings are to be made, it checks to see if there is already a spawning pool in the build order. Also, it checks to make sure enough pop is available given the overlords produced beforehand in the build order. If something illegal is found, it simply removes it from the list and increments a penalty counter. At the end it returns a cleansed build order that is legal and a penalty count that tells you how many incorrect units were removed from the original build order. This is mainly a preprocessing tool for my genetic algorithm to keep the input to the Starcraft 2 simulator legal (preventing an infinite loop).
Looking for practice partners on EU! Message me if you like :) "I dont wtach porn anymore, I watch Socke" - Rotterdam
ammeL
Profile Joined August 2009
United States211 Posts
October 14 2010 16:31 GMT
#4
Interesting stuff; I may be able to provide some input. I can probably take a look at the code, too, to see if any ideas spark for me and I can help you with the algorithm.
Those who criticize our generation forget who raised it.
palanq
Profile Blog Joined December 2004
United States761 Posts
October 14 2010 16:42 GMT
#5
the objective function is to maximize the probability of winning, but this depends on what your opponent is doing, and that could be a number of things, depending on what you see. so I don't see how you can manage the problem.

the best you could do maybe is to maximize the size of your army at 20 minutes, subject to the constraints that you must have at least such and such units and upgrades at particular timepoints.

fun project, and good luck, but I'm not sure if this will be useful for players
time flies like an arrow; fruit flies like a banana
ammeL
Profile Joined August 2009
United States211 Posts
October 14 2010 17:03 GMT
#6
Even though it may not be useful to players, it may still be useful in the context that you're able to see what times certain things can be done (though of course, I'm sure there will always be something more efficient).

This will probably be of no use to most people, but if you're just messing around with build orders and certain timing attacks, knowing that you can have X amount of Zerglings out in an X amount of time can help you in some ways.
Those who criticize our generation forget who raised it.
Revilo
Profile Blog Joined October 2010
Germany23 Posts
October 14 2010 18:06 GMT
#7
So I have extended the code to now include Queens (with larva injection), as well as extractors (with drones moving to extractor) and Roaches and the Roach Warren. I have been able to replicate some results by users for a 7 Roach Rush:

+ Show Spoiler +
7 Roach Rush
00:00 - Drone
00:13 - Drone
00:15 - Larva Spawn
00:17 - Drone Complete
00:24 - Drone
00:30 - Larva Spawn
00:30 - Drone Complete
00:33 - Drone
00:41 - Drone Complete
00:45 - Larva Spawn
00:50 - Drone Complete
00:50 - Overlord
01:00 - Larva Spawn
01:15 - Larva Spawn
01:15 - Overlord Complete
01:19 - Spawning Pool
01:27 - Drone
01:35 - Drone
01:42 - Larva Spawn
01:44 - Drone Complete
01:44 - Drone
01:51 - Drone
01:52 - Drone Complete
01:57 - Larva Spawn
01:57 - Drone
02:01 - Drone Complete
02:08 - Drone Complete
02:12 - Larva Spawn
02:12 - Drone
02:12 - Extractor
02:14 - Drone Complete
02:24 - Spawning Pool Complete
02:27 - Larva Spawn
02:27 - Drone
02:29 - Drone Complete
02:30 - Queen
02:42 - Larva Spawn
02:42 - Extractor Complete
02:42 - Drone
02:44 - Drone Complete
02:51 - Roach Warren
02:57 - Larva Spawn
02:58 - Drone
02:59 - Drone Complete
03:12 - Larva Spawn
03:12 - Overlord
03:15 - Drone Complete
03:20 - Queen Complete
03:27 - Larva Spawn
03:27 - Overlord
03:37 - Overlord Complete
03:42 - Larva Spawn
03:46 - Roach Warren Complete
03:46 - Roach
03:52 - Overlord Complete
03:57 - Larva Spawn
03:57 - Roach
04:00 - 4x Larva from Inject
04:00 - Roach
04:00 - Roach
04:03 - Roach
04:12 - Larva Spawn
04:12 - Roach
04:13 - Roach Complete
04:20 - Roach
04:24 - Roach Complete
04:27 - Larva Spawn
04:27 - Roach Complete
04:27 - Roach Complete
04:30 - Roach Complete
04:39 - Roach Complete
04:42 - Larva Spawn
04:45 - 4x Larva from Inject
04:47 - Roach Complete
Build finishes at 04:48 minutes.
Minerals at end: 255.0
Gas at end: 75.0


The algorithm has some built in timing issues with the transfer of workers between minerals to gas and from spawning to minerals. But I believe these are negligent and you should be able to almost replicate these times to the second. Playing on normal speed to try it out first might help with training it. This is a very aggressive build. If anyone has some other Zerg build orders they would like me to time and compare with your own play time, please feel free to post them (or pm me if you feel it might be embarrassing or secretive ).
Looking for practice partners on EU! Message me if you like :) "I dont wtach porn anymore, I watch Socke" - Rotterdam
Slithe
Profile Blog Joined February 2007
United States985 Posts
October 14 2010 18:47 GMT
#8
What kind of performance are you seeing on the algorithm for something about as complex as a 7 roach rush? Does the fitness level converge relatively quickly?
Please log in or register to reply.
Live Events Refresh
Next event in 4h
[ Submit Event ]
Live Streams
Refresh
StarCraft: Brood War
Britney 16005
Artosis 636
firebathero 97
Aegong 50
sSak 42
NaDa 16
Stormgate
BeoMulf3
Dota 2
monkeys_forever556
420jenkins496
NeuroSwarm16
Super Smash Bros
hungrybox413
Liquid`Ken7
Other Games
summit1g8199
FrodaN1017
fl0m617
Sick237
ToD195
Maynarde109
C9.Mang0109
ViBE68
Mew2King38
PPMD32
Nathanias23
Organizations
Other Games
BasetradeTV16
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 19 non-featured ]
StarCraft 2
• davetesta48
• StrangeGG 38
• musti20045 38
• IndyKCrew
• Migwel
• AfreecaTV YouTube
• intothetv
• Kozan
• sooper7s
• LaughNgamezSOOP
StarCraft: Brood War
• Azhi_Dahaki21
• Michael_bg 5
• STPLYoutube
• ZZZeroYoutube
• iopq 0
• BSLYoutube
Dota 2
• masondota22140
Other Games
• imaqtpie952
• Scarra232
Upcoming Events
OSC
4h
MaNa vs SHIN
SKillous vs ShoWTimE
Bunny vs TBD
Cham vs TBD
RSL Revival
11h
Reynor vs Astrea
Classic vs sOs
Maestros of the Game
18h
Serral vs Ryung
ByuN vs Zoun
BSL Team Wars
20h
Team Bonyth vs Team Dewalt
CranKy Ducklings
1d 11h
RSL Revival
1d 11h
GuMiho vs Cham
ByuN vs TriGGeR
Cosmonarchy
1d 15h
TriGGeR vs YoungYakov
YoungYakov vs HonMonO
HonMonO vs TriGGeR
Maestros of the Game
1d 18h
Solar vs Bunny
Clem vs Rogue
[BSL 2025] Weekly
1d 19h
RSL Revival
2 days
Cure vs Bunny
Creator vs Zoun
[ Show More ]
Maestros of the Game
2 days
Maru vs Lambo
herO vs ShoWTimE
BSL Team Wars
2 days
Team Hawk vs Team Sziky
Sparkling Tuna Cup
3 days
Monday Night Weeklies
3 days
The PondCast
6 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)
RSL Revival: Season 2
Maestros of the Game
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 Polish World Championship 2025: Warsaw LAN
BSL Season 21
BSL 21 Team A
Chzzk MurlocKing SC1 vs SC2 Cup #2
EC S1
BLAST Rivals Fall 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.