From Robowiki
Jump to navigation Jump to search
Author(s) Darkcanuck
Extends AdvancedRobot
Targeting Neural Targeting (GF)
Movement Minimum Risk + Wave Surfing
Released September 2009
Current Rating 15th (64.3 APS)
Current Version 1.00
Code License closed

Sub-Pages: Version History | Challenges

Background Information

What's special about it?

This is my first attempt at a competitive melee bot. The concept was to combine wave surfing and minimum risk movements, backed by a fast-learning targeting system.

How competitive is it?

Better than expected: fighting for the hotly contested 12th spot with 4 other bots.


How does it move?

This is still being refined, but the movement combines minimum risk and wave surfing styles. The risk algorithm was inspired by rozu's brilliant HawkOnFire and takes into account distance to each enemy, whether the target location makes B26354 the closest enemy, distance travelled in the last X ticks and distance from the arena walls. Early in a melee round, the lowest risk point is selected from a ring of possible destinations centered around B26354's current position. The wave surfing system developed for Holden and Pris allows the bot to orbit any arbitrary point, so later in the round the destinations are chosen by simulating orbital movement around a convenient corner or mid-wall point. The risk is modified to include the wave danger and the balance of risk to danger shifts as less opponents are left. Once the melee is down to one-on-one, the movement becomes pure wave surfing, with movement centered around the enemy.

How does it fire?

Uses a modified version of Gaff's targeting, combining two neural networks which attempt to predict the most likely Guess Factor to aim at on any given turn. Changes from Gaff's version include a few tweaks to learn faster and less input features to keep skipped turns at bay.

Ideally this targeting implements Shadow's clever melee strategy which calculates aims for all opponents and selects the one likely to hit the most with one shot. But I found a major bug in 1.00 which prevents this from working for the moment...

How does the melee strategy differ from One-on-one strategy?

The only difference is that wave surfing centers around the enemy position in one-on-one whereas with > 2 opponents it will be based on a corner or mid-wall point (or use pure minimum risk movement).

How does it select a target to attack in melee?

Selects the closest target which counts B26354 as it's closest target.

What does it save between rounds and matches?

Between rounds, saves all neural network weights and targeting stats.

Additional Information

Can I use your code?

No, but feel free to ask/beg for snippets and I'll be happy to oblige.

What's next for your robot?
  • Fix the melee targeting
  • Break into the top 10
Does it have any White Whales?
  • Griezel is a very dogged survivalist in my test bed and I'm impressed how often it lasts until the final two with 70+ energy.
What other robot(s) is it based on?

Much of the code is shared with my other bots, especially Holden and Gaff. They all use the same code base.


  • rozu's HawkOnFireOS was very, very helpful in understanding why my original minimum risk implementation sucked and how it could be done better.
  • ABC for sharing Shadow's melee gun strategy -- hopefully I'll get it right next time
  • All of you currently working towards the #1 spot in the rankings for spurring my return to this game type.
  • See Gaff's credits for a full list of those who've helped to inspire the targeting and Holden's credits for the wave surfing.