Gaff
Gaff | |
Author(s) | Darkcanuck |
Extends | AdvancedRobot |
Targeting | Neural Targeting (GF) |
Movement | Random Movement |
Released | June 2008 |
Current Rating | 1689 (95th) |
Current Version | 1.32rm |
Code License | closed |
Download |
Sub-Pages: Version History | Challenges
Background Information
- What's special about it?
I got tired of wrestling with learning bots and made Gaff using a simple movement that popped into my head. This bot was originally a testbed for a new targeting method I was working on.
But Gaff's claim to fame is achieving the highest score vs. Shadow in the fast learning Targeting Challenge 2K7 by a wide margin.
- How competitive is it?
Currently in the top-100 of the 1-on-1 RoboRumble.
Strategy
- How does it move?
Gaff was originally based on a cornering movement which tried to push enemies into the corners to narrow their escape angle and expose near-wall profile flaws. But since version 1.10, Gaff uses a multi-mode movement, consisting of:
- the basic cornering movement
- a simple orbital-style movement with bullet avoidance
- a random orbital-style movement which attempts to put Gaff at a random GF every time the opponent fires.
The cornering and simple orbital movement have a bit of randomness mixed in, plus the bullet prediction/dodging code from Leon. The random orbit makes no attempt to predict or dodge.
- How does it fire?
Uses a single neural-network with one hidden layer no hidden layers. The code still assumes a virtual gun array and is nicely pluggable so that I can test different combinations if I feel the need to go back to multiple guns.
- How does the melee strategy differ from One-on-one strategy?
No difference, but the movement algorithm doesn't take more than one opponent into account so melee performance could be pretty bad.
- How does it select a target to attack/avoid in melee?
Selects the closest target, with some protection against target thrashing.
- What does it save between rounds and matches?
Between rounds, saves all neural network weights, targeting stats and bullet dodging data. Nothing saved between matches.
Additional Information
- Where did you get the name?
Blade Runner again.
- Can I use your code?
Not yet. But feel free to ask if you're curious and maybe I'll post some snippets
- What's next for your robot?
Improve the NN targetingDONE- Add a melee strategy, since I prefer that field over 1on1
- Improve targeting against random movers
- Make the multi-mode movement sophisticated enough to secure a top-50 position
- Does it have any White Whales?
- CassiusClay is proving frustratingly difficult to hit in the Targeting Challenge 2K7
- DogManSPE is Gaff's worst ProblemBot, followed by Infinity
- What other robot(s) is it based on?
Most of the framework is shared with Leon.
Credits
Targeting originally inspired by Engineer, which uses a SOM rather than a backprop network.
Inputs to the targeting network was originally based on Raiko's segmentation but heavily refined since then. The current versions use a data arrangement heavily inspired by DrussGT, which was graciously shared by Skilgannon on the TC2K7 chat page. The new data also uses a modified version of Simonton's radial-distance-to-wall algorithm.
Also thanks to Rednaxela for inspiring the training approach used in Gaff's anti-surfer gun.