Infinite build queue vs. one-time unit builds

Discussion in 'Planetary Annihilation General Discussion' started by ORFJackal, January 23, 2014.

  1. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    This topic came up in another thread in the PA mod forums, but I think it's something that warrants some discussion also here.

    The new infinite build queue is nice, but it has the limitation that it's not possible to add a single one-time unit build to the front of the queue. For example if you have tank factories producing pounders, but you'd like to produce one or two fabber tanks just to get started on the T2 tank factory. With the current infinite queue you would need to remember to return to the factory after it has built those fabbers, to stop it from producing more fabbers.

    I'd like to have something like this:

    [​IMG]

    One queue for all units and for each group of units there is a toggle whether they will be built infinitely or not. The leftmost spot is for the unit that is under construction. When an infinitely built unit gets its turn and starts getting built, a copy of it is added to the end of the queue. The queued units can be moved around by dragging, cancelled by right-clicking and their count increased by left-clicking - regardless of their position in the queue. (This will also prevent you from accidentally cancelling the partially built unit when you only want to cancel all queued units.)

    Here's an animation of how it would work:

    [​IMG]
  2. moldez

    moldez Active Member

    Messages:
    177
    Likes Received:
    110
    I like that idea ..

    and I believe they will rework/add to the build system along with so many other "first pass" features in the game

    lets wait and see ;)
  3. beer4blood

    beer4blood Active Member

    Messages:
    917
    Likes Received:
    201
    I think you got it sir..... although a toggle for each unit type seems micro intensive, perhaps just ctrl+alt or something of the sort to make it a onetime build interjected into your loop.
  4. Pendaelose

    Pendaelose Well-Known Member

    Messages:
    536
    Likes Received:
    407
    Adding a single unit to the factory is such a pain I usually end up keeping a separate factory just for building those occasional units.

    Your suggestion is fantastic.
    wheeledgoat likes this.
  5. arseface

    arseface Post Master General

    Messages:
    1,804
    Likes Received:
    502
  6. shootall

    shootall Active Member

    Messages:
    218
    Likes Received:
    184
    Are you aware that you can hold ctrl while clicking the unit you want to get it ahead of the queue? It won't cancel whatever is being built at the moment but it will put that unit next in line. I use it a lot.
  7. cdrkf

    cdrkf Post Master General

    Messages:
    5,721
    Likes Received:
    4,793
    Yeah and I think issuing a new unit with cntrl doesn't add it into the repeat queue, although a way to visualise it would be good...
    wheeledgoat likes this.
  8. Pendaelose

    Pendaelose Well-Known Member

    Messages:
    536
    Likes Received:
    407
    Actually, I had no idea. That's super useful.
  9. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    Ctrl-click adds it to the beginning of the queue, but it's also repeated. Just tested it a minute ago.
    beer4blood, cdrkf and Pendaelose like this.
  10. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    Most likely, the infinite loop functionality is the "normal" mode of operation for a factory. The ability to "special order" a specific number of certain units would be a nice feature to layer on top of a normal build cycle. And the UI should be designed with large-scale production and automation in mind.

    I think a robust UI to the effect of automating the production would be a gigantic step forward for the RTS genre. This could be done in a lot of different ways.

    One approach might be to have "rally points" placed independently of factories (see Orders as First Class Entities) and assign build orders to the rally point instead of to each factory individually. Instead of selecting a factory, giving it build orders, and its own rally point, the player selects the rally point and gives it build orders, which will always be on infinite repeat. The rally point would have the same UI when selected as a factory, more or less. But one rally point can give build orders to lots of factories with minimal micromanagement, or lots of rally points can split factory production across lots of locations with minimal micromanagement.

    Factories would automatically fetch build orders from rally points. The factory builds that unit, and sends it to the rally point that requested it. Factories that are closer to that rally point should be prioritized, possibly by calculating how much time that unit will need to travel and adding it to the unit's build time in order to compare factories.

    Players would control all of their factories simultaneously by moving rally points, which keep issuing more build orders back to all your factories. This allows the player to manage their production from the battlefield, regardless of the number of factories the player has, and regardless of their distance. Bonus points for automatic use of transports to expedite reinforcements.


    As another possible feature of this system, rally points could be created with a certain "desired" number of various types of units, and once that rally point is "full" it will stop requesting more units. The player can grab those units and move them, emptying the rally point, and thus cause it to start requesting units from factories again.


    The same principle could easily be adopted for a wide variety of other applications. Such as automatic production of mexes and energy generators. The player would order the UI to keep a mex capped. A builder will construct the metal extractor, and if the mex is destroyed then an order to rebuild it will automatically be created.

    The same UI would also work for energy generators. The player designates a location as an "energy farm" and the UI knows how to construct energy generators in a grid around it. The player would not have to manually give build orders to construct each energy generator in a particular location. Instead, the player could simply order the energy farm to construct a certain number of generators. Ordering "+10" to the energy farm point would tell the UI to lay down a grid of ten energy generators around that point, wherever it is legal to do so. This could be done for factories and other buildings as well.

    Ideally, the player would be able to focus on the battlefield while still retaining control over economy and production. The decision to construct more factories or more energy, and how much, is the player's job. However the decision over the amount does not necessarily require mouse actions or camera focus- but manually placing a building does.
    Last edited: January 23, 2014
  11. carlorizzante

    carlorizzante Post Master General

    Messages:
    1,371
    Likes Received:
    995
    Doesn't already work that way?

    I mean, I usually mix units in a factory, for instance: 1 T2 engineer, 1 Artillery tank, and 5 T2 tanks. And I set the factory to endless production. It actually builds 1 T2 engineer, 1 Artillery tank, 5 T2 tanks, and then it starts all over again the same routine.
  12. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    @ledarsi: Nice idea. I like it a lot.

    It should however be smart enough to wait that the area is safe to build. Otherwise the mex will get destroyed right after rebuilding it - together with the fabber. It can easily become a death trap for an infinite queue of fabbers.
    cptconundrum likes this.
  13. puppeh

    puppeh Member

    Messages:
    42
    Likes Received:
    9
    Adding one time units to a factory that is in continuous build loop mode is something that I have been wanting, so I asked the question in the live stream the other day. My simple preference was to just have any priority additions (with Ctrl) not become part of the loop.

    Anyway, metabolical responded on stream and spoke a bit about their thoughts on the use of continuous loop : http://www.twitch.tv/uberentertainment/b/507079716?t=7h51m10s so it does seem to be something that have been/are thinking about.
  14. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    They mentioned that they might not add it before the launch, because it's a complex problem to solve, but they want to make it possible for people to mod it in.
  15. gremjs03

    gremjs03 New Member

    Messages:
    9
    Likes Received:
    6
    He is talking about having those fabbers built 1 time not infinite. So it is a mix of one time build units with infinite build units. His image displays the infinity symbol above those that it would loop on.
  16. v4skunk84

    v4skunk84 Active Member

    Messages:
    196
    Likes Received:
    64
    I have never had the need to build a single unit ever except a astreous.
    Why just build a single fabber, it isn't even effective when you can just have a factory constantly pumping them out.
  17. ORFJackal

    ORFJackal Active Member

    Messages:
    287
    Likes Received:
    248
    For example when you have your first advanced factory and your top priority is getting offensive units, but you still need a couple of adv fabbers. Let's say that you have an advanced air factory producing peregrines as fast as you can, because you are fighting for air superiority. You will still want at least one advanced fabber to get started on advanced economy. So you would have it produce peregrines infinitely but also produce 1-2 adv fabbers as a one-shot production when you need them.
    corteks and wheeledgoat like this.
  18. rockemsockemrobot

    rockemsockemrobot Member

    Messages:
    38
    Likes Received:
    18
  19. tatsujb

    tatsujb Post Master General

    Messages:
    12,902
    Likes Received:
    5,385
    @orfjackal there is no queue in the PA UI currently, no need to veil ourselves, this doesn't cover it :
    ggg.jpg
    a two decker UI would fill the role much better :
    dgfd.jpg
    what you show in your gif is indeed what SupCom had.

    And I agree no need to reinvent the wheel there this is one of the elements of the UI that me and Culverin have been starving for since the beginning.
    https://forums.uberent.com/threads/community-requested-ui-features-0-1.53170/
    https://forums.uberent.com/threads/gui-mock-up.52739/
    https://forums.uberent.com/threads/unofficial-official-gui-discussion-thread.52055/
  20. metabolical

    metabolical Uber Alumni

    Messages:
    312
    Likes Received:
    1,366
    I changed it so we track priority queued items and don't continuous build. I did not change the UI. It will be in the next build.

Share This Page