ScalarR/General Surfing Framework

From Robowiki
< ScalarR
Revision as of 07:37, 23 July 2021 by Xor (talk | contribs) (Initial commit)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article is a stub. You can help RoboWiki by expanding it.

ScalarR is probably the first bot to implement 1v1 style Wave Surfing in melee, which couldn't be possible without the development of general surfing framework. To describe how it works, let's first look at how Minimum Risk Movement, True Surfing and GoTo Surfing works.

Minimum Risk Movement
Each tick (when certain conditions meet, e.g. upon reaching current point), evaluate a set of points, go to the one with minimum risk.
True Surfing
Each tick, evaluate a set of movement options (mostly forward, stop and backward), execute the one with minimum risk.
GoTo Surfing
Each tick (when certain conditions meet, e.g. first wave changed), evaluate a set of points, go to the one with minimum risk.

All three ways above can be redescribed as:

Each tick when certain conditions meet, evaluate a set of movement options, execute the one with minimum risk.

A general surfing framework needs only 4 methods:

  • needReEvaluate
  • getMovementOptions
  • evaluateMovementOptions
  • executeMovementOption