Difference between revisions of "Numbat"

From Robowiki
Jump to navigation Jump to search
m (update)
(Update version and download link, reformat)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Navbox small
 
| title        = Sub-pages
 
| page1        = Version History
 
}}
 
 
{{Infobox Robot
 
{{Infobox Robot
 
| name            = Numbat
 
| name            = Numbat
 
| author          = [[User:Wompi|Wompi]]
 
| author          = [[User:Wompi|Wompi]]
 
| extends        = [[AdvancedRobot]]
 
| extends        = [[AdvancedRobot]]
| targeting      = Single Tick Pattern Matcher
+
| targeting      = [[oldwiki:PatternMatching/SingleTick|Single Tick]] [[Pattern Matching|Pattern Matcher]]
| movement       = Minimum Risk <br> Antigrav <br> Oscillating
+
| movement       = [[Minimum Risk Movement|Minimum Risk]]<br> [[Anti-Gravity Movement|Antigrav]]<br> [[Oscillating Movement|Oscillating]]
| released        = July 2012
+
| released        = August 2012
| current_version = 1.2
+
| current_version = 2.1
 
| license        = [[RWPCL]]
 
| license        = [[RWPCL]]
| download_link  = http://www.casepool.de/robocode/wompi.Numbat_1.2.jar  
+
| download_link  = http://robocode-archive.strangeautomata.com/robots/wompi.Numbat_2.1.jar
| isOneOnOne      = false
+
| isOneOnOne      = true
| isTwin = false
+
| isMelee        = true
 
| isOpenSource    = true
 
| isOpenSource    = true
 +
}}
 +
{{Navbox small
 +
| title        = Sub-pages
 +
| page1        = Version History
 
}}
 
}}
  
 
== Background Information ==
 
== Background Information ==
 
 
; What's special about it?
 
; What's special about it?
This bot is a try to make Single Tick Pattern Matcher competitive for the melee rumble and therefor it supports this kind of gun system. The radar is a little uncommon within the melee rumble because it has a very high lock rate while still having a good overall field sight.  
+
: This bot is a try to make [[oldwiki:PatternMatching/SingleTick|Single Tick]] [[Pattern Matching|Pattern Matcher]] competitive for the [[MeleeRumble|melee rumble]] and therefore it supports this kind of gun system. The radar is a little uncommon within the melee rumble because it has a very high lock rate while still having a good overall field sight.  
  
 +
<!-- '''{{subst:rumblestats:meleerumble|wompi.Numbat 2.1}}''' -->
 
; How competitive is it?
 
; How competitive is it?
:{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=wompi.Numbat+1.2|rumble=MeleeRumble|scorelabel=APS|score=64.85|rank=14th|win=316|loss=22|plrank=23rd|glicko2=-560.3|score2label=Survival|score2=84.56}}
+
: '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=wompi.Numbat%202.1|rumble=MeleeRumble|scorelabel=APS|score=66.62|rank=12th|win=390|loss=9|plrank=10th|glicko2=N/A|pwin=97.74|vote=0|anpp=90.71|score2label=Survival|score2=44.09}}'''
  
 
== Strategy ==
 
== Strategy ==
 
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
 
+
: It moves like [[Wallaby]] with some improvements to the agility and overall stability. So [[Minimum Risk Movement]] combined with [[Anti-Gravity Movement]] and [[Oscillating Movement]].
It moves like [[Wallaby]] with some minor improvements to the agility and overall stability. So [[Minimum_risk|Minimum Risk]] combined with [[Anti-Gravity_Movement|Anti Gravity]] and [[Oscillator_Movement|Oscillating]].
 
 
   
 
   
 
; How does it [[Targeting|fire]]?
 
; How does it [[Targeting|fire]]?
 +
: The gun is a [[oldwiki:PatternMatching/SingleTick|single tick]] [[Pattern Matching|pattern matcher]] that can hold 5000000+ patterns per melee match and using all available memory. The average pattern count is 1000000+ and is using roughly 100MB. The gun extracts the target angles from the saved pattern in almost no time by looking for the most taken steps and then it [[Play It Forward|plays forward]] until the bullet would reach the target.
  
