Convert the operator between filters in the same category to OR, AND (and NOT)

pier4r
Skynet
Skynet
Posts: 3389

Convert the operator between filters in the same category to OR, AND (and NOT)

Post#1 » 22 Feb 2018, 23:07

This question was asked multiple times already in different ways. One big problem reported by GFX was how to find a way to not clutter the GUI. Now I have to say that GFX is pretty amazing in finding solutions for the GUI. Therefore the solution seems more viable.

Given a filter category, say "shield" there is an [OR], near to the category name, that tells the user which operator is used between the filters in the category.

The [OR] could be actually clickable to change in [AND] (or optionally, there could be an invert near to the [OR] to invert it. That is the equivalent to an [AND] due to the De Morgan rules ).

Use case:

I would like to do ( NOT F1 and NOT F2). I remember GFX saying "well, then just select without inversion all the rest of the filters" and it works. It does for short categories.
For example "the ally should have not 25% shield and not 50% shield" that is equal to say "the ally has 75% or 100% shield". But if one category is super long, like enemy/ally/my actions, selecting all the actions is cluttering the entire view.

The difference is clear:
ally that is not attacking an enemy [AND] not moving to an enemy.
and
ally that is idle or moving to a resource or moving to a base or moving to an ally or moving to the enemy base or fleeing from an ally or fleeing from a base or bla or bla or bla

if one uses the current solution:
ally that is not attacking and enemy [OR] not moving to an enemy, one has the condition always true because either is not doing any of the two actions (moving or attacking) or is doing one of them but not the other. So it does not help.

So either one configures long ass nodes, or maybe the new GUI is close to have more flexible options.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
Hairy Phil
Automaton
Automaton
Posts: 153
Contact:

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#2 » 27 Feb 2018, 20:31

And/or radio button as you describe would make my AI so much more concise.

A less-attractive alternative would be to repeat the category, so have one named "target current action AND" and a second named "target current action OR".

pier4r
Skynet
Skynet
Posts: 3389

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#3 » 27 Feb 2018, 21:24

not only concise, even more expressive.

While in theory one can do a lot already, in practice many (I am the first) are not going to implement ideas that may take 20 nodes at once. Sure, maybe over time, but not in one session, unless they are highly motivated.

Especially if those nodes are slight variations or are difficult to read. So with more expressive options one has to "write less".

Because I think the people that have more than 100-200 nodes AIs (used for each class) are rare, as it takes a lot of time to maintain those AIs. It is a reason I did not play for long time.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#4 » 27 Feb 2018, 23:15

An exclusive filter category (like current target action) with an "and" wouldn't make much sense.

pier4r
Skynet
Skynet
Posts: 3389

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#5 » 28 Feb 2018, 00:00

GFX47 wrote:An exclusive filter category (like current target action) with an "and" wouldn't make much sense.


It wouldn't make sense as "and" between positive options, but as "not X and not Y" yes. Especially because the alternative is either to make a lot of nodes, or to select all the other options.

Is the target not attacking me and not moving to me?

To do it now: select all the other options (10+, pretty unreadable node). Or do two nodes, one with not attacking, the other with not moving.

One can say "do one node, with target attacking and moving to me and then use the not exists", true, but then it gets complicated when you want additional filters that won't apply to the "not exists".

With the possibility of combine not X and not Y one has a more concise node.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
Hairy Phil
Automaton
Automaton
Posts: 153
Contact:

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#6 » 28 Feb 2018, 00:43

Yep, in my AI I have a bit that should just say "if target current action is not fleeing from me and not fleeing from ally" and instead has to say "if target current action is attacking me or attacking an ally or fleeing from an enemy or..." all 13 other actions. I have no idea what that node does just by looking at it, it doesn't even fit in the graphic.

WASP103
Script
Script
Posts: 36

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#7 » 28 Feb 2018, 14:40

+1 for this idea. I ran into multiple instances of the workaround Phil is talking about and it's just ugly and not understandable.
Few days later I looked at that part again and saw those huge nodes, thinking to myself: "What the hell did I drink that night". After opening the node and seeing just the two actions left OUT of the node, I was like "aaaah now I see." - was weird.

G.M. [rogueleader]
Algorithm
Algorithm
Posts: 72

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#8 » 06 Mar 2018, 21:23

+1

User avatar
Athelinde
Algorithm
Algorithm
Posts: 64
Contact:

Re: Convert the operator between filters in the same category to OR, AND (and NOT)

Post#9 » 07 Mar 2018, 21:21

+1

Return to “Feature Requests”

Who is online

Users browsing this forum: No registered users and 2 guests