Difference between revisions of "Numbat"

From Robowiki
Jump to navigation Jump to search
m (category fixed)
(Update version and download link, reformat)
 
(2 intermediate revisions 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.0
+
| current_version = 2.1
 
| license        = [[RWPCL]]
 
| license        = [[RWPCL]]
| download_link  = http://www.casepool.de/robocode/wompi.Numbat_1.0.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.  
 
 
Hopefully it will be a mini class bot in its final release and stay in the top 10 melee rumble, which would make him quite special :)
 
  
 +
<!-- '''{{subst:rumblestats:meleerumble|wompi.Numbat 2.1}}''' -->
 
; How competitive is it?
 
; How competitive is it?
 
+
: '''{{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}}'''
We will see.
 
  
 
== 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 exactly like Wallaby, but this will be changed in future releases. 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.
 +
 +
: 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).
  
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. The pattern length is 70 which makes it very nice against long term pattern. It still need huge improvements to detect wall collisions and save the right tick state. Right now it saves the current target state by velocity and heading change.
 
 
 
; 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.
 
  
 
; 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 radar need some fixes to be faster
 
* finally the movement has to be ready for 1vs1 to hold the bot in the top 10
 
* the code size should fit the mini class
 
  
 +
:* 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 Whale|White Whales]]?
 
; Does it have any [[White Whale|White Whales]]?
We will see, but i guess everything above top ten.
+
: 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.