The gun is a single tick pattern matcher that can hold 5.000.000+ pattern per melee match and using all available memory. The average pattern count is 1.000.000+ and is using roughly 100MB. The gun extracts the target angles from the saved pattern in almost no time by looking for the most taken steps and than it plays forward until the bullet would reach the target.
+
: It started with a match length of 70 (nice long-term match) but after some testing it is now 30 (fast adaptation, less memory usage). The gun can detect wall collisions and take the most used pattern for wall hits (needs some improvement but works quite well right now). The target is classified by velocity and heading change (needs more research).
It started with a match length of 70 (nice long term match) but after some test it is now 40 (quick adaptation, smaller memory use). The gun can detect wall collisions and take the most used
 
pattern for wall hits (needs some improvement but works quite well right now). The target is classified by velocity and heading change (needs more research)
 
  
 
; How does it select a target to attack/avoid?
 
; How does it select a target to attack/avoid?
 
+
: It takes the closest enemy but holds the lock on targets with high bullet bonus. The targeting has a minor favor for targets with weak movement pattern. If the bot is not the nearest target to anyone it targets with a rating by bullet score, start pattern length, distance; and if only two opponents left, it targets the one with the least energy.  
It takes the closest enemy but holds the lock on targets with high bullet bonus. The targeting has a minor favor for targets with weak movement pattern.
 
  
 
; What does it save between rounds and matches?
 
; What does it save between rounds and matches?
 
+
: Matches – Nothing.
matches - nothing
+
: Rounds – Static variables just to save code size, and the collected pattern for every enemy.
<br>rounds - static variables just to save code size, and the collected pattern for every enemy
 
 
   
 
   
 
 
== Additional Information ==
 
== Additional Information ==
 
 
; Where did you get the name?
 
