Graduate Capstone Project Breaking Walls: Developing a Successful Robot in Robocode
Graduate Capstone ProjectBreaking Walls: Developing a Successful Robot in RobocodeChris [email protected] 2011Advisor :Dr. Xiang FuCommittee Members:Dr. Habib Ammari, Dr. Chuck Liang
1OverviewIntroductionProblemAlgorithmDesignPerformanceConclusion
2What is Robocode?Game where robots battle in an arenaRobots are controlled via Java programsBattles consists of 10 roundsA battle ends when robot is destroyed
3
Anatomy of a Robot
4
The ProblemGoal: Defeat the robotWalls
Walls is the top performing robot
Must create a robot to defeat Walls
5The WallsKiller RobotContribution: Creation of WallsKiller
WallsKiller defeats Walls in 1 on 1 combat.
Maintains a high level of performance
6What Does WallsKiller do?Implements a firing algorithm developed to hit Walls
Uses an erratic movement pattern to avoid enemy fire
7The AlgorithmTakes advantages of Walls predictable movements
Predicts the movements of the Walls robot
Uses quadratic equations
8Walls Behavior9
The Cosine RuleWill utilize rule and apply to the positions of Walls and Wallskiller
10Applying Cosine Rule11
AlphaBeta
DesignWallsKillerRobot
BattleData
FireControlSystem
FireCommand
QuadraticEqRoots
1213
WallsKillerRobotBase classControls movement and firing commandsBattle event handlers
14
BattleDataX,Y Coordinate dataDistance, heading and bearingEnemy heading, bearing and velocity
15
FireControlSystemImplements firing algorithmCalculates firing anglePasses information to FireCommand
16
FireCommandChoose whether or not to fireSet power of bulletsDetermines degrees to rotate gun
17
QuadraticEqRootsImplementes advanced mathematicsReturns data to FireControlSystem
18
PerformanceHit Rate 70%Average Remaining Health: 77 EnergyRobocode Score: 72%
19
ObservationsHit percentage under 100%
Walls turning
Improved evasion20
ConclusionSuccessful in 1-on-1 combat
Performance shows room for improvement
Needs improved movement algorithm
21ReferencesMathew 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)
22References 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
Top Related