transcript
- Slide 1
- Slide 2
- Graduate Capstone Project Breaking Walls: Developing a
Successful Robot in Robocode Chris Velez cvelez4@pride.hofstra.edu
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
- Slide 12
- Applying Cosine Rule 11 Alpha Beta
- Slide 13
- Design WallsKillerRobot BattleData FireControlSystem
FireCommand QuadraticEqRoots 12
- Slide 14
- 13
- Slide 15
- 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