Difference between revisions of "RabidWombat"
Jump to navigation
Jump to search
RobertWalker (talk | contribs) (Another category, notoc noeditsection) |
RobertWalker (talk | contribs) m (Added category) |
||
Line 52: | Line 52: | ||
[[Category:Bots|RabidWombat]] | [[Category:Bots|RabidWombat]] | ||
[[Category:1-vs-1 Bots|RabidWombat]] | [[Category:1-vs-1 Bots|RabidWombat]] | ||
+ | [[Category:MegaBots||RabidWombat]] | ||
[[Category:Open Source Bots|RabidWombat]] | [[Category:Open Source Bots|RabidWombat]] | ||
− | [[Category: | + | [[Category:Robot In Development|RabidWombat]] |
__NOTOC__ __NOEDITSECTION__ | __NOTOC__ __NOEDITSECTION__ |
Revision as of 17:51, 12 December 2007
RabidWombat | |
Author(s) | RobertWalker |
Extends | PluggableRobot |
Targeting | Virtual gun array: head-on, linear, circular, guess factor |
Movement | antigravity movement variant |
== Background Info ==
- What's special about it?
- It's the robot that the PluggableRobot architecture was built to support. Hopefully one day that might be considered special.
- Great, I want to try it. Where can I download it?
- You can't yet. I want to improve it some more before I release it.
- How competitive is it?
- It's not done yet, so it's not that competitive. It beats the SampleBots, of course. I've also been pitting it against SpareParts with good success.
Strategy
- How does it move?
- It uses a variation of antigravity movement. The enemy robot exerts an attractive or repulsive force on RabidWombat, depending on how far away it is, in order to maintain a particular distance from the enemy. (It's pretty much working on Hooke's law.) That distance grows if RabidWombat is losing and shrinks if it's winning, so that it'll run away or close in for the kill as appropriate. Walls exert a repulsive force. Bullet dodging is done with force vectors as well.
- How does it fire?
- It has a virtual gun array containing (currently) a head-on targeting gun (apply directly to the forehead), a linear targeting gun, a circular targeting gun and a guess factor gun. (I suppose the linear targeting gun is probably redundant.) It fires waves (for guess factor targeting) and virtual bullets (for tracking the success of the various guns) every turn and fires the real bullets with the best gun. Stats decay over time so that it will adapt more readily to changes in enemy behavior. I might add a pattern matching gun to the array, but if I did I'd probably have to change things around a bit. Currently, all my guns pretend to fire every turn, which from what I understand would be pretty slow for a pattern matching gun.
- How does it dodge bullets?
- For the moment, it assumes that the opponent is using head-on targeting and runs away from that spot. I'm still somewhat undecided on the final bullet dodging strategy.
- What does it save between rounds and matches?
- Currently, it saves gun accuracy, guess factor and energy stats between rounds and nothing between matches. I'm currently working on a testing harness that will allow me to see how tweaks affect a number of performance metrics not reported by the RobocodeResults class.
Additional Info
- Where did you get the name?
- It sounded cool. Its initials happening to be RW didn't hurt, either.
- Can I use your code?
- For now, RabidWombat is closed source. I intend to open it up eventually, after I see how well I can get it to perform, or when I get tired of it, whichever comes first.
- What's next for your robot?
- Finish tweaking and testing harness
- Improve bullet dodging
- Add a pattern matching gun
- Take wall bumping into account for virtual gun calculations
- Weight virtual gun stats based on hit probability
- Segment statistics
- Tweak, tweak, tweak...
- Does it have any white whales?
- For now, I've been pitting RabidWombat against SpareParts, with good results. I'm looking for another bot to pit it against.
Credits
PluggableRobot was developed in parallel to support RabidWombat, so look there for some credits. Other than that, it wasn't directly based on any other robot, although I've culled many ideas from the wiki. I'm trying to be good about giving attribution in the source, and when I get some time I'll transfer them to the wiki.