Jump to navigation Jump to search
|Movement||Anti-Gravity Movement, Virtual Bullet Dodging|
|Code License||Public domain|
- What's special about it?
- It was one of the best bots in the very earliest days of Robocode. Back then, it placed in the top 8 in the RoboRumble.
- TheArtOfWar is open-source and the code for it can be found in the JAR. You can read more about it at The Art of War Home Page.
- How competitive is it?
- It is #380 in 1v1 and #54 in Melee in the RoboRumble. It has not been updated since February 2002.
- How does it move?
- Its movement is almost entirely based on Anti-Gravity Movement. Repulsive points are assigned to enemy robots, predicted paths of enemy bullets, walls, and the battlefield center in a melee battle.
- How does it fire?
- It has a pretty complex algorithm for targeting and selecting fire power, which in retrospect, could be much simpler. It uses a number of different aiming techniques, and keeps track of hits and misses to help it select the best aiming algorithm for each opponent.
- How does it dodge bullets?
- When it detects an Energy Drop which might indicate a bullet being fired, it plots three possible bullet paths:
- If the anti-gravity forces were assigned to the bullets' current positions, the combined forces would cause TheArtOfWar to move backwards (bad!) instead of dodging left or right (good!), so I assign them to the points where I would expect the bullets to impact TheArtOfWar.
- How does the melee strategy differ from one-on-one strategy?
- If I remember correctly, the only difference is in melee, it assigns a weak anti-gravity force to the center of the battlefield to encourage it to stay in the corners (where it is safe).
- Where did you get the name?
- From "The Art Of War" by Sun Tzu, the world's oldest military treatise.
- Can I use your code?
- Sure. The source code is available in the JAR.
- What's next for your robot?
- I think I will leave it alone. It serves as a useful milestone for robot development and just goes to show you how far robots have advanced since this robot was written. It used to rank near the top; now it's lucky if it cracks the top 300 in one-on-one. It's still half-decent in melee.
- What other robot(s) is it based on?
- It is based on two previous robots I wrote: RayBot and a one-on-one robot called, oddly enough, "One".