Difference between revisions of "EvBotNG"

From Robowiki
Jump to navigation Jump to search
m (use stable stats for ranking)
m (updated stats)
 
Line 19: Line 19:
 
-->
 
-->
 
| rating          =  
 
| rating          =  
1on1 {{NavboxStats|link=http://literumble.appspot.com/BotDetails?game=roborumble&name=eem.EvBotNG%20v11.9a|rumble=RoboRumble|scorelabel=APS|score=81.82|rank=53rd|win=1099|loss=54|plrank=51st|glicko2=N/A|pwin=95.32|vote=1.04|anpp=85.98|score2label=Survival|score2=89.27}}
+
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.0
+
| 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  = http://robocode-archive.strangeautomata.com/robots/eem.EvBotNG_v12.0.jar
+
| 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 38: Line 38:
 
{{subst:rumblestats:meleerumble|eem.EvBotNG v6.3|RumbleStatsDefault}}
 
{{subst:rumblestats:meleerumble|eem.EvBotNG v6.3|RumbleStatsDefault}}
 
-->
 
-->
The best in 1on1 version is v11.9a
+
The best in 1on1 version is v12.6
  
{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=roborumble&name=eem.EvBotNG%20v11.9a|rumble=RoboRumble|scorelabel=APS|score=81.83|rank=53rd|win=1100|loss=53|plrank=50th|glicko2=N/A|pwin=95.4|vote=1.04|anpp=85.98|score2label=Survival|score2=89.27}}
+
{{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}}
  
  

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

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.