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

Consider standardizing UI and implementation between mech infantry and paratroopers. #5724

Closed
asvitkine opened this issue Dec 19, 2019 · 8 comments
Assignees
Labels
Discussion team communication thread, meant for coordination and decision making

Comments

@asvitkine
Copy link
Contributor

Consider standardizing UI and implementation between mech infantry and paratroopers.

The two techs work very similarly. With mech infantry, a tank paired with an infantry can extend that unit's movement.

With paratroopers, a bomber paired with an infantry can extend that unit's movement.

However, the UI and internal representation for these are very different. For mech infantry, you just select the units to move together and can move them as normal.

For paratroopers, when you select any bombers to move, a dialog is popped up asking you to select how many of them you want to load. If you answer non-0, then a second dialog is popped up asking you which units (of the ones you've not selected already) should be loaded onto the bombers. Then, internally, the loaded units are represented by a dependentUnits map and not part of the actual units to move.

I don't see a good reason for having this inconsistency. It seems ideally we should treat the two the same - i.e. just select a bomber with an infantry would allow it to be paratrooped, just like in the tank + infantry mech infantry case.

Besides simplifying the UI, I think it would allow the internal code and state machine to be simplified significantly.

@asvitkine
Copy link
Contributor Author

@DanVanAtta @RoiEXLab @ron-murhammer

Any thoughts on this? Am I missing something that would complicate or prevent doing this?

(In terms of timing, I think we probably shouldn't do this for 2.0 to avoid risking more big changes before the release, but I think this would be good to do after.)

@panther2
Copy link
Contributor

panther2 commented Dec 19, 2019

@asvitkine
I don't know whether the following affects your coding ideas, but anyway:

Paratroopers depend on the rulesets. While there are games where a paratrooper is an infantry transported by a bomber, we have rulesets, where a paratrooper is simply a "flying infantry".
Also there are movement restrictions for paratroopers when entering a hostile territory.

Also we have mechanized infantries as generic units in some rulesets.

@RoiEXLab
Copy link
Member

I don't think I'm the right person to be asked this, your explanation seems reasonable, but I haven't really played a game with mech infantries so can't really tell

@asvitkine
Copy link
Contributor Author

@panther2

Right, I'm referring specifically to the ww2v3 paratroopers tech and the UI for it. I understand that there are also other things called paratroopers that work differently - I'm not planning to change those.

@ron-murhammer
Copy link
Member

@asvitkine This has been discussed some when I made some enhancements to land transports for implementing trains: https://forums.triplea-game.org/topic/180/land-transport-improvements. I think most of the consensus was that folks prefer how land transports work (after that enhancement) compared to how air transports work. And most of the concerned when adding capacity for land transports was to keep the simple way the land transports don't require the select unit prompt. So I'm all for making this change.

I believe you should be able to use similar logic to how land transports work if you made that change for air transports. The most challenging part is you have to be able to handle complex situations where you have a bunch of units selected including air transports and have to decide which units to put in which air transports to determine if the move is valid.

@Cernelius
Copy link
Contributor

They are not the that similar, unless maybe if your land transport and your air transport both move only 2 spaces, transporting only units that only move 1 space (that is actually the case in the basic v3, but only for land).

Land transports, say a train, don't work like air transports, that start transporting at a point and end at a point, thus being able to transport between two points only. Land transports are always on land; so, for example, you can move of 1 territory, pick up a unit and transport it of 3 territories, then move 1 territory without any units, then pick up another unit, etc..

Personally, I would agree that air transports should be able to perform this way too, jumping territory to territory, instead of being obliged to use all their movement as a single fly, but this is definitely against the basic rules.

Long story short, I don't believe you should make the two work the same, as land transports are able to transport multiple units per phase, or anyways picking up units on the way, while, by basic rules, air transports can transport only one per phase.

I think this should be documented more extensively in pos2, since TripleA land transports are well past the limited situation of basic v3, to avoid discussions like this one resurfacing periodically (I mean avoiding restarting up the whole matter back from the v3 case only).

As long as the functionality itself goes, my vote goes certainly in favour of how land transports go: it is much easier to just pick the units you want to move together and move them normally, than having to navigate through the dialog system. It is way easier to play with land transports than air transports and, on top of that, they are even allowing multiple transportations per phase.

If you want to make both land and air work the way land transports work, I guess that would have my vote, as long as land transports are not touched and keep working exactly as they do now (but you'll have to implement all the various restrictions that air transports have, on them only).

These are the main items that land transports can do, and air transports cannot do:

  • Land transports can transport a unit that starts the phase not in their starting zone, by moving in that zone first.
  • Land transports can transport multiple units per phase at different points, also starting transporting a new one after ending transporting a previous one.
  • Land transports can transport units into ships.

And these are just the main items; there are all of a bunch of additional differences and limitations, for air transports (also relatively to combat, like when AA fire on the transport transporting the unit into battle (as in TripleA AA are not limited to hitting air units only)).

@simon33-2
Copy link
Contributor

simon33-2 commented Dec 21, 2019

You know it so happens that I'm looking at implementing a nearly perfect paratrooper as this is being discussed.

The only real UI improvement I would call for is that the second dialog box should be unnecessary in most cases. If there is only one type of unit available to load onto the air transports and only one of those units can fit into each air transport (which it would be nearly always) then it is completely unnecessary. Just load one of each into the "n" number of transports that is selected. I mean, what else could the user mean? The first dialog seems a bit clunky but it is totally workable. Another way of doing it though would be if they moved 7 bombers into a territory to ask at that point what units they want to load into the bombers (if any).

I'm still wondering if my list of desired features is possible at present:

  • Only allowed to attack territories already under attack
  • Air transport unit
  • Air transports targetted by AA Guns, if hit both transport and troops killed
  • A smaller (in terms of sea transport capacity) unit being forbidden.

I think 2, 3 & 4 should be easy but I think the first one might only be doable with the tech. Perhaps the tech could be granted to every power but then does that mean tech development has to be turned on?

@DanVanAtta
Copy link
Member

Sounds like the general concensus is having the moves work more like mech infantry, eg:

  • move 2 bombers and 2 infantry 2 spaces, then no prompts (as the infantry can only move that far if they are loaded onto the transporting bomber)
  • move 2 bombers and 2 infantry 1 space, then prompt how many to load (as infantry can get there either by loading or moving directly)

@DanVanAtta DanVanAtta added the Discussion team communication thread, meant for coordination and decision making label Mar 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion team communication thread, meant for coordination and decision making
Projects
None yet
Development

No branches or pull requests

7 participants