I see primary intention of tags as selection of groups of objects (or sometimes single objects)
I see usage of tags as binary digits (or for if/else relations between AI branches) as unintended.
People don't use tags in intended way because game limits tags intended usage.
People use tags inappropriately because game allows them to do so.
I'm not talking about team tags here.
So here are my alternative proposals how to support proper usage of tags:
For each filter and selector allow to specify tags applied to group against which filter/selector is tested. E.g.
"Distance to resources tagged 1", "Closest enemy tagged 5", "Attacked by ally tagged 2". For simplicity only one tag can be specified.
Add additional filters "distance to tagged", "tagged current action" and selectors "closest to/farthest from tagged"
And now proposal on how to prevent inappropriate usage:
- Reset tags state before each tick (only for personal tags). Reason: Team tags can replace tags to mark specific objects, but have almost no use for counting.