Difference between revisions of "EvBotNG"
m (ranking added) |
m (updated stats) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
| author = [[User:Beaming|Beaming]] | | author = [[User:Beaming|Beaming]] | ||
| extends = [[AdvancedRobot]] | | extends = [[AdvancedRobot]] | ||
− | | targeting = | + | | targeting = GF, kdTree, HoT, Circular, Random |
| movement = Exact path predictor | | movement = Exact path predictor | ||
| released = 2015 | | released = 2015 | ||
| best_rating = | | best_rating = | ||
+ | <!-- for rating copy paste with current version --> | ||
+ | <!-- | ||
| rating = | | rating = | ||
− | | current_version = | + | 1on1 {{subst:rumblestats:roborumble|eem.EvBotNG v7.6|NavboxStats}} |
+ | melee {{subst:rumblestats:meleerumble|eem.EvBotNG v6.1|NavboxStats}} | ||
+ | --> | ||
+ | | rating = | ||
+ | 1on1 {{NavboxStats|link=http://literumble.appspot.com/BotDetails?game=roborumble&name=eem.EvBotNG%20v12.6|rumble=RoboRumble|scorelabel=APS|score=81.85|rank=53rd|win=1097|loss=56|plrank=52nd|glicko2=N/A|pwin=95.14|vote=1.11|anpp=85.96|score2label=Survival|score2=89.19}} | ||
+ | | current_version = v12.7 | ||
| codesize = [[MegaBot]] | | codesize = [[MegaBot]] | ||
| license = open source and comes with no string attached | | license = open source and comes with no string attached | ||
− | | download_link = | + | | download_link = http://robocode-archive.strangeautomata.com/robots/eem.EvBotNG_v12.7.jar |
| source_link = https://github.com/evgmik/robocode_bots.EvBotNG | | source_link = https://github.com/evgmik/robocode_bots.EvBotNG | ||
| isOneOnOne = true | | isOneOnOne = true | ||
Line 24: | Line 31: | ||
== Background Information == | == Background Information == | ||
− | |||
− | {{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=eem.EvBotNG% | + | <!-- for rating copy paste with current version --> |
+ | <!-- | ||
+ | {{subst:rumblestats:roborumble|eem.EvBotNG v6.2|RumbleStatsDefault}} | ||
+ | |||
+ | {{subst:rumblestats:meleerumble|eem.EvBotNG v6.3|RumbleStatsDefault}} | ||
+ | --> | ||
+ | The best in 1on1 version is v12.6 | ||
+ | |||
+ | {{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=roborumble&name=eem.EvBotNG%20v12.6|rumble=RoboRumble|scorelabel=APS|score=81.85|rank=53rd|win=1097|loss=56|plrank=52nd|glicko2=N/A|pwin=95.14|vote=1.11|anpp=85.96|score2label=Survival|score2=89.19}} | ||
+ | |||
+ | |||
+ | The best in melee version is v6.1 | ||
+ | |||
+ | {{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=eem.EvBotNG%20v6.1|rumble=MeleeRumble|scorelabel=APS|score=67.39|rank=10th|win=388|loss=9|plrank=10th|glicko2=N/A|pwin=97.73|vote=1.76|anpp=91.82|score2label=Survival|score2=55.69}} | ||
+ | |||
+ | You can also see its APS vs. version number in the following plot | ||
+ | [https://github.com/evgmik/robocode_bots.EvBotNG/blob/master/stats/EvBotNG.stats.png] | ||
=== What's special about it? === | === What's special about it? === | ||
Line 33: | Line 55: | ||
=== How competitive is it? === | === How competitive is it? === | ||
− | In 1 on 1 it is still quite weak and hovers | + | In 1 on 1 it is still quite weak and hovers just above top 100. Since its guns are not very sophisticated. But in melee it is in top 15. Surprisingly, the circular and head on guns do all the work in melee till it gets to the last 2 bots standing, where the bot enables more guns. |
+ | |||
+ | === What did I learn === | ||
+ | The large APS jump in 1on1 was when I stop avoiding what I think is dangerous and started avoiding real hits' GF. After 3 years of robocoding this idea finally propagated to my brain :( | ||
=== What is under the hood? === | === What is under the hood? === | ||
− | See | + | See the [[EvBotNG/Version_History]] and [[eem.frame-lib]]. |
=== How does it move? === | === How does it move? === | ||
Line 44: | Line 69: | ||
=== How does it fire === | === How does it fire === | ||
Aims to the closest, with potential switch to a more hitable bot like the sitting duck or less lucky bot (who survives less in the previous rounds), also it has a preference for a weak on energy bots. | Aims to the closest, with potential switch to a more hitable bot like the sitting duck or less lucky bot (who survives less in the previous rounds), also it has a preference for a weak on energy bots. | ||
+ | |||
+ | In 1on1 it often wins a couple of the first rounds even against the top 10. | ||
=== Great, I want to try it. Where can I download it? === | === Great, I want to try it. Where can I download it? === |
Latest revision as of 03:45, 3 December 2017
EvBotNG | |
Author(s) | Beaming |
Extends | AdvancedRobot |
Targeting | GF, kdTree, HoT, Circular, Random |
Movement | Exact path predictor |
Released | 2015 |
Current Rating | 1on1 81.85 (53rd) |
Current Version | v12.7 |
Code Size | MegaBot |
Code License | open source and comes with no string attached |
Download | |
Source |
Contents
Background Information
The best in 1on1 version is v12.6
RoboRumble ‒ APS: 81.85% (53rd), PL: 1097-56 (52nd), Survival: 89.19%
The best in melee version is v6.1
MeleeRumble ‒ APS: 67.39% (10th), PL: 388-9 (10th), Survival: 55.69%
You can also see its APS vs. version number in the following plot [1]
What's special about it?
It is based on my own framework. With plug in motion drivers and virtual guns. It tries to dodge bullets from all known guns. Well, it is too CPU demanding, so the list changes depending on the game stage.
How competitive is it?
In 1 on 1 it is still quite weak and hovers just above top 100. Since its guns are not very sophisticated. But in melee it is in top 15. Surprisingly, the circular and head on guns do all the work in melee till it gets to the last 2 bots standing, where the bot enables more guns.
What did I learn
The large APS jump in 1on1 was when I stop avoiding what I think is dangerous and started avoiding real hits' GF. After 3 years of robocoding this idea finally propagated to my brain :(
What is under the hood?
See the EvBotNG/Version_History and eem.frame-lib.
How does it move?
See the framework again. But most importantly it tries to dodge the head on gun and circular gun from the closest bot in melee and probabilistically from some others. Once it gets to the last 2 bot standing or 1on1 it dodges more known guns.
How does it fire
Aims to the closest, with potential switch to a more hitable bot like the sitting duck or less lucky bot (who survives less in the previous rounds), also it has a preference for a weak on energy bots.
In 1on1 it often wins a couple of the first rounds even against the top 10.
Great, I want to try it. Where can I download it?
It is in official roborumble and melee listings, look for eem.EvBotNG there. Alternatively, feel free to download the source code and play with it.
Thanks
I suffer from "not coded here syndrome" so my code is quite original. Though, I took a lot from my own EvBot. You might see uncleaned leftovers of that bot scattered in the source.
Nevertheless, I owe to many people who made this wiki and its content available. Special thanks to Voidious and his wonderful RoboRunner tool which I used.
Also, its design was influenced by the ideas behind the XanderCat, i.e., modular design and, yet not well implemented by me, idea of components registration for custom calls/events.