Difference between revisions of "User:Dsekercioglu/Thoughts on targeting"
Jump to navigation
Jump to search
Dsekercioglu (talk | contribs) (Created page with "==Introduction== When your robot fights against a weaker robot about %55 - %65 of the score comes from damage. ==Prediction Technics== There are mainly 2 ways for predicting ...") |
Dsekercioglu (talk | contribs) (Added more attributes and more comments on attributes as I have learnt a lot on the way. Removed the "Against Learning Movement" part as I am not that good at AS anymore =() |
||
Line 18: | Line 18: | ||
*Many bots tries to get away from the enemy when close. | *Many bots tries to get away from the enemy when close. | ||
*[[Stop And Go]] bots move less when bullet float time is low. | *[[Stop And Go]] bots move less when bullet float time is low. | ||
− | *Decelerating bots generally | + | *Decelerating bots generally change direction. |
:Classification algorithms are used here to get the best prediction. | :Classification algorithms are used here to get the best prediction. | ||
Line 27: | Line 27: | ||
:Lateral Velocity has a direct affect on enemy movement. | :Lateral Velocity has a direct affect on enemy movement. | ||
:Simple movements generally keeps the velocity while moving. | :Simple movements generally keeps the velocity while moving. | ||
+ | |||
+ | :''It will be one of the highest weighted attributes you will have in your KNN algorithm. Lateral Velocity is always a good point to start with.'' | ||
+ | |||
+ | ;Lateral Acceleration | ||
+ | :Lateral acceleration tells you if the bot is changing its direction. | ||
+ | :''It is one of the most important attributes as lateral acceleration makes a huge difference when combined with lateral velocity. There is a huge difference between (LatVel = 4, LatAcc = 1) and (LatVel = 4, LatAcc = -2).'' | ||
;Advancing Velocity | ;Advancing Velocity | ||
:Advancing velocity helps you to understand if enemy is coming closer or moving away. | :Advancing velocity helps you to understand if enemy is coming closer or moving away. | ||
:Useful against: Bots doing distancing, bots moving non-perpendicularly. | :Useful against: Bots doing distancing, bots moving non-perpendicularly. | ||
+ | :''Advancing velocity is one of the less useful attributes in targeting but it is always useful.'' | ||
;Bullet Float Time | ;Bullet Float Time | ||
:Helps to hit non perpendicular movement. | :Helps to hit non perpendicular movement. | ||
:For example Walls, SpinBot. | :For example Walls, SpinBot. | ||
+ | :''If you are using guess factors Bullet Float Time is a must. Alone, it won't help much but combined it is arguably the most useful attribute.'' | ||
;Forward/Backward Wall MEA | ;Forward/Backward Wall MEA | ||
− | :Helps | + | :Helps hit nearly any type of movement. |
*If a bot changes direction after hitting or before hitting the wall. | *If a bot changes direction after hitting or before hitting the wall. | ||
*If a bot does wall smoothing | *If a bot does wall smoothing | ||
*If a bot gets stuck in the corners | *If a bot gets stuck in the corners | ||
− | Forward | + | :''Forward MEA is a must if you want to have a powerful targeting system. Every bot will change how they react near walls as they are the boundaries of where you can move to.'' |
;Time Since Attributes | ;Time Since Attributes | ||
− | Useful against [[Oscillator]],[[Stop And Go]], Direction Based [[Random Movement]]. | + | :Useful against [[Oscillator]],[[Stop And Go]], Direction Based [[Random Movement]]. |
+ | :Randomly Moving bots will probably have a random direction change algorithm based on a constant. Time since attributes will help your targeting system find the tendency of a bot changing directions. | ||
+ | :''I would say they are one of the less useful attributes but it certainly helps.'' | ||
+ | |||
+ | ;Lateral Distance Last X | ||
+ | :Lateral Distance Last X is equivalent to Average Velocity Last X and gives you valuable information. | ||
+ | :It works great against random movement. | ||
+ | :''It increased my bot's accuracy against robots like Aspid, DuelistMicro that stop and move randomly.'' | ||
+ | |||
+ | |||
+ | ;Shots Fired /Shots hit | ||
+ | :These attributes will help you with data decay. Even if you are aiming to hit simple bots data decay helps. | ||
+ | :''Data decay is one of the attributes which will boost your score against learning movements.'' | ||
+ | |||
+ | ;Attribute Importance Ranking | ||
+ | :This is more of a fun part but after having [[WhiteFang]] trained against multiple robots with the given attributes I found out that they were simply the how important the given attributes are. | ||
+ | :Disclaimer: These are not perfect values nor the best ones since they have been generated by a Genetic Algorithm in less than one hour. However, it can give you a general idea about the attributes. | ||
− | + | :Lateral Acceleration: 9.02 | |
− | : | + | :Bullet Float Time: 8.151 |
− | : | + | :Lateral Distance Last 10: 6.68 |
− | + | :Lateral Velocity: 6.47 | |
− | + | :Wall Distance Forwards: 6.32 | |
− | : | + | :Advancing Velocity: 3.64 |
− | + | :Time Since Deceleration: 2.74 | |
− | + | :Wall Distance Backwards: 0.98 |
Latest revision as of 10:56, 20 March 2019
Contents
Introduction
When your robot fights against a weaker robot about %55 - %65 of the score comes from damage.
Prediction Technics
There are mainly 2 ways for predicting where the enemy will be.
- 1. Angular Systems.
- 2. Positional Systems.
- Angular Systems
- Generally GuessFactors are used.
- Works better against perpendicular movement.
- Positional Systems
- Linear Targeting, Circular Targeting, Pattern Matching are used.
- The most efficient system so far is Play It Forward.
Choosing the Correct Angle/Position
- Oscillators change their direction periodically.
- When close to walls some bots change direction.
- Many bots tries to get away from the enemy when close.
- Stop And Go bots move less when bullet float time is low.
- Decelerating bots generally change direction.
- Classification algorithms are used here to get the best prediction.
- The most used 2 algorithms are KNN(DC) and VCS.
Choosing Attributes
- Lateral Velocity
- Lateral Velocity has a direct affect on enemy movement.
- Simple movements generally keeps the velocity while moving.
- It will be one of the highest weighted attributes you will have in your KNN algorithm. Lateral Velocity is always a good point to start with.
- Lateral Acceleration
- Lateral acceleration tells you if the bot is changing its direction.
- It is one of the most important attributes as lateral acceleration makes a huge difference when combined with lateral velocity. There is a huge difference between (LatVel = 4, LatAcc = 1) and (LatVel = 4, LatAcc = -2).
- Advancing Velocity
- Advancing velocity helps you to understand if enemy is coming closer or moving away.
- Useful against: Bots doing distancing, bots moving non-perpendicularly.
- Advancing velocity is one of the less useful attributes in targeting but it is always useful.
- Bullet Float Time
- Helps to hit non perpendicular movement.
- For example Walls, SpinBot.
- If you are using guess factors Bullet Float Time is a must. Alone, it won't help much but combined it is arguably the most useful attribute.
- Forward/Backward Wall MEA
- Helps hit nearly any type of movement.
- If a bot changes direction after hitting or before hitting the wall.
- If a bot does wall smoothing
- If a bot gets stuck in the corners
- Forward MEA is a must if you want to have a powerful targeting system. Every bot will change how they react near walls as they are the boundaries of where you can move to.
- Time Since Attributes
- Useful against Oscillator,Stop And Go, Direction Based Random Movement.
- Randomly Moving bots will probably have a random direction change algorithm based on a constant. Time since attributes will help your targeting system find the tendency of a bot changing directions.
- I would say they are one of the less useful attributes but it certainly helps.
- Lateral Distance Last X
- Lateral Distance Last X is equivalent to Average Velocity Last X and gives you valuable information.
- It works great against random movement.
- It increased my bot's accuracy against robots like Aspid, DuelistMicro that stop and move randomly.
- Shots Fired /Shots hit
- These attributes will help you with data decay. Even if you are aiming to hit simple bots data decay helps.
- Data decay is one of the attributes which will boost your score against learning movements.
- Attribute Importance Ranking
- This is more of a fun part but after having WhiteFang trained against multiple robots with the given attributes I found out that they were simply the how important the given attributes are.
- Disclaimer: These are not perfect values nor the best ones since they have been generated by a Genetic Algorithm in less than one hour. However, it can give you a general idea about the attributes.
- Lateral Acceleration: 9.02
- Bullet Float Time: 8.151
- Lateral Distance Last 10: 6.68
- Lateral Velocity: 6.47
- Wall Distance Forwards: 6.32
- Advancing Velocity: 3.64
- Time Since Deceleration: 2.74
- Wall Distance Backwards: 0.98