Comparing Results Between Shielders
The highlighted comment was created in this revision.
So as I was putting together my own bullet-shielding-only robot Spitfire, it occurred to me there are a few instances we need to think about if we want to compare performance between shielders. 1) When opponent is at low energy. 2) When opponent is too close. 3) Any other scenario where the robot developer may be tempted to do something other than shielding for special situations.
For mine, I currently try to shield right up until the opponent runs out of energy. If opponent stops firing before running out of energy, I don't fire either. The one time I do fire first is when the opponent is disabled and there are no more opponent waves in play. I never move, accept for a little step out and back in when firing. If opponent is too close for my shielding, I just get hit.
Shielding Robot | APS | Survival | Pairs Won | Specialization | Notes |
---|---|---|---|---|---|
jk.precise.EnergyDome 1.1 | 56.24 | 63.19 | 58.6% | 20,957 | |
jk.precise.EnergyDome 1.2 | 41.18 | 53.75 | 42.4% | 21,732 | |
rsim.micro.uCatcher 0.1 | 30.65 | 41.41 | 27.8% | 8,620 | |
rsim.mini.BulletCatcher 0.4 | 67.02 | 78.06 | 82.5% | 4,043 | (1) |
xander.cat.Spitfire 1.0 | 32.31 | 43.41 | 33.3% | 18,109 | (2) |
wiki.BasicBulletShielder 1.0 | 19.08 | 28.11 | 14.7% | 7,419 |
Notes:
- Has light-weight second mode that takes over when shielding fails or when opponent is low energy.
- A bit handicapped by slow firing response. Only fires first when opponent disabled and no active waves in play.
No problem. The one I made is definitely the bottom of the pack. But I had only decided to make a very simple to show how its done to others. It only fires when the enemy is disabled.
The only way I think I can improve it thought, is to profile what kind of shot the enemy is firing and adjusting to it.
Yup, EnergyDome uses a VG to match which type of HOT/GF0 calculation they are doing, and also keeps an offset tally in case they consistently shoot slightly to the side. I've actually considered going all out and using a Kd-Tree to try to predict how much offset they will shoot with, but I'm a bit scared as to what the results might be :-p
It also doesn't run away under any circumstances, and is very careful to stay at GF0 for the ramming kill.
When I first experimented with Bullet Shielding, what I was trying to achieve was a rammer which closed in using shielding and 0.1 powered bullets, and switched to power 3 bullets at point blank range.
Attack with movement and defend with targeting. The opposite of the Wave Surfing/GuessFactor combination.
But it was so hard to predict where incoming bullets were heading I gave up. Until you showed that competitive Bullet Shielding is possible.
Another note: If shielding is integrated into another robot, the best system isn't necessarily the one that would produce the best bullet-shielding-only score, but rather the one that, against it's opponents, either works really well or fails miserably. It's problematic if it produces a lot of ~90 scores, as there is no good way to know if this is better than your normal drive and gun.
I think perhaps a better measure of how useful they would be when integrated into a bot is 'percentage of pairings above x%', where x is somewhere between 95 and 98. Thoughts?