Difference between revisions of "ScalarR"
m (typo) |
m |
||
(4 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
| parent = ScalarR | | parent = ScalarR | ||
| page1 = Version History | | page1 = Version History | ||
− | |||
}} | }} | ||
{{Infobox Robot | {{Infobox Robot | ||
Line 12: | Line 11: | ||
}} | }} | ||
− | + | For recent activities, see [[/Version History|Version History]]. | |
== Background Information == | == Background Information == | ||
Line 18: | Line 17: | ||
; What's special about it? | ; What's special about it? | ||
− | + | The ability to expertly surf multiple waves in [[Melee|melee]] was a groundbreaking technique, which has also been adapted for 1v1 scenarios. | |
; How competitive is it? | ; How competitive is it? | ||
− | No.1 in melee | + | No.1 in melee as of [http://web.archive.org/web/20190319084925/http://literumble.appspot.com/Rankings?game=meleerumble February 12, 2019]. |
− | No. | + | Previously ranked as No.1 in 1v1 as of [http://web.archive.org/web/20210628051845/https://literumble.appspot.com/Rankings?game=roborumble June 28, 2021], now retired. |
== Strategy == | == Strategy == | ||
Line 30: | Line 29: | ||
; How does it move? | ; How does it move? | ||
− | [[True Surfing]] in melee and 1v1, | + | [[True Surfing]] in both melee and 1v1 scenarios, by generating different surfing paths. To accurately assess the potential danger, the algorithm takes into account various factors such as [[Bullet Shadow]], [[KNN|K-Nearest Neighbors]] (KNN), and a simulation of simple guns (to mitigate its vulnerabilities when facing weak opponents ;). |
; How does it fire? | ; How does it fire? | ||
− | + | In melee, KNN combined with [[Play It Forward]] is utilized, while KNN along with [[GuessFactor Targeting]] is used in 1v1 scenarios. [[Energy Management]] is optimized for survival and tends to be quite conservative. The weights of the 1v1 main gun are tuned using [[wikipedia:Genetic algorithm|Genetic Algorithms]], inspired by [[Skilgannon]], to optimize the hit rate. However, the 1v1 anti-surfing gun has yet to be tuned, which leaves it vulnerable to strong opponents. | |
− | The weights of 1v1 main | ||
; What does it save between rounds and matches? | ; What does it save between rounds and matches? | ||
Line 45: | Line 43: | ||
; Where did you get the name? | ; Where did you get the name? | ||
− | Scalar | + | The name "Scalar" was inspired by an optimization technique used in the JVM called "Scalar Replacement", which is employed to minimize GC pressure. The letter "R" was added to form the name. |
− | |||
; What's next for your robot? | ; What's next for your robot? | ||
− | + | Nothing, it's no longer in active development. | |
− | |||
− | |||
; Does it have any [[White Whale]]s? | ; Does it have any [[White Whale]]s? | ||
− | [[BeepBoop]] | + | [[BeepBoop]]. |
; What other robot(s) is it based on? | ; What other robot(s) is it based on? | ||
− | + | The development of the project was influenced both directly and indirectly by a range of robots and ideas mentioned on this wiki. Notable examples include the experience gained from working on [[ScalarN]], [[ScalarBot]], and [[SimpleBot]], as well as the valuable insights into building a competitive bot [[DrussGT/Understanding DrussGT | shared by Skilgannon]] through [[DrussGT]]. [[Innovations since 2005]] also played a role in shaping the project. [[Diamond]]’s code provided inspiration and learning opportunities, although the challenge of maintaining clean code remains. Additionally, the idea of using gradients and the importance of [[Bullet Shadow/Correct | correct bullet shadow]] were both gleaned from [[BeepBoop]], thanks to [[BeepBoop/Understanding BeepBoop|Kev's contributions]]. Other sources of influence are yet to be listed. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Latest revision as of 15:24, 10 January 2024
- Sub-pages:
- Version History
ScalarR | |
Author(s) | Xor |
Extends | AdvancedRobot |
Targeting | GuessFactor Targeting |
Movement | Wave Surfing |
For recent activities, see Version History.
Background Information
- What's special about it?
The ability to expertly surf multiple waves in melee was a groundbreaking technique, which has also been adapted for 1v1 scenarios.
- How competitive is it?
No.1 in melee as of February 12, 2019.
Previously ranked as No.1 in 1v1 as of June 28, 2021, now retired.
Strategy
- How does it move?
True Surfing in both melee and 1v1 scenarios, by generating different surfing paths. To accurately assess the potential danger, the algorithm takes into account various factors such as Bullet Shadow, K-Nearest Neighbors (KNN), and a simulation of simple guns (to mitigate its vulnerabilities when facing weak opponents ;).
- How does it fire?
In melee, KNN combined with Play It Forward is utilized, while KNN along with GuessFactor Targeting is used in 1v1 scenarios. Energy Management is optimized for survival and tends to be quite conservative. The weights of the 1v1 main gun are tuned using Genetic Algorithms, inspired by Skilgannon, to optimize the hit rate. However, the 1v1 anti-surfing gun has yet to be tuned, which leaves it vulnerable to strong opponents.
- What does it save between rounds and matches?
Everything between rounds, nothing between matches.
Additional Information
- Where did you get the name?
The name "Scalar" was inspired by an optimization technique used in the JVM called "Scalar Replacement", which is employed to minimize GC pressure. The letter "R" was added to form the name.
- What's next for your robot?
Nothing, it's no longer in active development.
- Does it have any White Whales?
- What other robot(s) is it based on?
The development of the project was influenced both directly and indirectly by a range of robots and ideas mentioned on this wiki. Notable examples include the experience gained from working on ScalarN, ScalarBot, and SimpleBot, as well as the valuable insights into building a competitive bot shared by Skilgannon through DrussGT. Innovations since 2005 also played a role in shaping the project. Diamond’s code provided inspiration and learning opportunities, although the challenge of maintaining clean code remains. Additionally, the idea of using gradients and the importance of correct bullet shadow were both gleaned from BeepBoop, thanks to Kev's contributions. Other sources of influence are yet to be listed.