Support priority definition


  • Moderators

    I ask for a feature making the mapmakers able to define the priority of supported units and documenting in pos2 how the current support priority is determined.

    I believe currently the support is always assigned progressively based on the strength of the target, and by alphabetical order in case of same strength.

    The feature proposal is:

    • Add two global properties for setting a fixed custom support order, that would be followed by any support attachments, when prioritizing targets amongst the offending or defending eligible units (that are set for each support attachment by the "unitType" option).
      For example:
      <property name="supportOffendingUnitTypePriorityOrder" value="unitType1:unitType2:...."/>
      <property name="supportDefendingUnitTypePriorityOrder" value="unitType1:unitType2:...."/>

    Offensive and Defensive refer to the units (respectively, the units attacking or getting attacked), not to the supporting side (notice that the "offensive" one would be used in case "faction" is "allied" and "side" is "offence" or "faction" is "enemy" and "side" is "defence", while the "defensive" one would be used in case "faction" is "enemy" and "side" is "offence" or "faction" is "allied" and "side" is "defence").

    Or any way of being able to exactly define the order in which the support is assigned, by units types.

    I may give some examples in which this feature can be used, in following posts, if wanted.

    p.s.: Maybe the default for same strength units (if this is how it works) should follow the order the units are listed in "unitList", rather than ever being alphabetical.


  • Admin

    @Cernel I think the big question is if we change any of the defaults (essentially your first 2 points), does that impact any existing maps? Without knowing and reviewing those impacts, its gonna be hard to justify changing this. Adding additional options to specify the order could be done but I probably wouldn't prioritize it much unless someone had a high quality map that was gonna look to take advantage of it.


  • Moderators

    @redrum I really only care about point 3, namely:

    Add a boolean option or property that, if true, will always simply assign progressively following the order in the "unitType" option

    The other suggestions were really only to make the system some more sensible, but once you can define exactly the order you want, I really would not care at all for my own stuff. I've something that would use this, but it's not coming out very soon, and, for now, I can define the order I want by setting whatever strength, then giving support to self to get to the actual strength (dirty I know). Also calling units so to have the alphabetical order I want.


  • Admin

    @Cernel I see. Well, I don't think it would be easy to add an option to order them by the unitType list in the supportAttachment given how its currently implemented. The reason for that is that support is calculated 1 unit at a time and the support attachments are essentially sorted before that. An easier approach would be providing a list for each unit for the order it would prioritize receiving support or just have a way to globally define a list of the ordering for all units. But I'm not sure whether that would work for your particular map.


  • Moderators

    @redrum said in Support priority definition:

    An easier approach would be providing a list for each unit for the order it would prioritize receiving support

    Can you clarify what this mean with an example? I'm not sure I understand.

    or just have a way to globally define a list of the ordering for all units. But I'm not sure whether that would work for your particular map.

    This would be a little limiting, in perspective, but still much better than nothing, and would at least cover all I have at the moment.


  • Admin

    @Cernel So instead of specifying the priority units receive the support attachment in unitType list. You would have a unit option where you could list what order support applies to a unit:

    <unitAttachment>
       <option name="supportOrder" value="supportAttachment1:supportAttachment2:...."/>
    </unitAttachment>
    

    Or have a global property that does that for all units:

    <property name="supportOrder" value="supportAttachment1:supportAttachment2:...."/>
    

  • Moderators

    @redrum said in Support priority definition:

    @Cernel So instead of specifying the priority units receive the support attachment in unitType list. You would have a unit option where you could list what order support applies to a unit:

    <unitAttachment>
       <option name="supportOrder" value="supportAttachment1:supportAttachment2:...."/>
    </unitAttachment>
    

    Or have a global property that does that for all units:

    <property name="supportOrder" value="supportAttachment1:supportAttachment2:...."/>
    

    Oh no, you misunderstood! Maybe my fault.

    By the way, that would be nice to have too, but it's just not this feature request.

    What I was saying is ordering the units that receive the support, not ordering the supports that the unit is receiving.

    For example (not my case), if I have artillery supporting infantry and marines, being able to define whether the artillery is going to support infantry or marines units first. Currently I believe how it works is that the one with the lowest basic strength is supported first, and alphabetical order if they have the same value (this can remain the default behaviour, though I think list order would make more sense than alphabetical).


  • Moderators

    @Cernel Side note, the way it works should be documented in pos2 anyways. I just believe that is how it works by testing it, but I may miss something, so a developer would need to look at the code and confirm, before anyone documents it.


  • Admin

    @Cernel I see. I think probably the best that could be done without a very significant rework would be to have a global property that defined the priority of units for receiving any support:

    <property name="supportOrder" value="unitType1:unitType2:...."/>
    

    The units would then be sorted to match that and then each unit checked against all support attachments 1 by 1.


  • Moderators

    @redrum That would be good for me. I can see it maybe being a little limiting, and my proposal was basically to use the order you are already going to define in the "unitType" option (which is currently just a set), so that it can be set for each support attachment, then a global property for telling using that, instead of ordering by the current default method, whatever it is.


  • Moderators

    @Cernel But currently the default is global too, as it is based on the values and names of the units, so I see it would make sense to modify that globally, as well, instead of per attachment. Anyways, as I said, this would be really good, especially if you want to make a game and be sure to define such behaviour as you wish (currently you have to rely on a default that is not even documented!).


  • Admin

    @Cernel Yeah, you could potentially just have a boolean property and use the ordering of the unitType list in the XML but since that list is used for what order units are displayed in, I figure its better to have a separate list for support ordering in case you want them to display in a certain order that is different from what order they receive support.


  • Moderators

    @redrum said in Support priority definition:

    @Cernel Yeah, you could potentially just have a boolean property and use the ordering of the unitType list in the XML but since that list is used for what order units are displayed in, I figure its better to have a separate list for support ordering in case you want them to display in a certain order that is different from what order they receive support.

    I don't really see why, and I actually think it might be better if the two are the same. Anyways, any very good quality maps should use custom tooltips, if you ask me.


  • Moderators

    I'll add to the initial post a request for documenting exactly how the current system works. A thing I didn't test is, for example, if changes to the strength values of the units due to technology or territory effects will change the support order.


  • Admin

    @Cernel I think an example would be you want units to display generally from weakest to strongest in the BC and other places (inf, art, tank, etc) but maybe you want support for a certain map to apply in the opposite direction and apply first to strongest units to weakest units.


  • Moderators

    @redrum said in Support priority definition:

    @Cernel I think an example would be you want units to display generally from weakest to strongest in the BC and other places (inf, art, tank, etc) but maybe you want support for a certain map to apply in the opposite direction and apply first to strongest units to weakest units.

    Again, I'm not sure we are talking about the same thing.

    By "unitType" I (always and only) meant the option called as such in the support attachment.

    I don't think that influences in any ways the listing in the battlecalculator or anywhere else, does it? That is why I said "which is currently just a set", isn't it?


  • Admin

    @Cernel Oh ok. The issue with using the supportAttachment unitType is that if 2 supportAttachments had conflicting ordering, the way its implemented couldn't handle that as units are all sorted first then support is applied to each one. So you could only have a single ordering for supports which is why I recommended a global property.


  • Moderators

    @redrum Ok, cool, I didn't know that. I can see it would be off the mark asking for reworking the general process to support what is a rather peculiar feature, so I'm editing the first post as requesting just a general customizable listing per game. I understand you know exactly how that support list is sorted and I'm guessing that same listing is used for other reasons too; it would be good to clarify this in pos2.


  • Moderators

    There is also the matter that I believe currently you have two priority lists, one for when the units are on the offence and one for when the units are on the defence. How I believe it currently works is that if you have a unit that it is 1/2 and another unit that it is 2/1, the first unit is supported first if it is attacking and it is supported last if it is defending (again; this should be documented exactly in pos2).

    So, I don't actually want having the same priority order for both offence and defence and, if it can be confirmed what I'm saying here is correct, I've updated the first post with the request of two global properties, one for the offending and one for the defending units.


  • Moderators

    @redrum Am I being correct about this, that currently there are two global lists per game for prioritizing support amongst units?


Log in to reply