MoxieBot

From Robowiki
Revision as of 01:48, 4 February 2011 by Ncj (talk | contribs) (Minor fixes)
Jump to navigation Jump to search

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?

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.

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 BulletShadow 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 its own shots.

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.