partytime wrote:
I think it's too hard to do.
I agree, there would have to be limits to make it feasible while hopefully keeping it useful. I think there's a simpler way it can be done though.
Location
What if the program didn't care about the location of Units? You could just tell the ACU to make 4 MEXs and it would dutifully record your instruction and assume that it was possible without walking. This would have the advantage of being able to make build orders that were not map dependent, or to demonstrate some abstract concept like "Is it more efficient to build support factories or assist HQ with engineers?" without usless details like map x, start y. Not to mention it eradicates the need to implement path finding etc. You would obviously still need to be able to include walks into BO but they could be added simply as walk commands for x seconds.
Reclaim
Again I think a simpler approach is required. If the program accepted as input the precise reclaim command or factory attack move it would be almost impossible to actually read the produced build order and very difficult for the program to keep up with the latest patch (would also negate my first point about location). Another option would be to simply have the program tell you how many resources you need to reclaim to prevent a stall by minute x. Possibly label the appropriate engineers as reclaimers or maybe give them some parameters like "reclaim 200 mass in 10 seconds" which the program allows for in the eco.
Adjacency
I think it would be really nice if the program told you how many resources had been saved through adjacency bonus. Without locations this would imply instructing the program where there was an adjacency. Shouldn't be too difficult if you told the ACU to make a PGEN and also selected any adjacent units (like land factory).
Interface
I'm sure this will change over time but I was planning to simply start with a command line that gives you a prompt like "800, 4000 (+1, +20) ACU > " where you'd enter the unit you wanted to make first with the ACU (say LF). The numbers are obviously the current eco information. It would then say something like (-7,-50) which would be consumption while factory is in production. It would print a message like "LF finished 00:30" and then give you the prompt "440, 2500 (+1, +20) LF > ". You get the idea. When you enter an empty line it prints the build order in text format along with total resource consumption, time taken and end eco information.
So general thoughts are that this tool would be to
- Help understand consequences of commands as regards to resource consumption
- Facilitate communication (which you alluded to with your online share example). I can imagine a text description of a build order like you see on the forums with instructions for 1st eng, 2nd eng etc.
Regarding the Unit build time, resource cost stats, I don't think it makes sense worrying too much about this without a program that can use the information. I don't think it will be a problem when the time comes especially if I just picked specific information from specific files but it could obviously become as complicated as it needed to be (being able to tell what can make what from LUA instead of hard coded).
partytime wrote:
I can give you a tonne of C# to get you started.
I would love to take a look at what you came up with if you don't mind me having it, thanks.
Can you see any deal breakers with my approach?Statistics: Posted by madformuse — 14 Nov 2014, 12:46
]]>