Wednesday, September 16, 2009

The mole: Analyzing enemy’s strategies from the inside.

Before the big day of RoboRumble, I infiltrated into the enemy’s code, looking at the samples provided in the Robocode package I previously downloaded. The enemies called Walls, RamFire, SpinBot, Crazy, Fire, Sitting Duck, Corners, Tracker are analyzed in terms of movement, targeting, and firing, and their strategies are scrutinized. Here is what I discovered while I was in enemy base.

Enemy Name: Walls

Movement: He will move away from the enemy whenever he is hit, he will travel along the wall.
Targeting: He rotates around the board while shooting at the enemy scanned.
Firing: He always fires at the same strength.





Enemy Name: RamFire

Movement: He tracks the enemy and attempts to ram him.
Targeting: He looks to gain bonus points by keeping enemy scanned alive to ram
Firing: He fires according to how much energy the enemy scanned has remaining.





Enemy Name: SpinBot

Movement: He spins around in a circle while shooting at the enemy scanned.
Targeting: He turns in a circle while scanning for an enemy.
Firing: He shoots on a constant strength depending if the enemy’s spotted bearing meets the criteria of being greater then -10, away and less than 10.




Enemy Name: Crazy

Movement: He moves in odd movements attempting to throw off robots without good tracking systems. If it hits wall, it reverses direction and it always does this if it hits a robot and its caused the collision.
Targeting: He looks for any enemy.
Firing: He always fires at a set strength once enemy is found.




Enemy Name: Fire

Movement: Only moves when he is hit.
Targeting: He spins his gun while scanning for an enemy.
Firing: He fires depending on the enemy’s health.




Enemy Name: Sitting Duck

Movement: He doesn’t move
Targeting: He doesn’t target
Firing: He doesn’t fire.

*He is definitely not an enemy that I will take any strategy from*




Enemy Name: Corners

Movement: He will retrieve to the corner while scanning for an enemy.
Targeting: He targets the first enemy he scans.
Firing: The close he is to the enemy, the more powerful bullets he will use.




Enemy Name: Tracker

Movement: He will not move until an enemy is targeted, he will follow and maintain a distance from the enemy.
Targeting: He concentrates on one enemy until it dies.
Firing: He will fire at the same strength.




With the opportunities of being on the inside, I was able to take some of the strategies in consideration for my warrior robot. Now I have to go prepare for battle. At war we shall meet again.

(image source: http://davidalves.net/images/robocode/robocodeII_logo_idea.gif)

No comments:

Post a Comment

 
/*Java2HTML*/