Difference between revisions of "Combat"

From Robowiki
Jump to navigation Jump to search
Line 2: Line 2:
  
 
; What's special about it?
 
; What's special about it?
It was having one of the best performances against rammers, until I added [[Wave Surfing]].
+
It has one of the best performances against rammers, thanks to [[Anti-Gravity_Movement|anti-gravity movement]].
  
 
== Strategy ==
 
== Strategy ==
Line 8: Line 8:
 
; How does it [[Movement|move]]?  
 
; How does it [[Movement|move]]?  
  
:Old Skool [[Anti-Gravity_Movement|anti-gravity movement]] boosted with [[Precise_Prediction|precise prediction]]/[[Wall_Avoidance|wall avoidance]].
+
:Multi-mode
:It delays [[Wall_Avoidance|wall avoidance]] until the last possible tick.
+
:*[[Wave Surfing]]/[[Wall Smoothing]]
:Beginning with version 3.0.0 it uses [[Wave Surfing]]/[[Wall Smoothing]] in 1v1.
+
:*Old Skool [[Anti-Gravity_Movement|anti-gravity movement]] boosted with [[Precise_Prediction|precise prediction]]/[[Wall_Avoidance|wall avoidance]]
 +
 
 
; How does it fire?
 
; How does it fire?
  
 
:[[GuessFactor|Guess factor]] targeting with [[Dynamic_Clustering|dynamic clustering]] segmented data.
 
:[[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, and owning [[Polylunar]] :) . Working acceptably against intermediate/weak bots in 1v1, but it sucks against 1v1 surfers :( .
+
: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, and owning rammers :) . Working acceptably against intermediate/weak bots in 1v1, but it is a waste of energy against surfers :( .
  
 
; How does it [[DodgingBullets|dodge bullets]]?
 
; How does it [[DodgingBullets|dodge bullets]]?
  
:Old Skool [http://old.robowiki.net/robowiki?ShrapnelDodging shrapnel dodging] in melee/team. [[Anti-Gravity_Movement|Anti-gravity]] enemy virtual bullets generated with [[Dynamic_Clustering|dynamic clustering]] segmented data.
+
:Old Skool [http://old.robowiki.net/robowiki?ShrapnelDodging shrapnel dodging].
:[[Wave Surfing]] in 1v1.
+
:[[Wave Surfing]].
 +
:Enemy virtual bullets generated with [[Dynamic_Clustering|dynamic clustering]] segmented data in both modes.
  
 
; How does the [[Melee|melee]] strategy differ from [[OneOnOne|one-on-one]] strategy?
 
; How does the [[Melee|melee]] strategy differ from [[OneOnOne|one-on-one]] strategy?
  
:[[Anti-Gravity Movement]]/[http://old.robowiki.net/robowiki?ShrapnelDodging shrapnel dodging] in melee/team.
+
: [[Anti-Gravity Movement|Anti-gravity]] in melee/team.
:[[Wave Surfing]] in 1v1.
+
:Multi-mode in 1v1
 +
:*[[Wave Surfing]] at long range.
 +
:*[[Anti-Gravity Movement|Anti-gravity]] at close range (anti-ramming/[[Dive Protection|dive protection]]).
  
 
; How does it select a target to attack/avoid in [[Melee|melee]] ?
 
; How does it select a target to attack/avoid in [[Melee|melee]] ?
Line 55: Line 59:
 
:*[http://old.robowiki.net/robowiki?BombSheltering Bomb sheltering] evaluation to erase enemy virtual bullets.
 
:*[http://old.robowiki.net/robowiki?BombSheltering Bomb sheltering] evaluation to erase enemy virtual bullets.
 
*Rating improvement
 
*Rating improvement
:*<s>[[Wave_Surfing/GoTo_Surfing|Go to surfing]] for 1v1.</s> DONE, but it is performing worse than [http://old.robowiki.net/robowiki?ShrapnelDodging shrapnel dodging] :(
+
:*<s>[[Wave_Surfing/GoTo_Surfing|Go to surfing]] for 1v1.</s> DONE
:*[[Anti-Surfer_Targeting|Anti-surfer gun]] for 1v1.
+
:*<s>[[Anti-Surfer_Targeting|Anti-surfer gun]] for 1v1.</s> DONE
 
:*[http://old.robowiki.net/robowiki?SandboxFlattener Curve flattening] for 1v1.
 
:*[http://old.robowiki.net/robowiki?SandboxFlattener Curve flattening] for 1v1.
 +
:*Classification tuning.
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
:[[Shadow]] ([[Shadow/Melee_Gun|swarm targeting]]), [[DrussGT]] (energy management), [[Diamond]] (gaussian kernel function).
+
:[[Shadow]] ([[Shadow/Melee_Gun|swarm targeting]]), [[DrussGT]] (energy management, DC classifiers), [[Diamond]] (gaussian kernel function).
 
: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 15:13, 6 February 2012

Background Information

What's special about it?

It has one of the best performances against rammers, thanks to anti-gravity movement.

Strategy

How does it move?
Multi-mode
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, and owning rammers :) . Working acceptably against intermediate/weak bots in 1v1, but it is a waste of energy against surfers :( .
How does it dodge bullets?
Old Skool shrapnel dodging.
Wave Surfing.
Enemy virtual bullets generated with dynamic clustering segmented data in both modes.
How does the melee strategy differ from one-on-one strategy?
Anti-gravity in melee/team.
Multi-mode in 1v1
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?
Shadow (swarm targeting), DrussGT (energy management, DC classifiers), Diamond (gaussian kernel function).
The code is 100% original. But I took most of the ideas from RoboWiki.