From Robowiki
Jump to navigation Jump to search
Author(s) Darkcanuck
Extends AdvancedRobot
Targeting Neural Targeting (GF)
Movement Random Movement
Released June 2008
Current Rating 1689 (95th)
Current Version 1.50
Code License closed

Sub-Pages: Version History | Challenges | Targeting

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-60 of the 1-on-1 RoboRumble.


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?

All the gory details are here: Gaff/Targeting

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 targeting DONE
  • 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?
What other robot(s) is it based on?

Most of the framework is shared with Leon.


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.