|
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.
32 lings 16 baneling 10 roaches 12 muta
But, you must have 12 lings, 4 roaches, 2 queens before 6 mins.
:D
|
^12 lings are way too much to have at that point in time assuming it's a TvZ.
|
On October 13 2010 23:57 Shikyo wrote: ^12 lings are way too much to have at that point in time assuming it's a TvZ.
I'm just picking arbitrary numbers, and 12 lings really isn't that much. A marine/hellion push comes around that time no? I have no real sense of how the game time I perceive in my head corresponds to actual in game minutes, but it doesn't seem completely unreasonable for me if some sort of early aggression is coming.
|
On October 13 2010 23:40 Wr3k wrote:Show nested quote +On October 13 2010 23:33 10or10 wrote:On October 13 2010 23:18 Wr3k wrote:On October 13 2010 23:15 SwampZero wrote:On October 13 2010 23:11 Wr3k wrote: It's interesting that it thinks its better to 10 overlord. Isn't 9 overlord supposedly more efficient? Your question is flawed. First define efficient then define better, then find the scope. The program is only interested in 7 fastest roaches. True, I believe 9 overlord gets you ~15 more minerals around the 4-5 min mark, but may very well be slower for roaches since you are 10overpooling. If you plan to overpool I suppose 10 overlord is always going to be better. If its more of a macro build where the pool is later I'm sure the program will tell us to 9overlord. What I'm curious about is whether or not such a program would allow you to calculate something like: Get: 12 speedlings by 4:15 +1 carapace 10 muta by 7:30 +1 air carapace All while maximizing resource gathering and spending any excess on drones. As much as I like knowing the fastest way to get X, I can see it being quite limited. Would it be possible to say... get 16 mutas, and also have 5 roach and 20 lings before 8mins? Can the program accurately handle a build where a zerg fast expands? How does it deal with drone saturation? Does it assume optimal? What about maynarding workers? Based on what he has answered in this thread. Yes on all but the "optimal"-question where he claimed he added arbitrary delays to somethings. If 12 speedlings by 4:15 is met before your desired time, you would probably be able to add an amount of drones to the goal until the algorithm returns 12 speedlings @ 4:15 Ahhh, so if you added drones to get 12 speedlings @ 4:15, could you also tell it to go from there and calculate the fastest way from that point to get 12 mutas?
Yes, according to:
On October 13 2010 09:11 Lomilar wrote: I can also chain these builds together. So 7 roach to fast muta, find the best way to do that.
|
Very good idea!
Now I got the nerd urge to write a similar program just for fun. Where did you get the exact values for everything? As those are the crucial element.
btw.. making this for protoss would be interesting because of chrono boost
|
I actually want the source for this less because I want to use it, and more because I'm a CS student and want to figure out how these programs work.
|
This is really cool stuff.
|
I'm curious about a 5RR to expo to muta vs. a sling FE to muta type build.
|
I have partially written a similar program, but it doesn't optimize the build orders for you, it simply allows people to create their own build orders.
|
I agree with what I've read to be the consensus . I don't really see a moral dilemma because we're not robots, and the game is dynamic. However, I do feel like this should be released because it will increase the speed at which new build orders come out. Coming up with an idea for a build order isn't the hard part. The hard part is optimizing the build order which takes a few hours.
|
I'd love to see this for 'Droid, so when I'm walking around and get inspiration I can check if it's viable if I'm not at my computer. Would also work when I go to LAN events! :D
But releasing this as a stand alone program will make it more efficiant, I imagine rather than running it off some API like Silverlight.
|
I'd love to see some replays of this on ladder too, I will try this build out when I have some time and post some here as well.
|
Wow. Good morning all.
1. Minerals are collected as an average per second, not in intervals of 5. That is because I didn't want to determine exactly when 5 minerals came in from each drone, since those timings are based on how they shuffled around when you first told them to mine, etc.
2. It sounds like you guys want it, and you want it now. I'll go ahead and create a project site tomorrow night and release it open source. I need to clean up the code, maybe write some comments, and refactor a bit before I'd feel comfortable pushing it out into the world.
3. All numbers were pulled from Liquipedia.
4. The numbers crunching for 5 muta (and 6 muta and 7 muta and 8 muta) are complete.
The actions that take place while the mutas are building can be ignored. They are things based on the scoring algorithm that the computer decided are good... I'm confused about the extractor trick.
5 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:33 M:54 G:0 L:2 S:9.0/10 -- BuildDrone @0:40 Drone+1 @0:45 Larva+1 @0:50 Drone+1 @0:50 M:106 G:0 L:2 S:10.0/10 -- BuildOverlord @1:0 Larva+1 @1:15 Overlord+1 @1:15 Larva+1 @1:15 M:181 G:0 L:3 S:10.0/18 -- BuildDrone @1:15 M:131 G:0 L:2 S:11.0/18 -- BuildDrone @1:15 M:81 G:0 L:1 S:12.0/18 -- BuildDrone @1:30 Larva+1 @1:30 M:136 G:0 L:1 S:13.0/18 -- BuildDrone @1:32 Drone+1 @1:32 Drone+1 @1:32 Drone+1 @1:45 Larva+1 @1:45 M:221 G:0 L:1 S:14.0/18 -- BuildDrone @1:47 Drone+1 @2:0 Larva+1 @2:0 M:318 G:0 L:1 S:15.0/18 -- BuildDrone @2:0 M:268 G:0 L:0 S:16.0/18 -- BuildExtractor @2:0 M:243 G:0 L:0 S:15.0/18 -- BuildSpawningPool @2:2 Drone+1 @2:15 Larva+1 @2:17 Drone+1 @2:28 M:307 G:0 L:1 S:14.0/18 -- BuildHatchery @2:30 Extractor+1 @2:30 Larva+1 @2:34 M:51 G:9 L:2 S:13.0/18 -- BuildDrone @2:41 M:50 G:22 L:1 S:14.0/18 -- BuildDrone @2:45 Larva+1 @2:49 M:56 G:37 L:1 S:15.0/18 -- BuildDrone @2:51 Drone+1 @2:52 M:29 G:43 L:0 S:16.0/18 -- BuildExtractor @2:58 Drone+1 @3:0 Larva+1 @3:0 M:62 G:58 L:1 S:15.0/18 -- BuildDrone @3:5 Spawning Pool+1 @3:6 Drone+1 @3:15 Larva+1 @3:15 M:136 G:87 L:1 S:16.0/18 -- BuildDrone @3:17 Drone+1 @3:22 Extractor+1 @3:23 M:154 G:106 L:0 S:17.0/18 -- BuildLair @3:30 Larva+1 @3:32 Drone+1 @3:45 Larva+1 @4:0 Larva+1 @4:8 Hatchery+1 @4:20 M:105 G:223 L:3 S:17.0/18 -- BuildOverlord @4:35 Larva+1 @4:35 M:121 G:280 L:4 S:17.0/18 -- Wait @4:43 Lairs+1 @4:43 M:183 G:310 L:4 S:17.0/18 -- Wait @4:45 Overlord+1 @4:46 M:206 G:321 L:4 S:17.0/26 -- BuildSpire @4:50 Larva+1 @4:50 M:34 G:137 L:6 S:16.0/26 -- Wait @6:26 Spire+1 @6:26 M:706 G:501 L:6 S:16.0/26 -- Wait @6:26 M:706 G:501 L:6 S:16.0/26 -- BuildMutalisk @6:26 M:606 G:401 L:5 S:18.0/26 -- BuildMutalisk @6:26 M:506 G:301 L:4 S:20.0/26 -- BuildMutalisk @6:26 M:406 G:201 L:3 S:22.0/26 -- BuildMutalisk @6:26 M:306 G:101 L:2 S:24.0/26 -- BuildMutalisk @6:26 M:206 G:1 L:1 S:26.0/26 -- BuildOverlord @6:41 Larva+1 @6:41 M:211 G:58 L:2 S:26.0/26 -- Wait @6:41 M:211 G:58 L:2 S:26.0/26 -- ExtractorTrick @6:41 M:186 G:58 L:2 S:25.0/26 -- BuildDrone @6:41 M:136 G:58 L:1 S:26.0/26 -- ExtractorTrick @6:41 M:111 G:58 L:1 S:25.0/26 -- BuildDrone @6:43 Extractor Trick, Drone+1 @6:43 Extractor Trick, Drone+1 @6:51 Overlord+1 @6:56 Larva+1 @6:58 Drone+1 @6:58 Drone+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1
6 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:33 M:54 G:0 L:2 S:9.0/10 -- BuildDrone @0:40 Drone+1 @0:45 Larva+1 @0:50 Drone+1 @0:50 M:106 G:0 L:2 S:10.0/10 -- BuildOverlord @1:0 Larva+1 @1:15 Overlord+1 @1:15 Larva+1 @1:15 M:181 G:0 L:3 S:10.0/18 -- BuildDrone @1:15 M:131 G:0 L:2 S:11.0/18 -- BuildDrone @1:15 M:81 G:0 L:1 S:12.0/18 -- BuildDrone @1:30 Larva+1 @1:30 M:136 G:0 L:1 S:13.0/18 -- BuildDrone @1:32 Drone+1 @1:32 Drone+1 @1:32 Drone+1 @1:45 Larva+1 @1:45 M:221 G:0 L:1 S:14.0/18 -- BuildDrone @1:47 Drone+1 @1:48 M:200 G:0 L:0 S:15.0/18 -- BuildSpawningPool @2:0 Larva+1 @2:0 M:110 G:0 L:1 S:14.0/18 -- BuildDrone @2:0 M:60 G:0 L:0 S:15.0/18 -- BuildExtractor @2:2 Drone+1 @2:15 Larva+1 @2:17 Drone+1 @2:29 M:309 G:0 L:1 S:14.0/18 -- BuildHatchery @2:30 Extractor+1 @2:30 Larva+1 @2:32 M:30 G:5 L:2 S:13.0/18 -- BuildExtractor @2:40 M:55 G:20 L:2 S:12.0/18 -- BuildDrone @2:45 Larva+1 @2:48 M:55 G:36 L:2 S:13.0/18 -- BuildDrone @2:53 Spawning Pool+1 @2:56 M:55 G:51 L:1 S:14.0/18 -- BuildDrone @2:57 Drone+1 @3:0 Larva+1 @3:2 Extractor+1 @3:5 Drone+1 @3:13 Drone+1 @3:15 Larva+1 @3:21 M:155 G:136 L:2 S:15.0/18 -- BuildLair @3:30 Larva+1 @4:9 Hatchery+1 @4:16 M:55 G:245 L:3 S:15.0/18 -- BuildDrone @4:20 M:30 G:261 L:2 S:16.0/18 -- ExtractorTrick //This confuses me. Not sure why it did that. @4:22 Extractor Trick, Drone+1 @4:31 Larva+1 @4:33 Drone+1 @4:33 M:105 G:310 L:4 S:16.0/18 -- BuildOverlord @4:41 Lairs+1 @4:41 M:61 G:340 L:3 S:16.0/18 -- Wait @4:46 Larva+1 @4:58 Overlord+1 @5:1 Larva+1 @5:1 M:201 G:416 L:6 S:16.0/26 -- BuildSpire @6:41 Spire+1 @6:41 M:626 G:596 L:6 S:15.0/26 -- Wait @6:41 M:626 G:596 L:6 S:15.0/26 -- ExtractorTrick @6:41 M:601 G:596 L:6 S:14.0/26 -- BuildMutalisk @6:41 M:501 G:496 L:5 S:16.0/26 -- BuildMutalisk @6:41 M:401 G:396 L:4 S:18.0/26 -- BuildMutalisk @6:41 M:301 G:296 L:3 S:20.0/26 -- BuildMutalisk @6:41 M:201 G:196 L:2 S:22.0/26 -- BuildMutalisk @6:42 M:107 G:100 L:1 S:24.0/26 -- BuildMutalisk @6:43 Extractor Trick, Drone+1 @6:56 Larva+1 @7:11 Larva+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:15 Mutalisk+1
7 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:40 Drone+1 @0:42 M:105 G:0 L:2 S:9.0/10 -- BuildOverlord @0:45 Larva+1 @0:50 M:55 G:0 L:2 S:9.0/10 -- BuildDrone @1:0 Larva+1 @1:7 Overlord+1 @1:7 Drone+1 @1:7 M:112 G:0 L:2 S:10.0/18 -- BuildDrone @1:7 M:62 G:0 L:1 S:11.0/18 -- BuildDrone @1:15 Larva+1 @1:15 M:68 G:0 L:1 S:12.0/18 -- BuildDrone @1:16 M:25 G:0 L:0 S:13.0/18 -- BuildExtractor @1:24 Drone+1 @1:24 Drone+1 @1:30 Larva+1 @1:30 M:98 G:0 L:1 S:12.0/18 -- BuildDrone @1:32 Drone+1 @1:45 Larva+1 @1:45 M:175 G:0 L:1 S:13.0/18 -- BuildDrone @1:46 Extractor+1 @1:47 Drone+1 @2:0 Larva+1 @2:0 M:229 G:28 L:1 S:14.0/18 -- BuildDrone @2:2 Drone+1 @2:3 M:202 G:34 L:0 S:15.0/18 -- BuildSpawningPool @2:15 Larva+1 @2:17 Drone+1 @2:30 Larva+1 @2:43 M:302 G:110 L:2 S:14.0/18 -- BuildHatchery @2:45 Larva+1 @2:50 M:51 G:123 L:3 S:13.0/18 -- BuildDrone @2:57 M:50 G:136 L:2 S:14.0/18 -- BuildDrone @3:5 Larva+1 @3:5 M:56 G:152 L:2 S:15.0/18 -- BuildDrone @3:7 Drone+1 @3:8 Spawning Pool+1 @3:8 M:29 G:157 L:1 S:16.0/18 -- BuildExtractor @3:14 Drone+1 @3:15 M:54 G:171 L:1 S:15.0/18 -- BuildDrone @3:20 Larva+1 @3:21 M:51 G:182 L:1 S:16.0/18 -- BuildDrone @3:22 Drone+1 @3:32 Drone+1 @3:35 Larva+1 @3:38 Extractor+1 @3:38 Drone+1 @3:39 M:156 G:220 L:1 S:17.0/18 -- BuildLair @3:50 Larva+1 @4:5 Larva+1 @4:23 Hatchery+1 @4:35 M:107 G:333 L:3 S:17.0/18 -- BuildOverlord @4:50 Larva+1 @4:50 M:123 G:390 L:4 S:17.0/18 -- Wait @4:59 Lairs+1 @4:59 M:193 G:424 L:4 S:17.0/18 -- Wait @5:0 Overlord+1 @5:0 M:201 G:428 L:4 S:17.0/26 -- BuildSpire @5:5 Larva+1 @5:5 M:36 G:247 L:6 S:16.0/26 -- Wait @6:40 Spire+1 @6:40 M:701 G:608 L:6 S:16.0/26 -- Wait @6:40 M:701 G:608 L:6 S:16.0/26 -- BuildMutalisk @6:40 M:601 G:508 L:5 S:18.0/26 -- BuildMutalisk @6:40 M:501 G:408 L:4 S:20.0/26 -- BuildMutalisk @6:40 M:401 G:308 L:3 S:22.0/26 -- BuildMutalisk @6:40 M:301 G:208 L:2 S:24.0/26 -- BuildMutalisk @6:40 M:201 G:108 L:1 S:26.0/26 -- BuildOverlord @6:55 Larva+1 @7:5 Overlord+1 @7:5 M:276 G:203 L:2 S:26.0/34 -- BuildMutalisk @7:5 M:176 G:103 L:1 S:28.0/34 -- BuildMutalisk @7:10 Larva+1 @7:10 M:111 G:22 L:2 S:30.0/34 -- BuildOverlord @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:16 M:53 G:45 L:1 S:30.0/34 -- BuildDrone @7:25 Larva+1 @7:33 Drone+1 @7:35 Overlord+1 @7:38 Mutalisk+1 @7:38 Mutalisk+1
8 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:33 M:54 G:0 L:2 S:9.0/10 -- BuildDrone @0:40 Drone+1 @0:45 Larva+1 @0:50 Drone+1 @0:50 M:106 G:0 L:2 S:10.0/10 -- BuildOverlord @1:0 Larva+1 @1:15 Overlord+1 @1:15 Larva+1 @1:15 M:181 G:0 L:3 S:10.0/18 -- BuildDrone @1:15 M:131 G:0 L:2 S:11.0/18 -- BuildDrone @1:15 M:81 G:0 L:1 S:12.0/18 -- BuildDrone @1:30 Larva+1 @1:30 M:136 G:0 L:1 S:13.0/18 -- BuildDrone @1:32 Drone+1 @1:32 Drone+1 @1:32 Drone+1 @1:45 Larva+1 @1:45 M:221 G:0 L:1 S:14.0/18 -- BuildDrone @1:47 Drone+1 @2:0 Larva+1 @2:0 M:318 G:0 L:1 S:15.0/18 -- BuildDrone @2:2 Drone+1 @2:15 Larva+1 @2:15 M:425 G:0 L:1 S:16.0/18 -- BuildDrone @2:15 M:375 G:0 L:0 S:17.0/18 -- BuildSpawningPool @2:17 Drone+1 @2:27 M:300 G:0 L:0 S:16.0/18 -- BuildHatchery @2:30 Larva+1 @2:32 Drone+1 @2:32 M:50 G:0 L:1 S:15.0/18 -- BuildDrone @2:45 Larva+1 @2:45 M:137 G:0 L:1 S:16.0/18 -- BuildDrone @2:45 M:87 G:0 L:0 S:17.0/18 -- BuildExtractor @2:49 Drone+1 @2:49 M:102 G:0 L:0 S:16.0/18 -- Wait @2:49 M:102 G:0 L:0 S:16.0/18 -- BuildExtractor @2:49 M:77 G:0 L:0 S:15.0/18 -- BuildExtractor @3:0 Larva+1 @3:0 M:152 G:0 L:1 S:14.0/18 -- BuildDrone @3:2 Drone+1 @3:15 Extractor+1 @3:15 Larva+1 @3:15 M:247 G:1 L:1 S:15.0/18 -- BuildDrone @3:17 Drone+1 @3:19 Extractor+1 @3:19 Extractor+1 @3:20 Spawning Pool+1 @3:30 Larva+1 @3:30 M:273 G:76 L:1 S:16.0/18 -- BuildDrone @3:32 Drone+1 @3:35 M:247 G:104 L:0 S:17.0/18 -- BuildLair @3:45 Larva+1 @3:45 M:97 G:61 L:1 S:17.0/18 -- BuildDrone @3:47 Drone+1 @4:0 Larva+1 @4:2 Drone+1 @4:7 Hatchery+1 @4:15 Larva+1 @4:15 M:103 G:232 L:3 S:18.0/18 -- BuildOverlord @4:30 Larva+1 @4:40 Overlord+1 @4:40 M:159 G:374 L:4 S:18.0/26 -- BuildDrone @4:40 M:109 G:374 L:3 S:19.0/26 -- BuildDrone @4:45 Larva+1 @4:47 M:103 G:414 L:4 S:20.0/26 -- BuildOverlord @4:55 Lairs+1 @4:55 M:53 G:460 L:3 S:20.0/26 -- Wait @4:57 Drone+1 @4:57 Drone+1 @5:0 Larva+1 @5:12 Overlord+1 @5:15 Larva+1 @5:15 M:206 G:574 L:6 S:20.0/34 -- BuildSpire @6:55 Spire+1 @6:55 M:707 G:944 L:6 S:19.0/34 -- Wait @6:55 M:707 G:944 L:6 S:19.0/34 -- BuildMutalisk @6:55 M:607 G:844 L:5 S:21.0/34 -- BuildMutalisk @7:10 Larva+1 @7:10 M:612 G:830 L:6 S:23.0/34 -- Wait @7:10 M:612 G:830 L:6 S:23.0/34 -- BuildExtractor @7:10 M:587 G:830 L:6 S:22.0/34 -- BuildMutalisk @7:10 M:487 G:730 L:5 S:24.0/34 -- BuildMutalisk @7:10 M:387 G:630 L:4 S:26.0/34 -- BuildMutalisk @7:10 M:287 G:530 L:3 S:28.0/34 -- BuildMutalisk @7:10 M:187 G:430 L:2 S:30.0/34 -- BuildMutalisk @7:13 M:105 G:347 L:1 S:32.0/34 -- BuildMutalisk @7:25 Larva+1 @7:25 M:80 G:315 L:2 S:34.0/34 -- Wait @7:25 M:80 G:315 L:2 S:34.0/34 -- ExtractorTrick @7:25 M:55 G:315 L:2 S:33.0/34 -- BuildDrone @7:27 Extractor Trick, Drone+1 @7:28 Mutalisk+1 @7:28 Mutalisk+1 @7:40 Extractor+1 @7:40 Larva+1 @7:42 Drone+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:46 Mutalisk+1
|
Seems like a straight up search algorithm would be faster, might be more memory intensive, but I'd be curious to look at your data structure for storing a game state (even your simplified game state), but it seems like it would be fairly easy to make that switch and if you did a DFS you could prune a lot of the branches with early exit tests (this would be a little more work) to make it really fast.
I'm not a huge expert on this, but I have studied a lot of chess algorithms and I know a decent amount about computer chess and how search is optimized in that space. This is obviously different in that respect, but from the state changing aspect and pruning it actually seems like it would be much easier as in the way we're looking at it here the state only changes in one direction (total number of game objects only goes up).
Anyways, PM me if you want to chat about this at all, I'd love to help, sounds like a cool project.
|
Is it possible to alter the supply code so that it accounts for the supply increase at the time of the unit was built? I.e. showing 10/10 when the last drone is built as opposed to when it is complete.
|
Somebody seriously needs to do the legwork to model all elements of SC2 as a control system so some provable optimal solutions could exist.
FaZe's suggestion doesn't sound any more difficult than what is already happening. Lomilar already said that it uses a set of inputs to search for a goal. Each checkpoint could be solved for in order, and the end result of that checkpoint would be the input for the next step. You couldn't parallelize this unfortunately, but you could at least reuse other checkpoint results in other scenarios.
|
On October 14 2010 01:43 Lomilar wrote:Wow. Good morning all. 1. Minerals are collected as an average per second, not in intervals of 5. That is because I didn't want to determine exactly when 5 minerals came in from each drone, since those timings are based on how they shuffled around when you first told them to mine, etc. 2. It sounds like you guys want it, and you want it now. I'll go ahead and create a project site tomorrow night and release it open source. I need to clean up the code, maybe write some comments, and refactor a bit before I'd feel comfortable pushing it out into the world. 3. All numbers were pulled from Liquipedia. 4. The numbers crunching for 5 muta (and 6 muta and 7 muta and 8 muta) are complete. The actions that take place while the mutas are building can be ignored. They are things based on the scoring algorithm that the computer decided are good... I'm confused about the extractor trick. 5 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:33 M:54 G:0 L:2 S.0/10 -- BuildDrone @0:40 Drone+1 @0:45 Larva+1 @0:50 Drone+1 @0:50 M:106 G:0 L:2 S:10.0/10 -- BuildOverlord @1:0 Larva+1 @1:15 Overlord+1 @1:15 Larva+1 @1:15 M:181 G:0 L:3 S:10.0/18 -- BuildDrone @1:15 M:131 G:0 L:2 S:11.0/18 -- BuildDrone @1:15 M:81 G:0 L:1 S:12.0/18 -- BuildDrone @1:30 Larva+1 @1:30 M:136 G:0 L:1 S:13.0/18 -- BuildDrone @1:32 Drone+1 @1:32 Drone+1 @1:32 Drone+1 @1:45 Larva+1 @1:45 M:221 G:0 L:1 S:14.0/18 -- BuildDrone @1:47 Drone+1 @2:0 Larva+1 @2:0 M:318 G:0 L:1 S:15.0/18 -- BuildDrone @2:0 M:268 G:0 L:0 S:16.0/18 -- BuildExtractor @2:0 M:243 G:0 L:0 S:15.0/18 -- BuildSpawningPool @2:2 Drone+1 @2:15 Larva+1 @2:17 Drone+1 @2:28 M:307 G:0 L:1 S:14.0/18 -- BuildHatchery @2:30 Extractor+1 @2:30 Larva+1 @2:34 M:51 G L:2 S:13.0/18 -- BuildDrone @2:41 M:50 G:22 L:1 S:14.0/18 -- BuildDrone @2:45 Larva+1 @2:49 M:56 G:37 L:1 S:15.0/18 -- BuildDrone @2:51 Drone+1 @2:52 M:29 G:43 L:0 S:16.0/18 -- BuildExtractor @2:58 Drone+1 @3:0 Larva+1 @3:0 M:62 G:58 L:1 S:15.0/18 -- BuildDrone @3:5 Spawning Pool+1 @3:6 Drone+1 @3:15 Larva+1 @3:15 M:136 G:87 L:1 S:16.0/18 -- BuildDrone @3:17 Drone+1 @3:22 Extractor+1 @3:23 M:154 G:106 L:0 S:17.0/18 -- BuildLair @3:30 Larva+1 @3:32 Drone+1 @3:45 Larva+1 @4:0 Larva+1 @4:8 Hatchery+1 @4:20 M:105 G:223 L:3 S:17.0/18 -- BuildOverlord @4:35 Larva+1 @4:35 M:121 G:280 L:4 S:17.0/18 -- Wait @4:43 Lairs+1 @4:43 M:183 G:310 L:4 S:17.0/18 -- Wait @4:45 Overlord+1 @4:46 M:206 G:321 L:4 S:17.0/26 -- BuildSpire @4:50 Larva+1 @4:50 M:34 G:137 L:6 S:16.0/26 -- Wait @6:26 Spire+1 @6:26 M:706 G:501 L:6 S:16.0/26 -- Wait @6:26 M:706 G:501 L:6 S:16.0/26 -- BuildMutalisk @6:26 M:606 G:401 L:5 S:18.0/26 -- BuildMutalisk @6:26 M:506 G:301 L:4 S:20.0/26 -- BuildMutalisk @6:26 M:406 G:201 L:3 S:22.0/26 -- BuildMutalisk @6:26 M:306 G:101 L:2 S:24.0/26 -- BuildMutalisk @6:26 M:206 G:1 L:1 S:26.0/26 -- BuildOverlord @6:41 Larva+1 @6:41 M:211 G:58 L:2 S:26.0/26 -- Wait @6:41 M:211 G:58 L:2 S:26.0/26 -- ExtractorTrick @6:41 M:186 G:58 L:2 S:25.0/26 -- BuildDrone @6:41 M:136 G:58 L:1 S:26.0/26 -- ExtractorTrick @6:41 M:111 G:58 L:1 S:25.0/26 -- BuildDrone @6:43 Extractor Trick, Drone+1 @6:43 Extractor Trick, Drone+1 @6:51 Overlord+1 @6:56 Larva+1 @6:58 Drone+1 @6:58 Drone+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1 @6:59 Mutalisk+1 6 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:33 M:54 G:0 L:2 S.0/10 -- BuildDrone @0:40 Drone+1 @0:45 Larva+1 @0:50 Drone+1 @0:50 M:106 G:0 L:2 S:10.0/10 -- BuildOverlord @1:0 Larva+1 @1:15 Overlord+1 @1:15 Larva+1 @1:15 M:181 G:0 L:3 S:10.0/18 -- BuildDrone @1:15 M:131 G:0 L:2 S:11.0/18 -- BuildDrone @1:15 M:81 G:0 L:1 S:12.0/18 -- BuildDrone @1:30 Larva+1 @1:30 M:136 G:0 L:1 S:13.0/18 -- BuildDrone @1:32 Drone+1 @1:32 Drone+1 @1:32 Drone+1 @1:45 Larva+1 @1:45 M:221 G:0 L:1 S:14.0/18 -- BuildDrone @1:47 Drone+1 @1:48 M:200 G:0 L:0 S:15.0/18 -- BuildSpawningPool @2:0 Larva+1 @2:0 M:110 G:0 L:1 S:14.0/18 -- BuildDrone @2:0 M:60 G:0 L:0 S:15.0/18 -- BuildExtractor @2:2 Drone+1 @2:15 Larva+1 @2:17 Drone+1 @2:29 M:309 G:0 L:1 S:14.0/18 -- BuildHatchery @2:30 Extractor+1 @2:30 Larva+1 @2:32 M:30 G:5 L:2 S:13.0/18 -- BuildExtractor @2:40 M:55 G:20 L:2 S:12.0/18 -- BuildDrone @2:45 Larva+1 @2:48 M:55 G:36 L:2 S:13.0/18 -- BuildDrone @2:53 Spawning Pool+1 @2:56 M:55 G:51 L:1 S:14.0/18 -- BuildDrone @2:57 Drone+1 @3:0 Larva+1 @3:2 Extractor+1 @3:5 Drone+1 @3:13 Drone+1 @3:15 Larva+1 @3:21 M:155 G:136 L:2 S:15.0/18 -- BuildLair @3:30 Larva+1 @4 Hatchery+1 @4:16 M:55 G:245 L:3 S:15.0/18 -- BuildDrone @4:20 M:30 G:261 L:2 S:16.0/18 -- ExtractorTrick //This confuses me. Not sure why it did that. @4:22 Extractor Trick, Drone+1 @4:31 Larva+1 @4:33 Drone+1 @4:33 M:105 G:310 L:4 S:16.0/18 -- BuildOverlord @4:41 Lairs+1 @4:41 M:61 G:340 L:3 S:16.0/18 -- Wait @4:46 Larva+1 @4:58 Overlord+1 @5:1 Larva+1 @5:1 M:201 G:416 L:6 S:16.0/26 -- BuildSpire @6:41 Spire+1 @6:41 M:626 G:596 L:6 S:15.0/26 -- Wait @6:41 M:626 G:596 L:6 S:15.0/26 -- ExtractorTrick @6:41 M:601 G:596 L:6 S:14.0/26 -- BuildMutalisk @6:41 M:501 G:496 L:5 S:16.0/26 -- BuildMutalisk @6:41 M:401 G:396 L:4 S:18.0/26 -- BuildMutalisk @6:41 M:301 G:296 L:3 S:20.0/26 -- BuildMutalisk @6:41 M:201 G:196 L:2 S:22.0/26 -- BuildMutalisk @6:42 M:107 G:100 L:1 S:24.0/26 -- BuildMutalisk @6:43 Extractor Trick, Drone+1 @6:56 Larva+1 @7:11 Larva+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:14 Mutalisk+1 @7:15 Mutalisk+1 7 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:40 Drone+1 @0:42 M:105 G:0 L:2 S.0/10 -- BuildOverlord @0:45 Larva+1 @0:50 M:55 G:0 L:2 S.0/10 -- BuildDrone @1:0 Larva+1 @1:7 Overlord+1 @1:7 Drone+1 @1:7 M:112 G:0 L:2 S:10.0/18 -- BuildDrone @1:7 M:62 G:0 L:1 S:11.0/18 -- BuildDrone @1:15 Larva+1 @1:15 M:68 G:0 L:1 S:12.0/18 -- BuildDrone @1:16 M:25 G:0 L:0 S:13.0/18 -- BuildExtractor @1:24 Drone+1 @1:24 Drone+1 @1:30 Larva+1 @1:30 M8 G:0 L:1 S:12.0/18 -- BuildDrone @1:32 Drone+1 @1:45 Larva+1 @1:45 M:175 G:0 L:1 S:13.0/18 -- BuildDrone @1:46 Extractor+1 @1:47 Drone+1 @2:0 Larva+1 @2:0 M:229 G:28 L:1 S:14.0/18 -- BuildDrone @2:2 Drone+1 @2:3 M:202 G:34 L:0 S:15.0/18 -- BuildSpawningPool @2:15 Larva+1 @2:17 Drone+1 @2:30 Larva+1 @2:43 M:302 G:110 L:2 S:14.0/18 -- BuildHatchery @2:45 Larva+1 @2:50 M:51 G:123 L:3 S:13.0/18 -- BuildDrone @2:57 M:50 G:136 L:2 S:14.0/18 -- BuildDrone @3:5 Larva+1 @3:5 M:56 G:152 L:2 S:15.0/18 -- BuildDrone @3:7 Drone+1 @3:8 Spawning Pool+1 @3:8 M:29 G:157 L:1 S:16.0/18 -- BuildExtractor @3:14 Drone+1 @3:15 M:54 G:171 L:1 S:15.0/18 -- BuildDrone @3:20 Larva+1 @3:21 M:51 G:182 L:1 S:16.0/18 -- BuildDrone @3:22 Drone+1 @3:32 Drone+1 @3:35 Larva+1 @3:38 Extractor+1 @3:38 Drone+1 @3:39 M:156 G:220 L:1 S:17.0/18 -- BuildLair @3:50 Larva+1 @4:5 Larva+1 @4:23 Hatchery+1 @4:35 M:107 G:333 L:3 S:17.0/18 -- BuildOverlord @4:50 Larva+1 @4:50 M:123 G:390 L:4 S:17.0/18 -- Wait @4:59 Lairs+1 @4:59 M:193 G:424 L:4 S:17.0/18 -- Wait @5:0 Overlord+1 @5:0 M:201 G:428 L:4 S:17.0/26 -- BuildSpire @5:5 Larva+1 @5:5 M:36 G:247 L:6 S:16.0/26 -- Wait @6:40 Spire+1 @6:40 M:701 G:608 L:6 S:16.0/26 -- Wait @6:40 M:701 G:608 L:6 S:16.0/26 -- BuildMutalisk @6:40 M:601 G:508 L:5 S:18.0/26 -- BuildMutalisk @6:40 M:501 G:408 L:4 S:20.0/26 -- BuildMutalisk @6:40 M:401 G:308 L:3 S:22.0/26 -- BuildMutalisk @6:40 M:301 G:208 L:2 S:24.0/26 -- BuildMutalisk @6:40 M:201 G:108 L:1 S:26.0/26 -- BuildOverlord @6:55 Larva+1 @7:5 Overlord+1 @7:5 M:276 G:203 L:2 S:26.0/34 -- BuildMutalisk @7:5 M:176 G:103 L:1 S:28.0/34 -- BuildMutalisk @7:10 Larva+1 @7:10 M:111 G:22 L:2 S:30.0/34 -- BuildOverlord @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:13 Mutalisk+1 @7:16 M:53 G:45 L:1 S:30.0/34 -- BuildDrone @7:25 Larva+1 @7:33 Drone+1 @7:35 Overlord+1 @7:38 Mutalisk+1 @7:38 Mutalisk+1 8 muta + Show Spoiler +@0:0 M:50 G:0 L:3 S:6.0/10 -- BuildDrone @0:12 M:51 G:0 L:2 S:7.0/10 -- BuildDrone @0:15 Larva+1 @0:17 Drone+1 @0:23 M:52 G:0 L:2 S:8.0/10 -- BuildDrone @0:29 Drone+1 @0:30 Larva+1 @0:33 M:54 G:0 L:2 S.0/10 -- BuildDrone @0:40 Drone+1 @0:45 Larva+1 @0:50 Drone+1 @0:50 M:106 G:0 L:2 S:10.0/10 -- BuildOverlord @1:0 Larva+1 @1:15 Overlord+1 @1:15 Larva+1 @1:15 M:181 G:0 L:3 S:10.0/18 -- BuildDrone @1:15 M:131 G:0 L:2 S:11.0/18 -- BuildDrone @1:15 M:81 G:0 L:1 S:12.0/18 -- BuildDrone @1:30 Larva+1 @1:30 M:136 G:0 L:1 S:13.0/18 -- BuildDrone @1:32 Drone+1 @1:32 Drone+1 @1:32 Drone+1 @1:45 Larva+1 @1:45 M:221 G:0 L:1 S:14.0/18 -- BuildDrone @1:47 Drone+1 @2:0 Larva+1 @2:0 M:318 G:0 L:1 S:15.0/18 -- BuildDrone @2:2 Drone+1 @2:15 Larva+1 @2:15 M:425 G:0 L:1 S:16.0/18 -- BuildDrone @2:15 M:375 G:0 L:0 S:17.0/18 -- BuildSpawningPool @2:17 Drone+1 @2:27 M:300 G:0 L:0 S:16.0/18 -- BuildHatchery @2:30 Larva+1 @2:32 Drone+1 @2:32 M:50 G:0 L:1 S:15.0/18 -- BuildDrone @2:45 Larva+1 @2:45 M:137 G:0 L:1 S:16.0/18 -- BuildDrone @2:45 M:87 G:0 L:0 S:17.0/18 -- BuildExtractor @2:49 Drone+1 @2:49 M:102 G:0 L:0 S:16.0/18 -- Wait @2:49 M:102 G:0 L:0 S:16.0/18 -- BuildExtractor @2:49 M:77 G:0 L:0 S:15.0/18 -- BuildExtractor @3:0 Larva+1 @3:0 M:152 G:0 L:1 S:14.0/18 -- BuildDrone @3:2 Drone+1 @3:15 Extractor+1 @3:15 Larva+1 @3:15 M:247 G:1 L:1 S:15.0/18 -- BuildDrone @3:17 Drone+1 @3:19 Extractor+1 @3:19 Extractor+1 @3:20 Spawning Pool+1 @3:30 Larva+1 @3:30 M:273 G:76 L:1 S:16.0/18 -- BuildDrone @3:32 Drone+1 @3:35 M:247 G:104 L:0 S:17.0/18 -- BuildLair @3:45 Larva+1 @3:45 M7 G:61 L:1 S:17.0/18 -- BuildDrone @3:47 Drone+1 @4:0 Larva+1 @4:2 Drone+1 @4:7 Hatchery+1 @4:15 Larva+1 @4:15 M:103 G:232 L:3 S:18.0/18 -- BuildOverlord @4:30 Larva+1 @4:40 Overlord+1 @4:40 M:159 G:374 L:4 S:18.0/26 -- BuildDrone @4:40 M:109 G:374 L:3 S:19.0/26 -- BuildDrone @4:45 Larva+1 @4:47 M:103 G:414 L:4 S:20.0/26 -- BuildOverlord @4:55 Lairs+1 @4:55 M:53 G:460 L:3 S:20.0/26 -- Wait @4:57 Drone+1 @4:57 Drone+1 @5:0 Larva+1 @5:12 Overlord+1 @5:15 Larva+1 @5:15 M:206 G:574 L:6 S:20.0/34 -- BuildSpire @6:55 Spire+1 @6:55 M:707 G44 L:6 S:19.0/34 -- Wait @6:55 M:707 G44 L:6 S:19.0/34 -- BuildMutalisk @6:55 M:607 G:844 L:5 S:21.0/34 -- BuildMutalisk @7:10 Larva+1 @7:10 M:612 G:830 L:6 S:23.0/34 -- Wait @7:10 M:612 G:830 L:6 S:23.0/34 -- BuildExtractor @7:10 M:587 G:830 L:6 S:22.0/34 -- BuildMutalisk @7:10 M:487 G:730 L:5 S:24.0/34 -- BuildMutalisk @7:10 M:387 G:630 L:4 S:26.0/34 -- BuildMutalisk @7:10 M:287 G:530 L:3 S:28.0/34 -- BuildMutalisk @7:10 M:187 G:430 L:2 S:30.0/34 -- BuildMutalisk @7:13 M:105 G:347 L:1 S:32.0/34 -- BuildMutalisk @7:25 Larva+1 @7:25 M:80 G:315 L:2 S:34.0/34 -- Wait @7:25 M:80 G:315 L:2 S:34.0/34 -- ExtractorTrick @7:25 M:55 G:315 L:2 S:33.0/34 -- BuildDrone @7:27 Extractor Trick, Drone+1 @7:28 Mutalisk+1 @7:28 Mutalisk+1 @7:40 Extractor+1 @7:40 Larva+1 @7:42 Drone+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:43 Mutalisk+1 @7:46 Mutalisk+1
Could you make an example of a build where the AI transitions from one unit path to another? would it build, say, roaches and lings alternating, or all lings first / roaches second? can you specify which units or buildings have priority?
|
On October 14 2010 01:59 StayFrosty wrote: Is it possible to alter the supply code so that it accounts for the supply increase at the time of the unit was built? I.e. showing 10/10 when the last drone is built as opposed to when it is complete.
When you start building something, it consumes the supply, but standard BO notation states that you start building something at a certain supply, not accounting for its supply.
Therefore, 9 drone you would build when you have 9 supply, not 10.
|
This has so much potential. One of the coolest thing will be to pit, say, the 5mutas build against a 3reapers build or a doublehellion build (whenever a terran version comes out).
Then you clearly see the timings of each build. Using the above example, you can tweak the 5mutas build to delay mutas a bit while having sufficient defense for the early harass.
The next best thing with this, is that you can script that into stuff like the Green Tea AI and practice your timings against it.
I'm really looking forward to this kind of projects!
|
god damn Lomilar, I want I want I want!!!!
|
|
|
|