Difference between revisions of "SleepSiphon"

From Robowiki
Jump to navigation Jump to search
m (Added category tags)
m (Added Links)
Line 11: Line 11:
 
* [[Circular Targeting|Circular Targeting]]
 
* [[Circular Targeting|Circular Targeting]]
 
* [[Linear Targeting]]
 
* [[Linear Targeting]]
| current_version = 1.7b
+
| current_version = [https://github.com/John-Paul-R/SleepSiphon/releases/tag/1.7b 1.7b]
| license        = [[ZLIB]]
+
| license        = [http://www.gzip.org/zlib/zlib_license.html ZLib]
| download_link  =  
+
| download_link  = https://github.com/John-Paul-R/SleepSiphon/releases/download/1.7b/origin.SleepSiphon_1.7b.jar
 
| isOpenSource    = yes
 
| isOpenSource    = yes
 
| isMelee        = yes
 
| isMelee        = yes
 
| isOneOnOne      = yes
 
| isOneOnOne      = yes
 
}}
 
}}
 
 
{{Navbox small
 
{{Navbox small
 
| title        = Sub-pages
 
| title        = Sub-pages
Line 25: Line 24:
  
 
== Background Information ==
 
== Background Information ==
 +
 
; What's special about it?
 
; What's special about it?
 
: It is my first Robocode robot.  Won first place in my school's competition.
 
: It is my first Robocode robot.  Won first place in my school's competition.
  
 
; Great, I want to try it. Where can I download it?
 
; Great, I want to try it. Where can I download it?
: You can download SleepSiphon here!
+
: You can download SleepSiphon [[https://github.com/John-Paul-R/SleepSiphon/releases/download/1.7b/origin.SleepSiphon_1.7b.jar here]]!
  
 
; How competitive is it?
 
; How competitive is it?
Line 41: Line 41:
 
; How does it fire?
 
; 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.
 
: 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 (not full [[Dynamic Clustering]]) gun if the virtual hit rate against an enemy is below a threshold.
+
: Falls back to a (naive and inefficient) [[Displacement Vector]]-based [https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm KNN] (not full [[Dynamic Clustering]]) gun if the virtual hit rate against an enemy is below a threshold.
  
 
; How does it [[Dodging Bullets|dodge bullets]]?
 
; How does it [[Dodging Bullets|dodge bullets]]?
Line 62: Line 62:
 
; Can I use your code?
 
; 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.
 
: 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|ZLib License]].  
+
: Any use of my code must follow the [http://www.gzip.org/zlib/zlib_license.html ZLib License].  
:* SleepSiphon Github Repository
+
: * [https://github.com/John-Paul-R/SleepSiphon SleepSiphon Github Repository]
  
 
; What's next for your robot?
 
; What's next for your robot?
Line 72: Line 72:
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
:* Inspiration for debugging graphics and "path risks" from [[Neuromancer]]
+
 
:* "Never closest" movement, inspired by [[Shadow]].
+
: * Inspiration for debugging graphics and "path risks" from [[Neuromancer]]
:* I learned a lot about avoiding aggressive bots from playing against Bastion. (not on RoboWiki)
+
: * "Never closest" movement, inspired by [[Shadow]].
 +
: * I learned a lot about avoiding aggressive bots from playing against Bastion. (not on RoboWiki)
  
 
[[Category:Bots|SleepSiphon]]
 
[[Category:Bots|SleepSiphon]]

Revision as of 19:15, 22 June 2018

SleepSiphon
Author(s) Origin
Extends AdvancedRobot
Targeting Virtual Guns:
Movement Minimum Risk Movement, Avoids:
Current Version 1.7b
Code License ZLib
Download
Sub-pages:
Version History

Background Information

What's special about it?
It is my first Robocode robot. Won first place in my school's competition.
Great, I want to try it. Where can I download it?
You can download SleepSiphon [here]!
How competitive is it?
N/A (Awaiting RoboRumble results.)

Strategy

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, 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 (not full Dynamic Clustering) gun if the virtual hit rate against an enemy is below a threshold.
How does it dodge bullets?
Enemy Virtual Bullets are a factor in its path-point danger function.
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 Vectors gun. Nothing between matches.

Additional Information

Where did you get the name?
This bot was an obsession of mine for a good 2 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.
* SleepSiphon Github Repository
What's next for your robot?
Slight modifications to make it more effective in RoboRumble. Because this bot started as a high school project, I built it with the assumption that the other students' bots would follow set patterns & not learn. Obviously, this is not the case in RoboRumble, so some slight changes and optimizations can be made to my prediction. After that, however, I will be moving on to new robots.
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)