Difference between revisions of "SleepSiphon"
Jump to navigation
Jump to search
(Initial release (Without links because of my account age)) |
m (One would think that I would learn my lesson... English) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
{{Infobox Robot | {{Infobox Robot | ||
| author = [[User:Origin|Origin]] | | author = [[User:Origin|Origin]] | ||
Line 13: | 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 = [[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 | ||
Line 24: | Line 22: | ||
| page1 = Version History | | page1 = Version History | ||
}} | }} | ||
+ | |||
+ | == Background Information == | ||
+ | |||
; 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 here! | + | : 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 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 52: | 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 [[ZLIB | + | : Any use of my code must follow the [[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? | ||
− | : | + | : 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 71: | Line 73: | ||
; What other robot(s) is it based on? | ; What other robot(s) is it based on? | ||
− | |||
− | |||
− | |||
− | [[Category:MegaBots]] | + | * 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:Melee Bots|SleepSiphon]] | ||
+ | [[Category:Open Source Bots|SleepSiphon]] | ||
+ | [[Category:MegaBots|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)