ZeroK-RTS / Zero-K

Open source RTS game running on the Spring/Recoil engine
https://zero-k.info
GNU General Public License v2.0
690 stars 207 forks source link

Selection ranks: select some filterees #4519

Open sprunk opened 3 years ago

sprunk commented 3 years ago

Main use case: cons (rank 2) inside a combat blob (rank 3). Want to select just cons. This is a subset of the more general problem where you want to select something that got filtered without selecting the "main" things.

I think the ideal solution would be to have a modifier that lets you invert the filter. On the other hand some actual players are fairly certain that the edge cases in which inversion would not suffice (have a mex inside a group of cons, but no combat unit -> inversion selects the mex if you apply it indiscriminately; have a con in a factory -> inversion also selects factory) are important so would prefer an explicit "select just cons" modifiers.

I don't play enough to be able to assess the complaint on its merits but ideologically I think working with unit types is for Ctrl+keys (like Ctrl+B) while inversion would be working purely within the ranks framework.

Maybe a radiobutton option like this? Looks like clutter though.

What does Alt do?
(o) invert the filter
( ) select the second-highest rank
( ) apply ranks; ranks ignored without it // the currently existing option
( ) select only mobile constructors
Licho1 commented 3 years ago

The built in filtering system can do such things. I think instead we should let people specify their own filters, because its highly personal. For example i used to play in a system where i box select everything (no ranks, hate those) and then use ctrl+ something to filter just combat units. Then another to remove damaged units - or select damaged units for retreat etc.

So I think if we go into such specifics its better to have very generic system that each person can freely customize rather than hardcode alt for invert.

GoogleFrog commented 1 year ago

The best "selection invert" for the purpose of selecting constructors would be to have Alt make ranks of X (3) and above unselectable. So you would hold it, drag select some cons, and get what you want. The point is that rank 1 (many structures) would still be filtered out.