User:Xor/Thoughts on movement

From Robowiki
< User:Xor
Revision as of 04:27, 7 September 2017 by Xor (talk | contribs) (→‎Risk estimation: fix)
Jump to navigation Jump to search

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 source 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.
  • Distance: 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 option. Then we have:

Extending movement options

The possibilities of movement is limited by physics, and physics is about time. Thus it's very important to begin our consideration as early as possible. Then we have: