Difference between revisions of "TheArtOfWar"

From Robowiki
Jump to navigation Jump to search
m
(Fix broken links and update)
Line 5: Line 5:
 
| movement        = [[Anti-Gravity Movement]]
 
| movement        = [[Anti-Gravity Movement]]
 
| current_version = 1.2
 
| current_version = 1.2
| download_link  = http://darkcanuck.net/rumble/robots/tzu.TheArtOfWar_1.2.jar
+
| download_link  = http://robocode-archive.strangeautomata.com/robots/tzu.TheArtOfWar_1.2.jar
 
| isOpenSource    = yes
 
| isOpenSource    = yes
 
| isOneOnOne      = yes
 
| isOneOnOne      = yes
Line 14: Line 14:
  
 
; What's special about it?
 
; What's special about it?
: It was one of the very best bots in the very earliest days of Robocode. It placed in the top 8 in the [[Robocode Rumble]].
+
: It was one of the very best bots in the very earliest days of Robocode. It placed in the top 8 in the [[RoboRumble]].
  
 
; How competitive is it?
 
; How competitive is it?
: It is around #250 in [[One on One|1v1]] and #30 in [[Melee]] in the [[RoboRumble]]. It has not been updated since February, 2002.
+
: It is #380 in [[One on One|1v1]] and #54 in [[Melee]] in the [[RoboRumble]]. It has not been updated since February, 2002.
  
 
== Strategy ==
 
== Strategy ==
Line 39: Line 39:
  
 
; Can I use your code?
 
; Can I use your code?
: Sure.  The source code is available on the [[Robocode Repository]].
+
: Sure.  The source code is available in the JAR.
  
 
; What's next for your robot?
 
; 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 TheArtOfWar was written.  It used to rank near the top; now it's lucky if it cracks the top 35 in [[One on One|one-on-one]].  It's still half-decent in [[melee]].
+
: 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 TheArtOfWar was written.  It used to rank near the top; now it's lucky if it cracks the top 300 in [[One on One|one-on-one]].  It's still half-decent in [[melee]].
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
: TheArtOfWar is based on two previous robots I wrote: [http://www.geocities.com/evilsimon/RayBot/RayBot_Description.html RayBot] and a one-on-one robot called, oddly enough, "One".   
+
: TheArtOfWar is based on two previous robots I wrote: [https://web.archive.org/web/20091027162353/http://www.geocities.com/evilsimon/RayBot/RayBot_Description.html RayBot] and a one-on-one robot called, oddly enough, "One".   
  
: TheArtOfWar is open source and the code for it can be found on the Robocode Repository .  You can read more about it at [http://web.archive.org/web/20040211130751/http://members.rogers.com/theartofwar/ The Art of War Home Page].
+
: TheArtOfWar is open source and the code for it can be found in the JAR.  You can read more about it at [https://web.archive.org/web/20040211130751/http://members.rogers.com/theartofwar/ The Art of War Home Page].

Revision as of 01:28, 13 August 2017

TheArtOfWar
Author(s) Ray Vermette
Extends AdvancedRobot
Targeting Virtual Guns
Movement Anti-Gravity Movement
Current Version 1.2
Download

Background Information

What's special about it?
It was one of the very best bots in the very earliest days of Robocode. It placed in the top 8 in the RoboRumble.
How competitive is it?
It is #380 in 1v1 and #54 in Melee in the RoboRumble. It has not been updated since February, 2002.

Strategy

How does it move?
Its movement is based almost entirely on AntiGravity. AntiGravity points are assigned to enemy robots, the predicted paths of enemy bullets, walls, and the battlefield center in a melee battle.
How does it fire?
TheArtOfWar 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 TheArtOfWar detects a drop in the opponent's energy which might indicate a bullet being fired, it plots three possible bullet paths: one fired using linear aiming (i.e.: straight at TheArtOfWar's current position), one fired based on TheArtOfWar's average speed, and one using an iterative aiming technique. If AntiGravity 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 AntiGravity forces to the points where I 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, TheArtOfWar assigns a weak AntiGravity force to the center of the battlefield to encourage it to stay in the corners (where it is safe!).

Additional Information

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 TheArtOfWar 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?
TheArtOfWar is based on two previous robots I wrote: RayBot and a one-on-one robot called, oddly enough, "One".
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.