Graduate Capstone Project Breaking Walls: Developing a Successful Robot in Robocode Chris Velez [email protected]Summer 2011 Advisor :Dr. Xiang Fu Committee Members: Dr. Habib Ammari, Dr. Chuck Liang 1
Transcript
Slide 1
Slide 2
Graduate Capstone Project Breaking Walls: Developing a
Successful Robot in Robocode Chris Velez [email protected]
Summer 2011 Advisor :Dr. Xiang Fu Committee Members: Dr. Habib
Ammari, Dr. Chuck Liang 1
Slide 3
Overview Introduction Problem Algorithm Design Performance
Conclusion 2
Slide 4
What is Robocode? Game where robots battle in an arena Robots
are controlled via Java programs Battles consists of 10 rounds A
battle ends when robot is destroyed 3
Slide 5
Anatomy of a Robot 4
Slide 6
The Problem Goal: Defeat the robotWalls Walls is the top
performing robot Must create a robot to defeat Walls 5
Slide 7
The WallsKiller Robot Contribution: Creation of WallsKiller
WallsKiller defeats Walls in 1 on 1 combat. Maintains a high level
of performance 6
Slide 8
What Does WallsKiller do? Implements a firing algorithm
developed to hit Walls Uses an erratic movement pattern to avoid
enemy fire 7
Slide 9
The Algorithm Takes advantages of Walls predictable movements
Predicts the movements of the Walls robot Uses quadratic equations
8
Slide 10
Walls Behavior 9
Slide 11
The Cosine Rule Will utilize rule and apply to the positions of
Walls and Wallskiller 10
WallsKillerRobot Base class Controls movement and firing
commands Battle event handlers 14
Slide 16
BattleData X,Y Coordinate data Distance, heading and bearing
Enemy heading, bearing and velocity 15
Slide 17
FireControlSystem Implements firing algorithm Calculates firing
angle Passes information to FireCommand 16
Slide 18
FireCommand Choose whether or not to fire Set power of bullets
Determines degrees to rotate gun 17
Slide 19
QuadraticEqRoots Implementes advanced mathematics Returns data
to FireControlSystem 18
Slide 20
Performance Hit Rate 70% Average Remaining Health: 77 Energy
Robocode Score: 72% 19
Slide 21
Observations Hit percentage under 100% Walls turning Improved
evasion 20
Slide 22
Conclusion Successful in 1-on-1 combat Performance shows room
for improvement Needs improved movement algorithm 21
Slide 23
References Mathew Nelson, "Robocode", available at
http://robocode.sourceforge.net/, retrieved 06/01/2009. Parker S,
Secrets from the Robocode Masters: Predictive Targeting,
http://www.imb.com/developerworks/java/library/j-pred-targeting/
(2002) Eisenstein, J.: Evolving robocode tank fighters. Technical
Report AIM- 2003-023, AI Lab, Massachuesetts Institute of
Technology (2003) F.N. Larsend, Robocode Scoring Available:
http://robowiki.net/wiki/Robocode/Scoring (2010) S.Li,Rockem sock
em robocode!,
http://www.ibm.com/developerworks/java/library/j-robocode/ (2002)
22
Slide 24
References cont. Shichel S, Ziserman E, Sipper M,: GP-Robocode:
Using genetic programming to evolve robocode players. Ben-Gurion
University, Department of Computer Science. Kobayashi K, Uchida Y,
Wantabe K,: A study of Battle Stragety for Robocode. SIC Annual
Conference, Fubuki University Japan (2003) J.L Nielson and B.F
Jensen, Modern AI for Games: Robocode.
http://www.jonnielson.net/RoboReportOfficial.pdf, (2010) J. Hong
and S. Cho, Evolution of emergent behaviors for shooting game
characters in Robocode, Evolutionary Computation, pp. 634- 638,
2004 23