|
Looking for a Build Order Calculator for BW. You know, something that will tell you how long it takes to execute such-and-such a build.
B4 anyone asks, yep, I did use the Search function here on TL, and I've searched Google extensively as well. Came up goose eggs all around. Found BOCs for Starcraft 2 very easily, but none for BW. Augh. 
I know such a thing exists for BW because I used to use one back when I played BW in '99 or '00. But I don't have the comp it was on anymore, nor do I recall where I saw said BOC.
A little help here? Much appreciated. Btw, great site.
|
I plan on programming one after I finish StarServer, but at the moment I don't think there is one.
|
Bisutopia19295 Posts
That doesn't seem to difficult to make. Birdie being awesome as always will allow me to be a lazy programmer outside the work place.
|
I think most people either Just run their build in game with a timer Or Paper and pencil and Liquipedia
|
On December 27 2013 20:57 Birdie wrote: I plan on programming one after I finish StarServer, but at the moment I don't think there is one. That's so odd, because there WAS one, 'back in the day'. A good one too, as I remember it.
If you do decide to make one, pls keep us apprised on your intentions/progress. And a hearty 'thank you' for even considering such a task, from myself and many others, I'm sure. 
|
There is something like that by the name of Evolution Forge, but it doesn't really generate practical builds, just builds that get x in the least amount of time.
|
On December 27 2013 22:12 BisuDagger wrote: That doesn't seem to difficult to make. It's pretty difficult to make unless you know how to do evolutionary computation. Happily the paper I'm doing at uni right now covers it next month so I should be capable of getting it done
What I plan on doing is making it allow you to set goals for different times, e.g. I want 6 zlings at 3 minutes, 2 sunkens at 5 minutes, 11 mutalisk as soon as possible afterwards. Then it will calculate the best way to achieve those as efficiently as possible.
|
One other Q for Birdie:
Will it be cross-platform? I have both a PC and a Mac. I know a lot of ppl who are Mac-only (I'm here in the Silicon Valley).
|
On December 28 2013 17:42 [[Starlight]] wrote: One other Q for Birdie:
Will it be cross-platform? I have both a PC and a Mac. I know a lot of ppl who are Mac-only (I'm here in the Silicon Valley).
Also people use GNU/Linux. If he uses QT or wxWidgets it will have good chance to be cross-platform.
|
I'll be developing it on Linux with the idea to be released on at least Windoze and Linux. If I can, I'll try get it to work on Mac too, although I don't have one to test it on.
|
On December 28 2013 19:43 Birdie wrote: I'll be developing it on Linux with the idea to be released on at least Windoze and Linux.
If I can, I'll try get it to work on Mac too, although I don't have one to test it on. Sounds cool Birdie, do your best. OS X users are ppl too. 
|
Bisutopia19295 Posts
On December 28 2013 06:48 Birdie wrote:Show nested quote +On December 27 2013 22:12 BisuDagger wrote: That doesn't seem to difficult to make. It's pretty difficult to make unless you know how to do evolutionary computation. Happily the paper I'm doing at uni right now covers it next month so I should be capable of getting it done What I plan on doing is making it allow you to set goals for different times, e.g. I want 6 zlings at 3 minutes, 2 sunkens at 5 minutes, 11 mutalisk as soon as possible afterwards. Then it will calculate the best way to achieve those as efficiently as possible. I'm gosu with data structures and genetic AI. Now I feel challenged to make this lol.
|
|
|
There are 4 variables at play:
1. Worker Production 2. Rate of Mineral/Gas gathering 3. Constant production of Depot/Pylon/Overlord to not get supply blocked. 4. Build/upgrade/unit making timing
Essentially this calculator will have to simulate a single person playing BW to minimize the time it takes to construct the necessary unit composition and amount.
|
On December 30 2013 06:44 Xiphos wrote: There are 4 variables at play:
1. Worker Production 2. Rate of Mineral/Gas gathering 3. Constant production of Depot/Pylon/Overlord to not get supply blocked. 4. Build/upgrade/unit making timing
Essentially this calculator will have to simulate a single person playing BW to minimize the time it takes to construct the necessary unit composition and amount. There would be a lot more variables in play if I ever program this
|
So Birdie, it's been a year... I assume maybe you thought better of doing this? 
If so, no worries, it doesn't sound easy.
|
He stopped being involved in the BW community afaik and he choose not to finish his server, so I think the chance of him programming this is below 1 %.
|
|
|
Here's the old program you're thinking about (latest version is for 1.161).
|
Happy birthdays 
I don't think birdie stopped being involved. He has made lots of posts in the BW section. Just gave up on birdie server lol
Thanks for finding the old program o.o I remember seeing this thread and remembering that it already exists, but I didn't have it anymore.
|
nice, I was looking for a program like this.
|
On December 28 2013 19:43 Birdie wrote: If I can, I'll try get it to work on Mac too, although I don't have one to test it on.
I wouldn't bother. BW doesn't even work on OSX and most people who have OSX and play BW play it on Wine (can install your app with it probably anyway) or boot camp.
|
Here's another program at the cutting edge of Broodwar research: + Show Spoiler +. BOSS is is an extension of the build order search which has been in UAlbertaBot for years, but now works with all 3 races. You can put in a build order goal and it will try to give you time-optimal build orders to achieve that goal. It's open source on github.
From what the author says, it's extremely accurate for everything excluding drone transfers. Unfortunately it is poorly documented and there are no pre-compiled binaries that I see.
Edit: I found some stuff that may work. BOSS binaries don't seem to be on the list though...
|
On January 01 2015 03:01 f10eqq wrote:Here's the old program you're thinking about (latest version is for 1.161). It's not. Cool program, but the one I'm thinking of was cross-platform and ran inside a browser.
|
On January 01 2015 06:16 J.Dong wrote:Here's another program at the cutting edge of Broodwar research: + Show Spoiler +. BOSS is Show nested quote + is an extension of the build order search which has been in UAlbertaBot for years, but now works with all 3 races. You can put in a build order goal and it will try to give you time-optimal build orders to achieve that goal. It's open source on github. From what the author says, it's extremely accurate for everything excluding drone transfers. Unfortunately it is poorly documented and there are no pre-compiled binaries that I see. Edit: I found some stuff that may work. BOSS binaries don't seem to be on the list though...
NICE, that is high tech stuff !
|
On January 01 2015 05:05 rushz0rz wrote:Show nested quote +On December 28 2013 19:43 Birdie wrote: If I can, I'll try get it to work on Mac too, although I don't have one to test it on. I wouldn't bother. BW doesn't even work on OSX It does work under OS X, though technically OS X is running the PowerPC code (emulation?).
IIRC, it works all the way up through Snow Leopard (10.6), because Lion (10.7) and later don't support PowerPC code. Lion got released in mid-2011. One of my comps is a Mac with Tiger (OS X 10.4) that runs BW just fine.
Also looks like Birdie flew the coop on this project anyhow. Can't blame him, it would've been a time sink.
|
I still would like to do this in the future, although if BOSS already does what is needed then there's not much point. It's just difficult to find time, so I'll have to peg away at it slowly in my spare time.
|
Hey guys, I know this is an old thread and bumping it is kinda odd. But I'm totally down to build this in Web. Assuming that data from liquipedia (or some source) is reliable. It gets over the platform/compatibility issue.
I have four months free time, so why not. The question is what features would be best implemented on top of this and what is the most reliable way to get all the data on build times?
|
On April 13 2016 08:47 lantern77 wrote: Hey guys, I know this is an old thread and bumping it is kinda odd. But I'm totally down to build this in Web. Assuming that data from liquipedia (or some source) is reliable. It gets over the platform/compatibility issue.
I have four months free time, so why not. The question is what features would be best implemented on top of this and what is the most reliable way to get all the data on build times? I would say the features necessary is build selection before you start a game. I will assume that you need a launcher or plug-in to do so. Then, you select builds based on Race -> Build. For example, Zerg -> 3H Muta -> Timing. If you are late on the timing, then alert goes up, or timer switches to negative. Oh, yea, timer is important for this imo.
As for the second question, I feel there are three ways to approach this. The easiest, IMO, would be having a strong gamer do 3H muta timing vs. an empty slot and get the time from the rep. The second easiest is programming an AI to do the same, which I think LetaBot might be able to help you with. The third is to watch ZvT replays and see what timing the players hit and take the lowest time available.
|
On April 13 2016 09:01 Jealous wrote:Show nested quote +On April 13 2016 08:47 lantern77 wrote: Hey guys, I know this is an old thread and bumping it is kinda odd. But I'm totally down to build this in Web. Assuming that data from liquipedia (or some source) is reliable. It gets over the platform/compatibility issue.
I have four months free time, so why not. The question is what features would be best implemented on top of this and what is the most reliable way to get all the data on build times? I would say the features necessary is build selection before you start a game. I will assume that you need a launcher or plug-in to do so. Then, you select builds based on Race -> Build. For example, Zerg -> 3H Muta -> Timing. If you are late on the timing, then alert goes up, or timer switches to negative. Oh, yea, timer is important for this imo. As for the second question, I feel there are three ways to approach this. The easiest, IMO, would be having a strong gamer do 3H muta timing vs. an empty slot and get the time from the rep. The second easiest is programming an AI to do the same, which I think LetaBot might be able to help you with. The third is to watch ZvT replays and see what timing the players hit and take the lowest time available.
Oh I definitely like the idea for adding a timing overlay. Like a few minutes after my post someone asked this question http://www.teamliquid.net/forum/brood-war/507531-build-order-overlay Combine the two the overlay and the web build order timeline app and that would be Great. Possibly the web version can export a format that the overlay can take for users to get their timings.
As to my second question I should have rephrased my question, "Where can I get the data for building/researching units/upgrades". Like how long it takes to build a single scv. I know liquipedia has that data, but is it reliable. With this data users can create their own build order timelines(Web app).
|
In my opinion a build order calculator would always be too theoretical and abstract. It is nearly impossible to adjust it to the different maps (different flow of income, different amount of min patches) and different baselayouts. What i would really really really like would be a repanalysis tool for which you can set tons of filters. So for example: 1. Feed an amount of replays into the program (all played on a chosen map) 2. Be able to set filters á la: "Max amount of hydras at time 7:00" + "Hydra Speed at time 7:00" or "earliest Dts"
Get a list of replays which fullfill your filters + Informations á la: Amounts of Nexy, Hatcheries etc. / Amount of Workers.
This would be freaking cool!
|
None of the people that posted in this thread actually brought anything to conclusion regarding what they wrote. I Hope you prove me wrong
|
On January 01 2015 06:16 J.Dong wrote:Here's another program at the cutting edge of Broodwar research: + Show Spoiler +. BOSS is Show nested quote + is an extension of the build order search which has been in UAlbertaBot for years, but now works with all 3 races. You can put in a build order goal and it will try to give you time-optimal build orders to achieve that goal. It's open source on github. From what the author says, it's extremely accurate for everything excluding drone transfers. Unfortunately it is poorly documented and there are no pre-compiled binaries that I see. Edit: I found some stuff that may work. BOSS binaries don't seem to be on the list though... i dont believe this accounts for worker transfers and drone travel time to construction sites' hit on mineral/gas income unfortunately, but if you use just to compare the validity of two BOs the differences should cancel out in all but the tightest timings...
i also found one of the architect's papers on the subject which also doesnt mention travel time as a restriction, which is strange given how much it plays into combat calculations: paper
|
Funny I never seen that thread and also considered creating an engine for that.
For me basic assumptions were:
- You put the exact requirements on what you want to have (e.g 12 mutas + 30 drones vs 12 mutas ASAP would probably give you 12 mutas earlier but with less drones) - Gathering rate for gas mineral (per minerals setup / avg per map etc.) - Timeof going to all important locations (e.g natural, 2nd natural) and also avg. distance (or just time spent) to build specific buildings. This is for workers that have to be in a position - All variables on costs, time of building units/buildings etc.
Now from there it's quite simple as it's just a set of optimization equations, step by step. By principle you always start with straight up macro (number of workers * avg gather rate for this amount of workers to get exact amount of mineral/gas that matches the sum of requirered tech/units), and afterwards you add up different constraints like (I need 1 turret max 7 min mark etc.)
|
On April 13 2016 19:33 kogeT wrote: Funny I never seen that thread and also considered creating an engine for that.
For me basic assumptions were:
- You put the exact requirements on what you want to have (e.g 12 mutas + 30 drones vs 12 mutas ASAP would probably give you 12 mutas earlier but with less drones) - Gathering rate for gas mineral (per minerals setup / avg per map etc.) - Timeof going to all important locations (e.g natural, 2nd natural) and also avg. distance (or just time spent) to build specific buildings. This is for workers that have to be in a position - All variables on costs, time of building units/buildings etc.
Now from there it's quite simple as it's just a set of optimization equations, step by step. By principle you always start with straight up macro (number of workers * avg gather rate for this amount of workers to get exact amount of mineral/gas that matches the sum of requirered tech/units), and afterwards you add up different constraints like (I need 1 turret max 7 min mark etc.)
I agree to that was my thoughts, however at the time I didn't consider base layouts and worker movement. As indicated by Endymion. Plus this can get very theoretical, as molotow indicated.
Mur, I hope I can get something started tonight.
|
liquipedia is reliable, or you can use one of the BW AIs which will have all of the data in them somewhere
On April 13 2016 19:33 kogeT wrote: Funny I never seen that thread and also considered creating an engine for that.
For me basic assumptions were:
- You put the exact requirements on what you want to have (e.g 12 mutas + 30 drones vs 12 mutas ASAP would probably give you 12 mutas earlier but with less drones) - Gathering rate for gas mineral (per minerals setup / avg per map etc.) - Timeof going to all important locations (e.g natural, 2nd natural) and also avg. distance (or just time spent) to build specific buildings. This is for workers that have to be in a position - All variables on costs, time of building units/buildings etc.
Now from there it's quite simple as it's just a set of optimization equations, step by step. By principle you always start with straight up macro (number of workers * avg gather rate for this amount of workers to get exact amount of mineral/gas that matches the sum of requirered tech/units), and afterwards you add up different constraints like (I need 1 turret max 7 min mark etc.)
there are a lot of small considerations that are extremely hard to take into account, but add up to a material amount... like travel time to construction site.. it might not seem difficult, but there is a lot that goes into deciding where to place a building and when to send the drone depending on what's happening in the game.. for a super simplified optimizer you could just give it coordinates depending on your starting position, kinda like how people generally place their buildings in the same exact place depending on the build, but for a webapp it's difficult to simulate that.
|
Coincidentally, I'm learning about linear programming with the simplex algorithm in my CS class atm. I guess manipulating the constraints of an optimization problem is sort of a formal version of what progamers/strategy coaches would do informally to make build orders. No wonder they had to play 12 hours a day- very inefficient algorithm if performed by humans.
|
I just used BWchart to view some things, not rly calculating stuff much or moslty in my head or paper but leave uncertainties on timings and things cause I don't like to play a fixed plan
|
On April 13 2016 17:22 molotow[eef] wrote: In my opinion a build order calculator would always be too theoretical and abstract. It is nearly impossible to adjust it to the different maps (different flow of income, different amount of min patches) and different baselayouts. There was nothing theoretical or abstract about the BW Build Order Calculator I used back in the day. It worked, and worked well.
It wasn't smart enough for you to just put in 'fastest BO to get 12 hydras' or whatever. You had to input various BOs, and through trial and error figure out what was fastest.
But that was actually an advantage, because you got a feel for/better understanding of exactly WHY a particular BO was faster or better. Kinda like driving a manual vs an automatic.
|
THOUGHT: Seems like multiple ppl here actually want to work on a BW BOC(Build Order Calculator) of some kind.
If so, perhaps y'all could coordinate/work together, thus making less work for each individual, and a greater chance of success via your pooled knowledge?
Just a suggestion.
|
|
|
On April 14 2016 16:46 [[Starlight]] wrote: THOUGHT: Seems like multiple ppl here actually want to work on a BW BOC(Build Order Calculator) of some kind.
If so, perhaps y'all could coordinate/work together, thus making less work for each individual, and a greater chance of success via your pooled knowledge?
Just a suggestion.
Definitely agree on that, I started looking into bwCharts algorithm for reading the binary data from the replay files. Hopefully I can replicate it in javascript(Yes a God awful idea). If that effort fails there is RepASM PHP extension, which I can run an instance of only issue here is me getting a server running PHP 4.4.9 or PHP 5.2.8 something. This will be during weekdays
On my weekends, I will be working on the front-end on this. Hopefully I should get some sort of Git started by the end of this week.
If anyone wants to help, just message me on Git and we can discuss it more on there. https://github.com/lantern77
Edit ---- LOL forgot github removed their private message feature. Just message me here and we can get an organization going on github.Or contact me through email its on me github. RRRR
|
|
|
|
|
|