Binding Groups

Discussion in 'Planetary Annihilation General Discussion' started by ledarsi, February 24, 2013.

  1. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    One critical aspect of the deathball phenomenon is the user interface which allows players to control their units. I think that PA might expand upon the classical RTS user interface that has become completely standard, and give players simple and powerful tools to bind together an unlimited number of groups which faciliate more interesting gameplay than a single massive blob.


    TL;DR

    I propose a new type of group assignment using a hotkey which binds units together into a single unit from a UI perspective. Units are built individually, and groups can be created and dissolved using hotkeys other than conventional control groups. Grouping has a number of UI effects, including aggregating the units into a single entity that is selected and receives orders, forming them beneath a single strategic icon and status indicator (HP bar, etc), and decreasing the spacing between the units.


    Binding Group Assignment

    The canonical RTS user interface squad selection system is to have ctrl+# assign a selection, and then pressing that number again recalls the group. I am sure that PA will also utilize this squad selection system, apart from the creation of bound unit groups, and the two systems should work quite well together.

    What I propose is to allow players to bind units together into groups which are then selected and issued orders as a single entity. The player selects a group of units, and presses a key combination which binds those units together into a higher-order unit. The resulting group changes the logic of selecting and ordering the units, but does not create a control group bound to a number key. These groups lend order to very large groups of units for selection and issuing orders, and effectively allow the player to designate that certain units will receive orders and act in unison.

    A bound group of this type can be selected by left-click or box-selection which touches it, and it can be issued orders with right click. One or more groups of this type can be bound to a control group (ctrl+#) and this selection can be recalled by pressing that number again.

    By binding groups the player is directing those units to work together, even if they are only a sub-unit of a larger army bound to a keyboard number which will be commanded together. Multiple groups can be bound to control groups, creating a simple and robust army organization system. Each bound group is more integral than the control group- elements of the control group can be selected and ordered separately, and can be sent off independently, while bound groups must be ungrouped before this is possible.

    An additional hotkey should be assigned which dissolves a group of this type (or to many selected groups at once), returning the units to their native status as individuals. A group of individuals can, of course, be box-selected and treated normally like other RTS games. However the option exists to form bound groups, and to modify them by dissolving them and re-forming them with a few keypresses.

    The primary function of this type of binding group assignment is essentially convenience. When a player sends an army out onto map, grouping them in this fashion makes issuing orders to the entire group easier, and makes ordering subsets of the group (likely not what the player intends) require a few additional keypresses.


    Strategic Icons

    Each bound group should be represented by a single strategic icon, and with a single status indicator, including an HP bar and other indicators. This system will need to be quite different from anything in TA or SupCom.

    When using bound groups, from a highly zoomed out perspective the SupCom system of strategic icon will not work. In SupCom the icon is meant to indicate the unit's type quite precisely, and many icons represent an army. Even if highly zoomed out, at a glance a player can identify what type of unit is where. A single icon representing a group will require a complex system of identifying what icon to use based on what is in the group, or ask for player input for icon selection. The SupCom strategic icon system is not an effective solution for PA.

    I suspect that in PA, individual unit detail will be unnecessary when zoomed out, and that a player should zoom in to identify the types of individual units. The information the player actually needs is how many units are in a particular area, not their individual types.

    So instead of having a single icon which conveys a precise type, it makes more sense to have a strategic icon which conveys the force's strength to which the number of units is the most relevant feature. Using something more similar to actual force organization symbols makes more sense than having hundreds of individual strategic icons which the player must scan for composition. Using a system of this type, a group's icon will indicate its approximate size, and the player can zoom into that unit's local area if they want information on individual units.


    Status Indicators

    At higher zoom levels, units need to display their status to the player, including their current damage state. The classical system is simply to have an HP bar which is depleted from right to left, and changes color from green to red with damage.

    A bound group's status indicator needs to concisely convey to the player the approximate condition of the group in the same way. However a group's status is more complicated than a single unit, but can still be easily represented on a status bar. Where a single unit has only a maximum HP and a current HP, a group will also have its "maximum" HP drop as it takes casualties. A group will represent its absolute maximum possible HP, its current maximum, and its current HP.

    I propose that a status indicator icon be created for the purpose of conveying important information about a group to the player in one place. A square/rectangular background of teamcolor floating above the group, with the group's strategic icon, and its current casualty and damage status represented as a composite bar. Grey might be used to indicate dead units' HP, and the classical red/green distinction to indicate damage among the survivors.


    Team Platters

    I also propose a graphical aspect to binding units together. An individual unit might have a "team platter" beneath itself- a circle of teamcolor at its feet, indicating the unit's team in very clear fashion, and also a precise indication of its position and size.

    When bound together, a group of units will have a single, larger team platter beneath the group. This communicates the allegiance, position, and size of the bound group to the player in a very clear and intuitive manner.

    This means that an army composed of many bound groups will have one team platter for each group, indicating the number of "units" (in the military sense, composed of many individuals) in the larger force. A large army will visually appear as a collection of groups, not a single massive blob. Furthermore, grabbing an assault element, an artillery element, a recon element, or whatever else, is greatly simplified.


    Groups, Spacing, & Formations

    I also propose that binding groups together have unit cohesion effects, allowing players to quickly and easily create formations and control unit spacing. I think units which are bound together should pack more tightly than units which are merely selected together.

    Box-selecting a group of units and issuing them an order such as move or attack will naturally cause them to cluster. I propose that the spacing between these units be a relatively large number relative to a unit's size. Binding units together into a single assigned group will also cause units to cluster. I propose that units bound together will keep a spacing that is considerably tighter than for units that are merely box-selected.

    Note that common army organizations will have a mixture, as the player will be selecting bound groups. Multiple bound groups which are selected together and issued a move order will keep wider spacing between groups, but the groups will be more tightly clustered.


    Conclusion

    The basic idea is to have a command which groups units together, causing them to work together until killed or ungrouped, and be treated by the UI as a single unit. A single hotkey command with some grouping logic can accomplish this task.

    Additional features like strategic icons representing force size and strength, compound status indicators representing the entire group's HP instead of having hundreds of tiny HP bars, and various other features can greatly simplify and augment the player's experience of controlling huge armies in many different places. Forming bound groups like this opens up a variety of possibilities for more advanced management tools. For example, a group might be reinforced to replenish lost units.

    This system is a fairly simple feature, and does not intrude at all upon the classical RTS system of using control groups. In fact the two systems should work together to allow players to assign multiple bound groups together into large armies under a single control group, instead of having hundreds of individual units in a messy, unorganized blob.
    Last edited: February 24, 2013
  2. Raevn

    Raevn Moderator Alumni

    Messages:
    4,226
    Likes Received:
    4,324
    If you're suggesting a squad system, but rather than build squads you build individual units that can then be turned into a squad, then there's an existing thread for this - viewtopic.php?f=61&t=43865

    Edit: Which you were the last person to post in ...

    Edit 2: As a purely control-group type mechanic, I'm all for it (just as long as units are still built individually).
  3. Col_Jessep

    Col_Jessep Moderator Alumni

    Messages:
    4,227
    Likes Received:
    257
    Can you write a TL;DR summary and place it on top of your 1st post? That makes it easier for the developers to find out what this thread is about. You got almost 1500 in the OP and many people will shy away from reading that much text unless they know what it is about first. :p
  4. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    Units are built individually. The above is the proposed effects of a new type of group assignment command using a hotkey.

    Players assign groups by selecting units and binding them together using a hotkey, say ctrl+q. When pressed, the selected units are grouped together, and can no longer be selected separately. A second key, such as ctrl+w, would dissolve this assignment, returning them to individuals, which can be ordered about as normal, or can be assigned different groups.

    Grouping has a number of UI effects, including aggregating the units into a single entity that is selected and receives orders, forming them beneath a single strategic icon and status indicator (HP bar, etc), and decreasing the spacing between the units.

    TL;DR to the effect of the above added.
  5. syox

    syox Member

    Messages:
    859
    Likes Received:
    3
  6. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    Syox, first of all there is nothing in that post which would make it come up as a reasonable search term even if they were similar. You searched for the string "units out of" which no reasonable person would search for if they were looking for unit groups. Even the word "group" does not appear in your thread's OP even once.

    Secondly, my post is a UI control group type feature and seems different from what you... describe in the thread which you linked. Hierarchical force organization has been discussed before in a thread I wrote in August last year, but that's such a long time ago and implementations differ. I actually have little problem with threads on similar topics because typically discussions follow different paths, and different people have different ideas on similar subjects. Especially if months have passed, it is very likely that a fresh start on the discussion will have positive results.

    In any case, for a subject as involved as creating unit abstractions and hierarchical force organization, your post is lacking in detail, implementation particulars, and clarity. You might consider rewriting it to give more flesh on the bones of the idea of "meta units" and propose how it might be implemented, rather than "it would be cool if." If we admit only one thread on any particular topic then the first one who posts a thread could assert ownership over the idea, and we may end up with a single conceptually skeletal, weak thread which prevents many other more developed proposals on a superficially similar subject.
  7. kmike13

    kmike13 Member

    Messages:
    401
    Likes Received:
    13
    Didn't supcom 2 have a similar system?
  8. doud

    doud Well-Known Member

    Messages:
    922
    Likes Received:
    568
    That would also imply you have a very smart AI that would choose the best way to efficiently micro manage this new macro Unit.
  9. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    Either that or the behavior is fairly simple and predictable, and the player is specifying they want those units to obey that type of behavior when they group them.

    Still, it is a good point that these groups will probably need enough micro AI for their members to not shoot each other, and how to move and attack in a group.
  10. Pawz

    Pawz Active Member

    Messages:
    951
    Likes Received:
    161
    I have to say I like this idea. Although can I call the bound group a platoon?

    It brings to mind images like this:
    [​IMG]

    The idea of making larger spaces between platoons is brilliant as it would make the above so much easier to accomplish. If platoons only worry about spacing from other platoons that would be ideal (would allow for large vehicles to move through platoons of small kbots without bouncing them all around trying to space out).

    I'd also like to add to the idea the ability of factories to make their queue into a bound control group. You should be able to tick a box on the UI, and every time the factory cycles through its queue it creates a new group.

    I think for reinforcing, you just need two functions - one: Disband, and two: Reinforce. Disband just dissolves the platoon, Fortify grabs nearby unassociated units and adds them to the selected platoon. Probably don't even need to worry about reforming the platoon according to original capability, just hit reinforce and it adds the units and resets the health counter.

    Another helpful command would be 'auto-platoon by location' which would create platoons for a whole selection based on how close units are to each other.
  11. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    Platoons may actually be a better word for the type of group I am talking about, I may co-opt that name. That type of spacing with tighter platoons, with more spacing between platoons, is exactly what I was thinking would result.

    The idea of factories automatically churning out units and assigning them to platoons is good, but raises some implementation difficulties. I am sure it could be done in a simple manner, though.

    Adding to platoons is actually a good idea. However could this not be incorporated into the assignment hotkey? Selecting a collection of units/groups and pressing the group assignment hotkey would at once dissolve any groups and put all selected units into a new group. The dissolve key would be used for breaking a large platoon so it can be assigned into multiple smaller platoons.

    Smart assignment also has potential. Selecting a very large group of units and being able to direct the UI to automatically cut it into however many platoons of a specified number of units would be useful. A command to take this mess of units and divide it into symmetrical platoons of 20 as best as possible, for example, would be great.

    Automatic assignment, such as by location, would in my opinion be a recipe for frustration. Units near one another could bind together and require extra keypresses to separate. If the player wants units logically separated despite physical proximity they can elect not to assign them to the same platoon. If the player wants them logically associated, it's a simple enough command to select them and bind them together.
  12. bobucles

    bobucles Post Master General

    Messages:
    3,388
    Likes Received:
    558
    In TA, factories assigned to a number will automatically group units into that number.
  13. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    I realize that bobucles, but control groups are an arbitrary collection of units which are selected when you press a number key.

    A platoon is a collection of units that form up and function within the UI as a single unit, but which aren't bound to a selection key. Selecting or boxing any member of the platoon will select the entire group, and commands given to the group are obeyed by the entire platoon.

    The reason why factories automatically creating platoons raises implementation difficulties is you probably don't want every unit a factory produces added to the same platoon. As pawz suggested, having a production queue be a single platoon would be an excellent idea. When the queue is finished, the platoon is grouped up, and a new platoon is created and units on that queue cycle are members of a different platoon. The tricky bit is how exactly this works- do units wait at a rally, and then when the group is complete, a platoon is created? What if you move some of the units?

    Perhaps a better solution to automatic platoon assignment would be to have a "rally" object you can place on the map which has a unit list like a build queue. When the units on on near the rally point can be formed into a platoon as defined, a platoon is created. The rally might then have a rally destination to send the completed platoon somewhere else. To capture Pawz's desired behavior, rally a factory to the rally point. They will wait until their platoon definition is met, and then be formed up and sent elsewhere.
  14. Pawz

    Pawz Active Member

    Messages:
    951
    Likes Received:
    161
    Well, the difficulties on what to do with the 'waiting' units at a factory are the same as what to do with a platoon the player creates from units that are not physically close to each other.

    Do they all drive toward a central location to become the platoon? What about units that are blocked, or travel through enemy territory? What happens to a unit that gets picked up by an enemy transport and carried off? Or to units that are split by impassable terrain?

    I think you'd need to set up a platoon leader unit that gets a flag on top and acts as the rallying point of the platoon. Make it automatically selected, or ctrl-click a unit to designate it as the leader. From there, any unit beyond a certain radius (ctrl-click-drag a circle) from the leader will automatically detach from the platoon and be managed as a single unit. However, let ALL units remember which platoon they detached from last, and if they return to within range of the platoon, automatically add them back into the platoon.

    This could be the same mechanic for creating a platoon - ctrl-click-drag a circle, and everything inside the circle that isn't already assigned to a platoon, becomes a platoon.

    This would also apply for factories building a platoon - first unit out becomes the leader. Further units coming out are individuals until they reach the.. 'command radius' of the leader. If the player moves the platoon away from the rally point, the remaining units in the queue will simply become regular units. Once the queue finishes, a new platoon leader emerges, and a quick ctrl-click-drag adds those units left behind from platoon 1 into platoon 2.

    For automated splitting, you could ctrl-click-drag a circle, and then scroll the mousewheel to increase/decrease the number of created platoons.

    I do think though, that you would have to drop the idea of a 'platoon health' in terms of 'how many units is this platoon missing'. I think a better indicator would be 'platoon strength' which just measures how many units are in the platoon. Removing the idea of a platoon existing beyond the units it contains makes the concept much simpler and easier to manage.
  15. ledarsi

    ledarsi Post Master General

    Messages:
    1,381
    Likes Received:
    935
    Designating a "leader" would also work. A system would need to be implemented which promotes a different unit when the leader is killed, but having a line of succession within the platoon is a fairly trivial task. The leader essentially serves as a mobile platoon formation rally point.

    Using a system with a leader, it might even be possible to automate reinforcements. Because a platoon is formed when the defined units are in range of the leader, a partial platoon could also be reinforced by having units compatible with its definition fill in for casualties. Sending the platoon back to a place where fresh troops are rallying would cause it to automatically refill, no player micromanagement needed. You just need suitable troops to be available.

    As I said before though, this system needs to be designed in such a way that it captures the player's intention and doesn't do things the player didn't expressly state should be done. Grabbing units from other platoons, or units the player doesn't want in the platoon, would be bad. This also is a solvable problem; platoons don't grab just anything to reinforce. The player can govern which platoons and which units can be used, and also have a default the player only has to specify once. Newly produced units might default to automatically being available for use as reinforcements. Units that are in a platoon cannot be grabbed, and units which have been dissolved from a platoon can't either.

    Still, the whole automatic grouping concept is icing on the cake. I would be quite content with a simple system for a manual-only keybind to group units together so I can specify they should stay together, and has just the functionality described in the OP.
  16. djunreal

    djunreal New Member

    Messages:
    58
    Likes Received:
    0
    This is starting to sound quite CoH... Squad/Platoon, which you can attach a leader to afterwards (and/or reinforce the platoon/squad separately). Only instead of reinforcing the squad using the squad's own selection option, you'd have to reinforce it from a factory...

    Unless... Perhaps we expand this a little and allow you to 'call' for reinforcements from inside the platoon - maybe make the platoon leader a 'sub-commander' as it were - able to command his platoon, and call for reinforcements, which could then be built by the closest (or least busy) unit factory and walk to join the platoon, or with a special building, be able to launch in drop pods from the factory to join the platoon faster?

    I guess this is now getting a tad complex, but it'd remove the annoyance of having to go to the factory, order more units, wait until they're built (or try to tell the factory to link the new build queue with the existing diminished platoon), and then sending the new units to meet up with the existing platoon commander...

    In that situation, would each platoon have a limited amount of units that could be merged into it to make a crack attack squad, or would it be unlimited? If unlimited, that'll cause problems if there's an in-platoon reinforcement function, but if limited, would be ideal (again, think CoH in terms of squad reinforcement)...

Share This Page