Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Trivial restructures #11

Open
Volker-Weissmann opened this issue Jul 5, 2020 · 3 comments
Open

Feature request: Trivial restructures #11

Volker-Weissmann opened this issue Jul 5, 2020 · 3 comments
Labels
enhancement New feature or request

Comments

@Volker-Weissmann
Copy link

It would be nice if the program could automatically rearange this to this. There is nothing that is better in the first link. than in the second link.

@BurnySc2 BurnySc2 added the enhancement New feature or request label Jul 5, 2020
@BurnySc2
Copy link
Owner

BurnySc2 commented Jul 5, 2020

Similar auto-improvements are suggested in #5 but in my opinion very hard to implement. It would need some 'autofiller' or 'autoimprove' button, but adding such a feature seems like a difficult task.
How would you do that? Permutate the whole build order and take the one where the sum of start time of the build order elements is minimal?

@Volker-Weissmann
Copy link
Author

Good question. I will see if I can find a good solution and tell you if I succeeded.

@Volker-Weissmann
Copy link
Author

Volker-Weissmann commented Jul 17, 2020

I just looked at #5 and it is not exactly the same as my feature request:
Implementing my feature request can work without any permutations or trial and error:
Consider the newest zergling in this
There is a rather simple solution to when to start the zergling:

  1. Check what the zergling costs (1 larva, 50 Minerals)
  2. Check what the latest start of something else that costs larva or minerals is (in this case: 1:05)
  3. Start the zergling at the earliest time after 1:05 where there is 1 larva and 50 minerals (in this case: 1:16)

Similar auto-improvements are suggested in #5 but in my opinion very hard to implement. It would need some 'autofiller' or 'autoimprove' button, but adding such a feature seems like a difficult task.
How would you do that? Permute the whole build order and take the one where the sum of start time of the build order elements is minimal?

Permuting it and checking if it gets better seems like a good idea to start. The obvious Problem with trying permutations is that a list of n objects has n! permutations which might result in very large calculation times. But the number of permutations is greatly reduced by the fact that all drones and all OL's are identic. If there are still to many combinations I would suggest the following:
Start of by making each Overlord as late as possible. Then build the Overlord one drone earlier and check if it gets better. Repeat until you find (probably) the best permutation.

Note that the Idea above is just the simplest possible idea. In a few weeks when I have time, I will try to find a good way to do it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants