Difference between revisions of "ScalarR/General Surfing Framework"
< ScalarR
Jump to navigation
Jump to search
(Initial commit) |
m |
||
Line 15: | Line 15: | ||
* evaluateMovementOptions | * evaluateMovementOptions | ||
* executeMovementOption | * executeMovementOption | ||
+ | Everything else can be perfectly reused, to implement a new surfing strategy, all you need is to fill in the 4 methods. |
Revision as of 07:40, 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
Everything else can be perfectly reused, to implement a new surfing strategy, all you need is to fill in the 4 methods.