ScalarR

From Robowiki
Revision as of 15:24, 10 January 2024 by Xor (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
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?

BeepBoop.

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.