From Robowiki
Revision as of 23:21, 4 June 2019 by Origin (talk | contribs) (One would think that I would learn my lesson... English)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Author(s) Origin
Extends AdvancedRobot
Targeting Virtual Guns:
Movement Minimum Risk Movement, Avoids:
Current Version 1.7b
Code License ZLIB
Version History

Background Information

What's special about it?
It is my (User:Origin) first Robocode robot. It won first place in my high school's competition.
Great, I want to try it. Where can I download it?
You can download SleepSiphon here! (
Full source code is available here, on GitHub, under the ZLIB License.
How competitive is it?
Rated 51/403 in MeleeRumble, 233/1163 in RoboRumble (June 4, 2019)


How does it move?
It uses a version of Minimum Risk Movement. Generates destination points in a circle around itself. Calculates danger values for points in a straight line from its current location to that destination point based on a danger function. (Enemy Virtual Bullets data (assumes enemies are firing at it with basic methods such a HOT), distance from other enemies, distance from walls)
How does it fire?
It has four Virtual Guns: HOT, Linear Targeting, Circular Targeting, and Mean Targeting (Circular). Chooses the best gun for each enemy.
Falls back to a (naive and inefficient) Displacement Vector-based KNN gun if the virtual hit rate against an enemy is below a threshold.
How does it dodge bullets?
Enemy Virtual Bullets (predicted bullet locations, assuming it is using HOT, Linear Targeting, or Circular Targeting) are a factor in its path-point danger function (Minimum Risk Movement).
How does the melee strategy differ from One-on-one strategy?
It doesn't, currently.
How does it select a target to attack/avoid in melee?
Attacks whoever is closest.
What does it save between rounds and matches?
Between rounds, it stores information for the Displacement Vector gun. Nothing between matches.

Additional Information

Where did you get the name?
This bot was an obsession of mine for several weeks. My sleep schedule suffered during that time...
Can I use your code?
Well, I won't stop you, but you really shouldn't. This is probably some of the most disorganized code you will ever read.
Any use of my code must follow the ZLIB License.
What's next for your robot?
Nothing in the foreseeable future. SleepSiphon can be considered a closed project. I have several other ideas in the works for new ones, however.
Does it have any White Whales?
None presently.
What other robot(s) is it based on?
  • Inspiration for debugging graphics and "path risks" from Neuromancer
  • "Never closest" movement, inspired by Shadow.
  • I learned a lot about avoiding aggressive bots from playing against Bastion. (not on RoboWiki)