Difference between revisions of "Numbat"
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: | ||
− | |||
− | |||
− | |||
− | |||
{{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 | + | | movement = [[Minimum Risk Movement|Minimum Risk]]<br> [[Anti-Gravity Movement|Antigrav]]<br> [[Oscillating Movement|Oscillating]] |
− | | released = | + | | released = August 2012 |
− | | current_version = 1 | + | | current_version = 2.1 |
| license = [[RWPCL]] | | license = [[RWPCL]] | ||
− | | download_link = http:// | + | | download_link = http://robocode-archive.strangeautomata.com/robots/wompi.Numbat_2.1.jar |
− | | isOneOnOne = | + | | isOneOnOne = true |
− | | | + | | 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 | + | : 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://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 | ||
; 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). | ||
− | |||
− | |||
; 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. | |
− | + | : 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 [ | + | : 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 | ||
+ | :** 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]]? | ||
− | + | : 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 | + | : The radar is not based on anything. |
− | |||
− | |||
− | |||
− | |||
− | [[ | + | ; 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)
- it needs more research for the gun to improve the overall usability
- 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.