Difference between revisions of "MoxieBot"

From Robowiki
Jump to navigation Jump to search
(Added a page for MoxieBot)
 
(Mass-edit Robocode Repository URLs)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Infobox Robot
 +
| bgcolour        = #505050
 +
| altimage        = [[File:MoxieBotImage.png]]
 +
| author          = [[User:Ncj|ncj]]
 +
| extends        = [[AdvancedRobot]]
 +
| released        = Feb 3, 2011
 +
| current_version = 1.0
 +
| license        = Attribution
 +
| download_link  = http://robocode-archive.strangeautomata.com/robots/ncj.MoxieBot_1.0.jar
 +
| isOneOneOne    = true
 +
}}
 
== Background Information ==
 
== Background Information ==
  
Line 5: Line 16:
  
 
; Author
 
; Author
[[ncj]]
+
[[User:Ncj|ncj]]
  
 
; Extends
 
; Extends
Line 11: Line 22:
  
 
; What's special about it?
 
; What's special about it?
It fires .1 power bullets that are aimed to intercept enemy bullets. It wins by simply running the opponent out of energy, which works surprisingly well.
+
MoxieBot fires .1 power bullets that are aimed to intercept enemy bullets. It wins by simply running the opponent out of energy, which works surprisingly well.
  
 
; Great, I want to try it. Where can I download it?
 
; Great, I want to try it. Where can I download it?
[http://www.robocoderepository.com/BotDetail.jsp?id=4003]
+
[http://robocode-archive.strangeautomata.com/robots/ncj.MoxieBot_1.0.jar Download MoxieBot]
  
 
; How competitive is it?
 
; How competitive is it?
It was just entered into the [[RoboRumble]], but my goal was to get at least 50% survival against all bots currently in the rumble. We'll see. It should be able to do this handily against the standard guess factor targeting bots, even the better ones. However, unless it wins all battles against a given bot, it will probably lose by score.
+
My goal is to get at least 50% survival against all bots in the rumble. It should be able to do this against bots with standard strategies. However, unless it wins all battles against a given bot, it will probably lose by score.
 +
 
 +
v1.0 - APS(36.01%) Survival(66.84%), Pairings with <50% survival: ~250
  
 
== Strategy ==
 
== Strategy ==
  
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
It tries to move somewhat perpendicular to the incoming wave. Selection of the particular location to move to is random, weighted by how much of a [[BulletShadow]] that position offers.  
+
It tries to move somewhat perpendicular to the incoming wave. Selection of the particular location to move to is random, weighted by how much of a [[Bullet Shadow]] that position offers.  
  
 
; How does it fire?
 
; How does it fire?
Line 28: Line 41:
  
 
; How does it [[Dodging Bullets|dodge bullets]]?
 
; How does it [[Dodging Bullets|dodge bullets]]?
It moves in a somewhat random pattern, while shadowing future positions with its own shots.
+
It moves in a somewhat random pattern, while shadowing future positions with [[Bullet Shielding]].  
  
 
; How does the [[melee]] strategy differ from [[One-on-one]]  strategy?
 
; How does the [[melee]] strategy differ from [[One-on-one]]  strategy?
Line 53: Line 66:
 
After movement, I intend to put some logic in to handle bots that use non-standard strategies, as will be revealed by the RoboRumble.
 
After movement, I intend to put some logic in to handle bots that use non-standard strategies, as will be revealed by the RoboRumble.
  
The bot's current statistics against higher ranked bots looks something like this:
+
The bot's statistics against standard guess factor targeting bots looks something like this:
P(interception | enemy bullet aimed at my position) = 62%
+
P(interception | enemy bullet aimed at my position) = 62%
P(enemy bullet aimed incorrectly) = 64%
+
P(enemy bullet aimed incorrectly) = 64%
P(enemy shot will miss me) = 86%
+
P(enemy shot will miss me) = 86%
  
I will generally work improving these percentages, and perhaps implement a rudimentary firing strategy. There are also several simple things that the enemy can currently do to beat MoxieBot. I'd also like to incorporate shooting at the enemy into the bot's arsenal of tricks, in order to eventually be able to win according to score.
+
I will generally work on improving these percentages, and perhaps implement a rudimentary firing strategy. There are also several simple things that the enemy can currently do to beat MoxieBot that I'd like to implement counters for. I'd also like to incorporate shooting at the enemy into the bot's arsenal, in order to eventually be able to win according to score.
  
 
; Does it have any [[White Whale]]s?
 
; Does it have any [[White Whale]]s?

Latest revision as of 03:44, 18 August 2017

MoxieBot
MoxieBotImage.png
Author(s) ncj
Extends AdvancedRobot
Released Feb 3, 2011
Current Version 1.0
Code License Attribution
Download

Background Information

Bot Name

MoxieBot

Author

ncj

Extends

AdvancedRobot

What's special about it?

MoxieBot fires .1 power bullets that are aimed to intercept enemy bullets. It wins by simply running the opponent out of energy, which works surprisingly well.

Great, I want to try it. Where can I download it?

Download MoxieBot

How competitive is it?

My goal is to get at least 50% survival against all bots in the rumble. It should be able to do this against bots with standard strategies. However, unless it wins all battles against a given bot, it will probably lose by score.

v1.0 - APS(36.01%) Survival(66.84%), Pairings with <50% survival: ~250

Strategy

How does it move?

It tries to move somewhat perpendicular to the incoming wave. Selection of the particular location to move to is random, weighted by how much of a Bullet Shadow that position offers.

How does it fire?

Every time the enemy fires, the bot selects a new position to move to, and fires a bullet that will intercept the enemy bullet it if it fired at the selected position. This means that there is a chance for the enemy to 'miss' even if it fired at MoxieBot's future position. I'd like to apologize for the long battles this can engender.

How does it dodge bullets?

It moves in a somewhat random pattern, while shadowing future positions with Bullet Shielding.

How does the melee strategy differ from One-on-one strategy?

n/a

How does it select a target to attack/avoid in melee?

n/a

What does it save between rounds and matches?

Nothing.

Additional Information

Where did you get the name?

I wanted to name the bot Patience, given that the bot just waits out the enemy, but that name was already being used. I looked at a list of synonyms, and Moxie stood out. The development name was 'NextBot', so I put the two together and got MoxieBot.

Can I use your code?

Yes, if you tell me you used it and attribute it to me. There's a license file in the git repository, which is located here: git://github.com/bluemoo/robots.git

What's next for your robot?

I just threw together a mediocre movement strategy, but that's first on the list of improvements. The bot still hits walls and moves in odd snake-like patterns!

After movement, I intend to put some logic in to handle bots that use non-standard strategies, as will be revealed by the RoboRumble.

The bot's statistics against standard guess factor targeting bots looks something like this:

P(interception | enemy bullet aimed at my position) = 62%
P(enemy bullet aimed incorrectly) = 64%
P(enemy shot will miss me) = 86%

I will generally work on improving these percentages, and perhaps implement a rudimentary firing strategy. There are also several simple things that the enemy can currently do to beat MoxieBot that I'd like to implement counters for. I'd also like to incorporate shooting at the enemy into the bot's arsenal, in order to eventually be able to win according to score.

Does it have any White Whales?

Pretty much anything non-standard. Ram-bots will destroy it, as the bot has no real offensive capabilities. Any bot that fires .1 power bullets should win, at the moment.

What other robot(s) is it based on?

I learned how to think correctly about the battles by reading this wiki. I found Albert's FuturePosition code to be invaluable, and use most of it directly. There's also a bot out there called BulletCatcher that I found during my implementation. While MoxieBot is bot based off of it, I like to think they are distantly related.