User:Xor/Thoughts on movement
Contents
Introduction
Robocode is just another name of movement, and modern movement is just another name of risk management.
Source of risk
To manage risk you need to first find them out, and there are mainly four types of sources of risk in 1v1:
- Hit Stats: A simple gun and a slow learning gun will probably fire at where they used to fire.
- Flattener: A fast learning gun will probably fire at your most recent movement, and it's important to prelearn them to keep the hitrate relatively low.
- Distancing: A random firing gun will hit you more at closed distance; At very closed distance, ram would also happen.
- Bullet Shadow: Part of the risk from enemy firing can be nullified by your own bullet, as bullets can collide.
Risk estimation
Apart from the raw data you've collected from game and physics, it's rather important to estimate the real risk.
A hit from GuessFactor Targeting will probably indicate that the bins nearby will also have relatively high score, thus being there will make them learn faster, therefore increase their hitrate. The same thing happens to fast learning guns as well, but not that significant, as they decay data very fast.
Note that different guns may also aim from different positions, introducing deviation in their targeting.
Then we have:
Deducing future risk
Now we have the risk, it's time to choose how to move. But before that, we need to know the risk of each possible movement. Then we have:
Extending movement options
The possibilities of movement is limit by physics, and physics is about time. Thus it's very important to begin our consideration as early as possible. Then we have: