Difference between revisions of "User:Xor/Thoughts on movement"

From Robowiki
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
== Source of risk ==
 
== 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:
+
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.  
 
* '''[[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.  
 
* '''[[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.  
+
* '''[[Distancing | 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.
 
* '''[[Bullet Shadow]]''': Part of the risk from enemy firing can be nullified by your own bullet, as bullets can collide.
 +
 +
However, in the long term, there are also:
 +
* '''Potential Learning''': even if the probability of containing a bullet of somewhere is relativity low — They are still different. Somewhere you are there less frequently, somewhere you are there very frequently, this all affects the learning rate of your opponent to learn your current movement. And learning rate is basically hit rate against adaptive movement. This encourages another type of flattener — instead of trying to dodge where you most recently are, try to make everything that learns have a hard time learning your movement.
 +
* '''Potential Poisoning''': Instead of being hard to learn (being flat), sometimes it's even better to make them learn something wrong. Stay forever until they hit, then orbit forever until they hit, then always hide yourself at gf=0.5 to force them learn some fake peak, and so forth.
  
 
== Risk estimation ==
 
== Risk estimation ==
Line 20: Line 24:
  
 
Then we have:
 
Then we have:
* '''[[Kernel Density]]'''.
+
* '''[[Kernel Density]]'''
 +
 
 +
== 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:
 +
* '''[[Precise Prediction]]'''
 +
* '''[[Waves/Precise Intersection | Precise Intersection]]'''
 +
 
 +
== Extending movement options ==
 +
 
 +
The possibilities of movement is limited by [[Robocode/Game Physics | physics]], and physics is about time. Thus it's very important to begin our consideration as early as possible. Then we have:
 +
* '''[[Gun Heat Waves]]'''
 +
* '''[[Second-wave Surfing]]'''

Latest revision as of 06:05, 11 September 2017

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.

However, in the long term, there are also:

  • Potential Learning: even if the probability of containing a bullet of somewhere is relativity low — They are still different. Somewhere you are there less frequently, somewhere you are there very frequently, this all affects the learning rate of your opponent to learn your current movement. And learning rate is basically hit rate against adaptive movement. This encourages another type of flattener — instead of trying to dodge where you most recently are, try to make everything that learns have a hard time learning your movement.
  • Potential Poisoning: Instead of being hard to learn (being flat), sometimes it's even better to make them learn something wrong. Stay forever until they hit, then orbit forever until they hit, then always hide yourself at gf=0.5 to force them learn some fake peak, and so forth.

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: