Questions and Comments
Just curious: has anyone used code from TheArtOfWar
? Is it just too big and bloated, or are the copyright restrictions too cumbersome? Would switching to a GPL-style license encourage people to use the code? I don't have time to compete, but it would be nice if even just a little piece of TAOW contributed to the bot that some day knocks SandboxDT
off the 1-on-1 throne. :-) -- Ray Vermette
Ummm, I often dig in the code to see how you have solved on or other issue I stumble across. It's inspiring to read the code and see how I should have structured my own. =) I think I might some day soon base a robot entirely on TheArtOfWar code structure and then add aiming techniques and movement from there. Not that I have too high hopes to knock down DT, but I just might. =) What are the copyright restrictions anyway? -- PEZ
You know PEZ, I found out that structurisation (is that a valid word?) is a bad thing. Just read through fushi's pvp bot and found out that it consists only of pattern matching gun, random movement and centre orbiting movement. But "thanks to" its structure the codesize is about 8500... -- lRem
Well, I see nothing bad with 8500 codesize. Unless you're making a MiniBot of course. Noone sane would base a mini on TAOW. But even with minibots structure can sometimes save bytes. -- PEZ
How does it move?
Its movement is based almost entirely on 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?
has a pretty complex algorithm for Targeting
, which in retrospect, could be much simplier. 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.
detects a drop in the opponent's energy which might indicate a bullet being fired, it plots three possible bullet paths: one fired using LinearAiming?
(i.e.: straight at TheArtOfWar
's current position), one fired based on TheArtOfWar
's average speed, and one using an interative 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
assigns a weak AntiGravity
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 on the RobocodeRepository
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 use to rank near the top; now it's lucky if it cracks the top 35 in one-on-one
. It's still half-decent in melee
What other robot(s) is it based on?
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 on the RobocodeRepository . You can read more about it at [The Art of War Home Page].
-- Ray Vermette
Half-decent in Melee
? Nah! It's one of the very best melee bots out there. And this without updates for what in Robocode land must count as ages. -- PEZ
This bot won the ChampionsLeague? on EternalRumble June 12 2003. It does this at times. This is one strong Melee bot! -- PEZ
And it's still ranked 4th in Melee on the EternalRumble. -- Kawigi