Difference between revisions of "Combat"

From Robowiki
Jump to navigation Jump to search
m (Category)
(Energy management with dynamic clustering.)
Line 9: Line 9:
  
 
:Old Skool [[Anti-Gravity_Movement|anti-gravity movement]] boosted with [[Precise_Prediction|precise prediction]]/[[Wall_Avoidance|wall avoidance]].
 
:Old Skool [[Anti-Gravity_Movement|anti-gravity movement]] boosted with [[Precise_Prediction|precise prediction]]/[[Wall_Avoidance|wall avoidance]].
:It delays [[Wall_Avoidance|wall avoidance]] until the last possible tick. Not as strong as [[Wall_Smoothing|wall smoothing]] in 1v1, but it is cool to see the bot making aggressive turns when near walls.
+
:It delays [[Wall_Avoidance|wall avoidance]] until the last possible tick.
  
 
; How does it fire?
 
; How does it fire?
  
:[[GuessFactor|Guess factor]] targeting with [[Dynamic_Clustering|dynamic clustering]] segmented data. But I stripped that direction attribute away. 1 is always clockwise and -1 is always counter-clockwise. Direction is accounted indirectly as a [[Dynamic_Clustering|dynamic clustering]] signed lateral velocity classifier. Feels less artificial that way and confuses some [[Wave_surfing|wave surfing]] implementations.
+
:[[GuessFactor|Guess factor]] targeting with [[Dynamic_Clustering|dynamic clustering]] segmented data.
 +
 
 +
:Using [[Dynamic_Clustering|dynamic clustering]]/[[Wikipedia:Kernel density estimation|kernel density]] to estimate hit rate and choose bullet power. Working well in melee/team thanks to [[Shadow/Melee_Gun|swarm targeting]], shooting power 3 bullets against tight packs of bots :) . Working acceptably against intermediate/weak bots in 1v1, but it sucks against 1v1 surfers :( .
  
 
; How does it [[DodgingBullets|dodge bullets]]?
 
; How does it [[DodgingBullets|dodge bullets]]?
Line 45: Line 47:
 
*Cool algorithms
 
*Cool algorithms
 
:*A [[Kd-tree|k-d tree]] to optimize [[Dynamic_Clustering|dynamic clustering]]. It is skipping turns to the point of being disabled in teamrumble.
 
:*A [[Kd-tree|k-d tree]] to optimize [[Dynamic_Clustering|dynamic clustering]]. It is skipping turns to the point of being disabled in teamrumble.
:*Energy management with [[Dynamic_Clustering|dynamic clustering]] segmented data for hit rate estimation. Should be cool to watch.
+
:*<s>Energy management with [[Dynamic_Clustering|dynamic clustering]] segmented data for hit rate estimation. Should be cool to watch.</s> DONE
 
:*[[Maximum_Escape_Angle/Precise|Precise prediction/max escape angle]] calculation. Shooting walls is not cool to watch.
 
:*[[Maximum_Escape_Angle/Precise|Precise prediction/max escape angle]] calculation. Shooting walls is not cool to watch.
 
:*Improved [[precise_Prediction|precise prediction]]/[[Wall_Avoidance|wall avoidance]]. It is shaking (turning left and right) when moving near walls. Not cool to watch.
 
:*Improved [[precise_Prediction|precise prediction]]/[[Wall_Avoidance|wall avoidance]]. It is shaking (turning left and right) when moving near walls. Not cool to watch.
Line 55: Line 57:
 
:*[http://old.robowiki.net/robowiki?SandboxFlattener Curve flattening] for 1v1.
 
:*[http://old.robowiki.net/robowiki?SandboxFlattener Curve flattening] for 1v1.
  
; What other robot(s) is it based on?
+
; What other robot(s) is it based on?The code is 100% original. But I took most of the ideas from RoboWiki.
The code is 100% original. But I took most of the ideas from RoboWiki.
 
  
 
[[Category:Bots|Combat]]
 
[[Category:Bots|Combat]]

Revision as of 04:02, 9 January 2012

Background Information

What's special about it?

It mixes Old Skool techniques I like with a few "modern" techniques with better than expected results.

Strategy

How does it move?
Old Skool anti-gravity movement boosted with precise prediction/wall avoidance.
It delays wall avoidance until the last possible tick.
How does it fire?
Guess factor targeting with dynamic clustering segmented data.
Using dynamic clustering/kernel density to estimate hit rate and choose bullet power. Working well in melee/team thanks to swarm targeting, shooting power 3 bullets against tight packs of bots :) . Working acceptably against intermediate/weak bots in 1v1, but it sucks against 1v1 surfers :( .
How does it dodge bullets?
Old Skool shrapnel dodging. Anti-gravity enemy virtual bullets generated with dynamic clustering segmented data. Works well in melee/team and it is cool to watch. Working better than expected in 1v1.
How does the melee strategy differ from one-on-one strategy?
It doesn´t, but it will some day.
How does it select a target to attack/avoid in melee ?
Swarm targeting.
What does it save between rounds and matches?
Between matches: Nothing.
Between rounds: Wave data.

Additional Information

Where did you get the name?
From the Atari 2600 game Combat.
Can I use your code?
Not open-source.
What's next for your robot?
  • Cool algorithms
  • Rating improvement
What other robot(s) is it based on?The code is 100% original. But I took most of the ideas from RoboWiki.