Introdução I Torneio Robocode Build the Best Destroy the Rest!!!
Graduate Capstone Project Breaking Walls: Developing a Successful Robot in Robocode Chris Velez...
23
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
-
date post
19-Dec-2015 -
Category
Documents
-
view
219 -
download
4
Transcript of Graduate Capstone Project Breaking Walls: Developing a Successful Robot in Robocode Chris Velez...
- 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
- 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