Parallel Construction

Discussion in 'Planetary Annihilation General Discussion' started by cshen, November 12, 2014.

  1. cshen

    cshen New Member

    Messages:
    1
    Likes Received:
    5
    So I'm running into this minor annoyance and thought I'd make a post. Couldn't find any existing post but the search function sucks so please point me in the right direction if this has been discussed already.

    Currently, no matter how many fab units I select, and how many things I'm building, they will always do it in series. This results in a diminishing return in the increase of number of fab units. They must travel from one building to the next, and that is constant time. So the time it takes to build is 'b/n + x', where b = normal build time, n = number of fabricators, and x = travel time. An ever increasing n will only tend toward x but never let the total construction time drop below x.

    This can be remedied by giving separate orders to groups of fabricators, however, one scenario where that doesn't work is if you want to build planet-wide in an orderly fashion. The auto-placement only works when you use one queue.

    That leaves the hypothetical scenario where I can have a hundred fabricators building two hundred buildings on a planet, and they will still go from one to the next to the next in series. This may be intended but I thought I'd throw out the idea that perhaps they should be smart enough to break off and work in parallel once the number of selected fabricators and number of queued buildings get sufficiently large.

    Thoughts?
    sierra159, tatsujb, LmalukoBR and 2 others like this.
  2. thetrophysystem

    thetrophysystem Post Master General

    Messages:
    7,050
    Likes Received:
    2,874
    Is a nice quality of life thing.

    As well as attacking units not excessively overfiring at a unit, like if 5 ant shells kills a target then if an attack is issued on it then 5 ants should respond while the rest choose different targets as to avoid overkilling.

    As well as factories assisting other factories copying their queues.
    tatsujb likes this.
  3. Crembels

    Crembels Member

    Messages:
    69
    Likes Received:
    90
    YES. God Yes. I would kill for this to be implemented.

    It could work by having a build time threshold (say... 5 seconds), measured against the total build power of the group of fabbers conducting the orders. It should be known how much build power it takes to build a certain building under the threshold, if that limit is exceeded (by being finished faster than the limit) then only the minimum amount of fabbers required to achieve threshold speed will remain on that project, and the rest will move on and continue to subdivide until they either run out of projects or spare build power.

    The group should intelligently divide itself along the list of orders so that as many stages will take (at maximum) 5 seconds to build. If it's faster than that, then the weakest builders are moved along until the build time is as close as it can be to the limit without going over. Lots of small projects will see powerful or numerous fabbers divide frequently (like power fields, mex, walls and turrets), with cheap things like walls having their many sections built almost simultaneously in leaps and bounds.

    Energy usage shouldn't be taken into account, since i believe that the overall faster completion of build queues will mean that any energy stalls will be recovered from much faster on average, but the biggest problem i see with this is actually dividing build plans amongst the units. If you have a mountain of T1 fabbers helping a much smaller number of T2's build T2 stuff, the T1s cant exactly 'move on' at the threshold level, and creates an exception to the "move on the weakest first" clause when they cannot build the structure in the first place... so either the T2 moves along the line and starts the next project while the strength-in-numbers T1's finish the project below threshold level without the T2, or you move on the strongest non-orbital unit first (which will invariably be a T2).

    Also Trophys idea about having this apply to unit attacks to minimize unnecessary overkill should definitely be implemented as well.
    tatsujb likes this.
  4. immorhys

    immorhys New Member

    Messages:
    20
    Likes Received:
    12
    The timer would be good, but I'd settle for a separate button instead/with shift to do it.

    Then for say energy, you can build sequentially. For defence towers, you decide whether you want 1 tower ASAP, or all towers in shortest time.

    Dividing up workload, especially between T1/T2 becomes tricky. I actually don't like T2 starts, T1 finish as a tactic, I'd prefer it to force it to be T2 with T1 helps, then it becomes spread the T2 fabber's out between the load, and then the T1 fabber's between the T2 fabbers.

    8 buildings and 9 fabbers means you'd need to stack a build order that once its finished its quota, it helps the others.
  5. LeadfootSlim

    LeadfootSlim Well-Known Member

    Messages:
    576
    Likes Received:
    349
    I've gotten overlapping global mex orders to work, but it bugs out with air units.
  6. gunshin

    gunshin Well-Known Member

    Messages:
    790
    Likes Received:
    417
    as long as there are options to turn it off, it should be fine. I dont see many uses in actual competetive play though, as managing 3-4 groups of fabbers is really easy to do, and you generally dont have these groups in the same location either. On top of this, you generally want to build structures as quickly as possible so that you can start using their benefits straight away.
  7. cynischizm

    cynischizm Active Member

    Messages:
    158
    Likes Received:
    122
    It's definitely a tricky balance to strike. For some things such as mex it's potentially useful at times, but even then you'd be as well off just manually setting small groups on overlapping build orders (though I appreciate this has some issues with shift clicked orders from time to time).

    There's also issues with eco building that you may actually want to build in sequence with travel time in if you're stalling slightly. You want immediate construction with a bit of travel time to let you refill your storage between builds rather than 10 mex/energy being build painfully slowly in parallel stalling your eco solidly for however long it takes.

    For larger buildings you'll also almost certainly want them built in sequence. If 30 fabbers build a t2 factory I can get out a t2 fabber from the first one pretty quickly while other factories are being built. If I build 3 at the same time with 10 fabbers each it might not take any longer to build all 3 factories overall, but I can't get any units out until all 3 factories are built.

    tl;dr it's a matter of preference. There are scenarios in which parallel build could be useful, but you can also just manually set it up yourself.
  8. ace63

    ace63 Post Master General

    Messages:
    1,067
    Likes Received:
    826
    This has been talked about before, but I don't know if the devs recognized it. I agree that having a modifier button would be the best for everyone.
    @jables Please make sure to take note of this, as it is an important part of improving your UI and reducing micro.
  9. tenaciousc

    tenaciousc Active Member

    Messages:
    125
    Likes Received:
    119

    This! Please, this!
  10. thetrophysystem

    thetrophysystem Post Master General

    Messages:
    7,050
    Likes Received:
    2,874
    Now. I understand the problem with this. A factory making a command on anything, gives the command to their units and not themselves. But, a hook where a factory with an empty queue, assisting a factory, should be hooked in to give it the same queue and not do anything to the units coming out. It is a very specific hook, but it is necesary.
    corteks and tatsujb like this.
  11. zgrssd

    zgrssd Active Member

    Messages:
    658
    Likes Received:
    185
    I usually run the factories on loop build anyway. I am even using the Auto-Loop Mod.
    So the only time a factory is not doing anything is if it is in roll-off time or when I paused it manually (power off).

    Do you mean something like Space Engineers Cooperative Assmbler mode?
    http://www.reddit.com/r/spaceengineers/comments/2jiiyq/cooperative_assemblers_how_do_they_work/

    (starts around 1:20)

    That would not be bad, but Assemblers in SE have to be grouped already (be part of the same conveyor network) for cooperative mode to work.

    Also, what if the enemy then targetted the "master" factory? That would turn off ALL the slaved factories too, just based on some decent guessing.
    Just a one time copy of the production list/saveable production lists sound a lot more reliable then cooperative mode.
  12. mrcurry

    mrcurry New Member

    Messages:
    28
    Likes Received:
    7
    My 2 cents: The general idea of parallel construction is great but it needs more KISS in my book.

    Automatic switching between sequential and parallel would be more infuriating than useful. My preference would be a modifier-button as suggested.

    Parallel building could work by
    1. evenly distributing the fabbers across all queued blueprints.
    2. On completion of one blueprint check if there are more blueprints with 0 fabbers on it available.
    If yes then repeat step 1 on those blueprints using only free fabbers.
    If no repeat step 1 on remaining unfinished blueprints in the queue using only free fabbers until all blueprints are completed.


    Should do the trick right?
    corteks likes this.

Share This Page