Difference between revisions of "ScalarR/General Surfing Framework"

From Robowiki
Jump to navigation Jump to search
(Initial commit)
(No difference)

Revision as of 08:37, 23 July 2021

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