; Where did you get the name?
Well it came from [http://en.wikipedia.org/wiki/Numbat Numbat], an Australian marsupial.
+
: Well it came from [[wikipedia:Numbat|Numbat]], an Australian marsupial.
  
 
; Can I use your code?
 
; Can I use your code?
Sure it's open source [[RWPCL]].
+
: Sure it's open source [[RWPCL]].
  
 
; What's next for your robot?
 
; What's next for your robot?
* it needs more research for the gun to improve the overall usability
+
 
** the target state needs some research to classify the pattern selection  
+
:* it needs more research for the gun to improve the overall usability
** start pattern len is a major detector and needs more research
+
:** the target state needs some research to classify the pattern selection  
** dynamic match length for strong movements to save memory and increase the hit rate
+
:** start pattern len is a major detector and needs more research
* the radar need some fixes to be faster
+
:** dynamic match length for strong movements to save memory and increase the hit rate (tried but needs more thoughts)
** has still an annoying bug
+
:** need some advanced pattern selection, using only 'most visited' gives worse results against oscillators and 'jiggler'
** code needs refactoring
+
:* the radar need some fixes to be faster
** increase the precision
+
:** the radar is very smooth now and works very well
* finally the movement has to be ready for 1vs1 to hold the bot in the top 10
+
:* finally the movement has to be ready for 1vs1 to hold the bot in the top 10
** still true
+
:** still true
** minor tweaks to the melee movement could also not hurt
+
:** i should try to implement some basic dodge movement for simple guns - melee  
* the code size should fit the mini class
+
:* the code size should fit the mini class
** well i gave up on the mini idea to have more room for research stuff (maybe if the gun is sound i try it later to squeeze it in a mini bot)
+
:** well i gave up on the mini idea to have more room for research stuff (maybe if the gun is sound i try it later to squeeze it in a mini bot)
  
 
; Does it have any [[White Whale|White Whales]]?
 
; Does it have any [[White Whale|White Whales]]?
Right now i'm fine with just bringing the bot to top 10. After this we will see :)
+
: After reaching the first goal (top 10) i found my first white whale: [[Tron]].
 +
 
 +
: Unbelievable how this bot can hold himself in the top 10. If you have a look at his movement you would be surprised as I am. The movement is extraordinary against all simple guns and it is almost unimportant where he stays on the battlefield. He 'magically' survives no matter what. Compare this with a strong gun and Tron makes a very nasty white whale.
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
The gun is based on the tutorial bot [[oldwiki:SingleTick|SingleTick]] a bot of [[User:Simonton|Simonton]].
+
: The gun is based on the tutorial bot [[oldwiki:SingleTick|SingleTick]], a bot of [[User:Simonton|Simonton]].
The movement is based on [[Wallaby]] another bot of mine.
+
: The movement is based on [[Wallaby]], another bot of mine.
The radar is not based on anyone
+
: The radar is not based on anything.
 
 
; Credit
 
Credit goes to [[User:Simonton|Simonton]] for inventing the Single Tick Pattern matcher idea and making it understandable to me.
 
Of course credit to all  RoboWiki contributors for making it easy to learn RoboCode
 
  
[[Category:Melee_Bots]]
+
; Credits
 +
: Credit goes to [[User:Simonton|Simonton]] for inventing the Single Tick Pattern matcher idea and making it understandable to me.
 +
: Of course credit to all RoboWiki contributors for making it easy to learn Robocode.

Latest revision as of 21:01, 17 September 2017

Numbat
Author(s) Wompi
Extends AdvancedRobot
Targeting Single Tick Pattern Matcher
Movement Minimum Risk
Antigrav
Oscillating
Released August 2012
Current Version 2.1
Code License RWPCL
Download
Sub-pages:
Version History

Background Information

What's special about it?
This bot is a try to make Single Tick Pattern Matcher competitive for the melee rumble and therefore it supports this kind of gun system. The radar is a little uncommon within the melee rumble because it has a very high lock rate while still having a good overall field sight.
How competitive is it?
MeleeRumble ‒ APS: 66.62% (12th), PL: 390-9 (10th), Survival: 44.09%

Strategy

How does it move?
It moves like Wallaby with some improvements to the agility and overall stability. So Minimum Risk Movement combined with Anti-Gravity Movement and Oscillating Movement.
How does it fire?
The gun is a single tick pattern matcher that can hold 5000000+ patterns per melee match and using all available memory. The average pattern count is 1000000+ and is using roughly 100MB. The gun extracts the target angles from the saved pattern in almost no time by looking for the most taken steps and then it plays forward until the bullet would reach the target.
It started with a match length of 70 (nice long-term match) but after some testing it is now 30 (fast adaptation, less memory usage). The gun can detect wall collisions and take the most used pattern for wall hits (needs some improvement but works quite well right now). The target is classified by velocity and heading change (needs more research).
How does it select a target to attack/avoid?
It takes the closest enemy but holds the lock on targets with high bullet bonus. The targeting has a minor favor for targets with weak movement pattern. If the bot is not the nearest target to anyone it targets with a rating by bullet score, start pattern length, distance; and if only two opponents left, it targets the one with the least energy.
What does it save between rounds and matches?
Matches – Nothing.
Rounds – Static variables just to save code size, and the collected pattern for every enemy.

Additional Information

Where did you get the name?
Well it came from Numbat, an Australian marsupial.
Can I use your code?
Sure it's open source RWPCL.
What's next for your robot?
  • it needs more research for the gun to improve the overall usability
    • the target state needs some research to classify the pattern selection
    • start pattern len is a major detector and needs more research
    • dynamic match length for strong movements to save memory and increase the hit rate (tried but needs more thoughts)
    • need some advanced pattern selection, using only 'most visited' gives worse results against oscillators and 'jiggler'
  • the radar need some fixes to be faster
    • the radar is very smooth now and works very well
  • finally the movement has to be ready for 1vs1 to hold the bot in the top 10
    • still true
    • i should try to implement some basic dodge movement for simple guns - melee
  • the code size should fit the mini class
    • well i gave up on the mini idea to have more room for research stuff (maybe if the gun is sound i try it later to squeeze it in a mini bot)
Does it have any White Whales?
After reaching the first goal (top 10) i found my first white whale: Tron.
Unbelievable how this bot can hold himself in the top 10. If you have a look at his movement you would be surprised as I am. The movement is extraordinary against all simple guns and it is almost unimportant where he stays on the battlefield. He 'magically' survives no matter what. Compare this with a strong gun and Tron makes a very nasty white whale.
What other robot(s) is it based on?
The gun is based on the tutorial bot SingleTick, a bot of Simonton.
The movement is based on Wallaby, another bot of mine.
The radar is not based on anything.
Credits
Credit goes to Simonton for inventing the Single Tick Pattern matcher idea and making it understandable to me.
Of course credit to all RoboWiki contributors for making it easy to learn Robocode.