Conditional value for # of destroyed robots

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

Conditional value for # of destroyed robots

Post#1 » 13 Mar 2018, 20:46

Yeah. Thats about it. It would allow the user to program the ai to recognize when it needs to go on the defensive, without using an overly complicated system of tagging and scanning for "if all allies tagged A are equal or less than (# of taged bots -1) in number". Also, if there are more that 6 bots in a match, then it makes it that much more complicated to keep track of numbers. This would help alleviate the complexity of counting, or at least when counting losses

pier4r
Skynet
Skynet
Posts: 3339

Re: Conditional value for # of destroyed robots

Post#2 » 13 Mar 2018, 22:10

For the moment you can use counting and some assumptions.

I have a little routine that says "go catch resources if you are dominating".

It assumes that if there are 4 or more enemies, I still have to fight. If there are 3 or 2 I compare them with my allies. If there are also 3 or 2 allies (respectively) then there is numerical superiority (because "self" is a +1) and then I go catch around.

It requires more nodes, yes, but no tags and it mostly work.

Moreover online there are only 4 bots now, so it is easier to build the routine.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

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

Re: Conditional value for # of destroyed robots

Post#3 » 03 Apr 2018, 21:47

Ok. I just think that it it easier, because it reduces node number drastically.


Also, a use of this condition would be to adjust strategy in responce to apparent enemy strategy. For example, the condition "if 'enemy bot-mg class' exists" would allow you to see that the plan of the enemy is probably to divide and conquer, or at least if the mg was the first destroyed bot, which shows that it was in the front.

And I know what the argument is: "what good does know the enemy plan do if it is after the fact?"

It is not entirely after the fact. Using the above example, you could predict the enemy's general actions that will follow the destruction of the 'spearhead' of their attack, allowing you to be left unaffected by any backup strategies of the enemy bots

User avatar
TomCat
Script
Script
Posts: 38

Re: Conditional value for # of destroyed robots

Post#4 » 04 Apr 2018, 12:40

I can imagine situations when this could be useful. But much more useful would be number of resources (at start of the battle, at this moment, captured by me, captured by enemy) because this (the captured mainly) can't be counted now in any way.
My God, it's full of stars!

pier4r
Skynet
Skynet
Posts: 3339

Re: Conditional value for # of destroyed robots

Post#5 » 04 Apr 2018, 15:36

I would bet that with tags and counting it can be done, although with many nodes .

And what I see often is that people wants maximum precision, failing more often than not (or not even starting, that is a failure too). Rather one can just approximate the situation close enough.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

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

Re: Conditional value for # of destroyed robots

Post#6 » 05 Apr 2018, 20:28

Approximate resources from starting? As in tweaking the ai appropriately?

If that is what you mean, then it relies on a tag/count system, which, as you stated right before, is a possible way to accomplish determining the amount of destroyed/missing/scored. The only thing is that it takes up tags that can be used for other functions, and is long and clunky (usually)

MGBlitz81
Automaton
Automaton
Posts: 135

Re: Conditional value for # of destroyed robots

Post#7 » 06 Apr 2018, 03:04

At start, check for number of enemies existing and tag something accordingly, like this...

If enemy is 4 in number, tag D all ally base.

Then do this...

If enemy is 3 in number
If ally base exist tagged D
Tag all enemy base 1

Then you can tag and Untag as needed and count up using self tags on the enemy base. Yes it will take quite a.few nodes to do it but ire not too difficult.

pier4r
Skynet
Skynet
Posts: 3339

Re: Conditional value for # of destroyed robots

Post#8 » 06 Apr 2018, 14:22

But it is not needed to tag anything.

With the current setup we know that there are always 4 bots (before it was map dependent).

If there are 3 or less enemies, one is destroyed. If you have 2 or less, two are destroyed. One doesn't really need to count them.

The problem exist if one wants to compare them with the ally team. Anyway it tooks me 6 nodes to consider all the basic cases. 6 nodes (or even 10) is not much, unless one replicates the 6 nodes everywhere.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

MGBlitz81
Automaton
Automaton
Posts: 135

Re: Conditional value for # of destroyed robots

Post#9 » 06 Apr 2018, 17:34

True, I was leaving room for other maps to be taken into consideration though if it needs to be considered in the future.

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

Re: Conditional value for # of destroyed robots

Post#10 » 10 Apr 2018, 21:18

pier4r wrote:If there are 3 or less enemies, one is destroyed. If you have 2 or less, two are destroyed. One doesn't really need to count them.

The problem exist if one wants to compare them with the ally team. Anyway it tooks me 6 nodes to consider all the basic cases. 6 nodes (or even 10) is not much, unless one replicates the 6 nodes everywhere.


Well ok that solves that tactical aspect, but what about this? Lets say you want to play a stalemate for the majority of the game (to prevent large amounts of focused fire from the enemy), then, when there are only 2 or so on each team, you play blitz to secure resources. Sure you could have each bot scan for this (the 2 ally+2 enemy left factor), but it would cause them to act slower, or at least for what I would do. I always have a central command bot (with backups of course) and it would be the one to give orders. It would scan for other factors after the '4 total bots left' condition is met, and it would be quicker and more efficient to scan for # of destroyed bots with one node, then other variables, then give orders, rather than having to waste a couple ticks to do a tag action, evaluate, then proceed with other factor scans, then give orders.

I know that this is a specific strategy (although I wouldnt doubt it being integrated into other main strategies), but it is, I think, a valid point. The tag system used to count destroyed bots currently uses more ticks that this simple node would, which, in battle, could be the deciding factor of victory or defeat.

pier4r
Skynet
Skynet
Posts: 3339

Re: Conditional value for # of destroyed robots

Post#11 » 11 Apr 2018, 21:28

the tag system uses no ticks anymore.

So if you want to change the tactic count the bots (you need once a subtree with 5-10 nodes), if bots are "too much", no tags. If bots are a little, tag one (or all) base with, say A.

If the other bots see a base with tag A, it means "happy party" and they change tactic.

Although my approach is different. I embed in the "capture resources" sections the superiority check. If I am at advantage, I capture.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

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

Re: Conditional value for # of destroyed robots

Post#12 » 16 Apr 2018, 20:52

Ok.

ElvenMonk
Neural Network
Neural Network
Posts: 238

Re: Conditional value for # of destroyed robots

Post#13 » 01 May 2018, 08:30

TomCat wrote:I can imagine situations when this could be useful. But much more useful would be number of resources (at start of the battle, at this moment, captured by me, captured by enemy) because this (the captured mainly) can't be counted now in any way.


Well, it can

Return to “Feature Requests”

Who is online

Users browsing this forum: No registered users and 2 guests