Difference between revisions of "Gaff"
Darkcanuck (talk | contribs) (migrated page from old wiki) |
Darkcanuck (talk | contribs) (updates, credits) |
||
Line 6: | Line 6: | ||
| movement = [[Random Movement]] | | movement = [[Random Movement]] | ||
| released = June 2008 | | released = June 2008 | ||
− | | rating = | + | | rating = 1689 (95th) |
− | | current_version = 1. | + | | current_version = 1.32rm |
| license = closed | | license = closed | ||
| download_link = http://jeromelavigne.ca/robocode/darkcanuck.Gaff_1.30.jar | | download_link = http://jeromelavigne.ca/robocode/darkcanuck.Gaff_1.30.jar | ||
Line 15: | Line 15: | ||
}} | }} | ||
− | + | '''Sub-Pages:''' | |
− | [[/VersionHistory | Version History]] | + | [[/VersionHistory | Version History]] | [[/Challenges | Challenges]] |
== Background Information == | == Background Information == | ||
Line 73: | Line 73: | ||
; What other robot(s) is it based on? | ; What other robot(s) is it based on? | ||
Most of the framework is shared with [[Leon]]. | Most of the framework is shared with [[Leon]]. | ||
− | Targeting inspired by [[Engineer]], | + | |
+ | |||
+ | == 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. | ||
__NOTOC__ __NOEDITSECTION__ | __NOTOC__ __NOEDITSECTION__ | ||
[[Category:MegaBots]] | [[Category:MegaBots]] |
Revision as of 07:45, 12 May 2009
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.