For LinearTargeting and CircularTargeting there also exists a quite effective movementscheme, although not so commonly known, that is called StopAndGo. A good implementation of such a movement could reach the performancelevel of WaveSurfing, see WaveSurfingChallenge2K6 against botB and botC
The idea behind it is simple: If the enemy fires at you while you are standing still, start moving. If it fires when you are moving, stop. The enemybullets will fly in front of you and behind you, but will rarely hit. There are two main flavours of this movement:
These are (some of) the bots using StopAndGo, each with their own tweaks (add some if you know of more):
Note that any more advanced targetingmethod will chop this movement to little pieces, therefor it is not recommended to use StopAndGo as only available movement-option. This movement should be used when starting a battle and, if not successfull, be replaced by a more generic overall movement, see also MultiMode.
It seems that StopNGo has made a comeback. It is easier to understand and smaller in codesize than WaveSurfing while giving comparable results against a big part (one-third) of the rumble. Especially the codesize restricted classes could become the playground of this revived type of movement, see Splinter and Thorn. -- GrubbmGait