Difference between revisions of "SleepSiphon"
Jump to navigation
Jump to search
m (→Strategy: Fixed broken internal link) |
m (Phrasing/clarification, formatting, updated ranking information, changed Zlib license link to the internal page, as the original host no longer exists.) |
||
Line 12: | Line 12: | ||
* [[Linear Targeting]] | * [[Linear Targeting]] | ||
| current_version = [https://github.com/John-Paul-R/SleepSiphon/releases/tag/1.7b 1.7b] | | current_version = [https://github.com/John-Paul-R/SleepSiphon/releases/tag/1.7b 1.7b] | ||
− | | license = [ | + | | license = [[ZLIB]] |
| download_link = https://github.com/John-Paul-R/SleepSiphon/releases/download/1.7b/origin.SleepSiphon_1.7b.jar | | download_link = https://github.com/John-Paul-R/SleepSiphon/releases/download/1.7b/origin.SleepSiphon_1.7b.jar | ||
| isOpenSource = yes | | isOpenSource = yes | ||
Line 32: | Line 32: | ||
; How competitive is it? | ; How competitive is it? | ||
− | : | + | : Rated 51/401 in [[MeleeRumble]], 227/1154 in [[RoboRumble]] (1/17/19) |
== Strategy == | == Strategy == | ||
; How does it [[Movement|move]]? | ; How does it [[Movement|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) | + | : 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? | ; 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 [https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm KNN] | + | : Falls back to a (naive and inefficient) [[Displacement Vector]]-based [https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm KNN] 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]]? | ||
− | : Enemy [[Virtual Bullets]] are a factor in its path-point danger function. | + | : 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? | ; How does the [[melee]] strategy differ from [[One-on-one]] strategy? | ||
Line 58: | Line 58: | ||
; Where did you get the name? | ; Where did you get the name? | ||
− | : This bot was an obsession of mine for | + | : This bot was an obsession of mine for several weeks. My sleep schedule suffered during that time... |
; 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 [ | + | : Any use of my code must follow the [[ZLIB]] License. |
− | : * [https://github.com/John-Paul-R/SleepSiphon 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? | ||
− | : | + | : 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 Whale]]s? | ; Does it have any [[White Whale]]s? | ||
Line 73: | Line 73: | ||
; 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]]. | |
− | + | * I learned a lot about avoiding aggressive bots from playing against Bastion. (not on RoboWiki) | |
[[Category:Bots|SleepSiphon]] | [[Category:Bots|SleepSiphon]] |
Revision as of 21:51, 17 January 2019
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?
- Rated 51/401 in MeleeRumble, 227/1154 in RoboRumble (1/17/19)
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 (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)