Zerg Build Order optimizer. - Page 4
Forum Index > SC2 General |
Lomilar
United States130 Posts
| ||
Subversion
South Africa3627 Posts
| ||
GagnarTheUnruly
United States655 Posts
This is rarely what pro gamers are after anyways. As I understand it the goal is usually to make the leanest possible build that can deal with what the opponent is doing, and to invest remaining resources in macro. That requires in-game testing to figure out and this program wouldn't be so useful for that. So to answer your question I don't think you have to worry about breaking SC2! | ||
Adeny
Norway1233 Posts
| ||
Rybka
United States836 Posts
http://en.wikipedia.org/wiki/Rybka What this program would seem to be best-suited to is highly detailed replay analysis. You can't plan a perfect game out from beginning to end, but what you can do is go through the game and take notes about critical decision points. In situations where you did something wrong, or simply not fast enough, you could run the program to tell you how long it would take to perfectly execute the proper decision... whatever that decision might be. If it's 7 corrupters or 8 marines or whatever, you could find the optimal time those units could be built in and whether or not your "position" was truly lost. Groundwork for some very, very cool stuff in SC2 and definitely not amoral IMO. With enough effort and programing it could really evolve the game. | ||
ZodiakLucien
United States14 Posts
On October 13 2010 11:26 Lomilar wrote: Psst, its ovi*2 at 18. fixed | ||
Lobotomist
United States1541 Posts
Could you give it a goal like, "Build 8 roaches and 8 mutas. Must have 3 roaches before spire starts building."? | ||
DragonDefonce
United States790 Posts
| ||
FLuE
United States1012 Posts
Concept is cool, build is useless. They just get a forge when they see your warren and win automatically, maybe with 4 range but I doubt it... A - I think he was just using this build as an example. If he posted the optimal build to make 6 lings nobody would have cared, if he posted the optimal build for 10 mutas it would have been 10 pages long. B - The build isn't useless. I've already tried it and it is very fast, and effective. So for a side note, it is actually a nice opener. I've only done it in some 2v2 RT games, so not sure how it would do in 1s but in a 2v2 it is a nice little build. C - What league are you in that the response to a roach warren on 18 is forge and cannons? And if they do that, then just expand while they turtle behind cannons? Actually cool thing with this build is it looks like a 10 pool if you get just a quick scout...and your economy isn't really horrible after the roaches come out either. | ||
Almania
145 Posts
On October 13 2010 09:29 FrostedMiniWeet wrote: I was actually considering writing a similar program. I was actually underway writing such a program a couple of weeks back before.. like most of my impromptu unpaid programming tasks I got bored and moved on =p. Now it's piqued my interest again and I want to get back to it... Props to the OP, nice work. | ||
BladeRunner
United States407 Posts
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. | ||
StimCraft
United States144 Posts
| ||
kidcrash89
198 Posts
Also, will this consider the option of early expanding? In other words, suppose this were a terran/marine simulator, could it instruct you to make additional barracks? Funny how looking at this from Zerg's perspective actually seems (I could be wrong) to make things LESS complicated, while a problem I approached regarding how many workers are needed to sustain any certain build showed that Zerg's methodology was more complicated. | ||
kevmo
United States38 Posts
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. | ||
voss
Australia146 Posts
example: I want to get out 10 roaches, 4 zerglings, 2 infestors and a hatchery in the shortest time possible. Is this a valid input to your optimizer? | ||
Lomilar
United States130 Posts
On October 13 2010 12:36 voss wrote: Question for you Lomilar: Is it possible to input multiple requirements? Or is it just limited to X number of Y units in fastest possible? example: I want to get out 10 roaches, 4 zerglings, 2 infestors and a hatchery in the shortest time possible. Is this a valid input to your optimizer? Yes. | ||
OwlFeet
75 Posts
| ||
voss
Australia146 Posts
Impressive. In order to maintain a decent economy, can you specify a number of drones? - how does this incorperate with this current amount of drones? Will it factor in the increased resources that come with these drones? Does it factor in oversaturation (pretty hard to do I guess) example: I want to get out 10 roaches, 4 zerglings, 2 infestors, a hatchery, and 30 drones. Will these 30 drones be factored in to the income rate? Will it add 30 drones to the amount of drones in the previous example (10 roaches, 4 zerglings, 2 infestors and a hatchery)? Or will it count the amount of drones from before (if this makes sense)? 1 More question: is it possible to put a higher priority on certain units: - using the previous example; obviously getting the 30 drones out first would result in the fastest time, but it would be unrealistically unsafe. So could you put priority (or something) on the 10 roaches some how? | ||
evanthebouncy!
United States12796 Posts
| ||
BishopXIV
United States19 Posts
| ||
| ||