Difference between revisions of "SleepSiphon"
Jump to navigation
Jump to search
m (Added Links) |
m (One would think that I would learn my lesson... English) |
||
(5 intermediate revisions by the same user not shown) | |||
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 26: | Line 26: | ||
; What's special about it? | ; What's special about it? | ||
− | : It is my first Robocode robot. | + | : 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? | ; Great, I want to try it. Where can I download it? | ||
− | : You can download SleepSiphon | + | : You can download SleepSiphon [https://github.com/John-Paul-R/SleepSiphon/releases/download/1.7b/origin.SleepSiphon_1.7b.jar here]! (github.com) |
+ | : Full source code is available [https://github.com/John-Paul-R/SleepSiphon here], on GitHub, under the [[ZLIB]] License. | ||
; How competitive is it? | ; How competitive is it? | ||
− | : | + | : Rated 51/403 in [[MeleeRumble]], 233/1163 in [[RoboRumble]] (June 4, 2019) |
== 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 53: | Line 54: | ||
; What does it save between rounds and matches? | ; What does it save between rounds and matches? | ||
− | : Between rounds, it stores information for the [[Displacement | + | : Between rounds, it stores information for the [[Displacement Vector]] gun. Nothing between matches. |
== Additional Information == | == Additional Information == | ||
; 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 74: | ||
; 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]] |
Latest revision as of 23:21, 4 June 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 (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! (github.com)
- 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)
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)