Difference between revisions of "Capulet"

From Robowiki
Jump to navigation Jump to search
(Capulet takes first!)
(Change outdated info)
 
(3 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
| isMelee    = true
 
| isMelee    = true
 
| isOpenSource = true
 
| isOpenSource = true
| download_link = http://robocoderepository.com/BotDetail.jsp?id=3753
+
| download_link = http://robocode-archive.strangeautomata.com/robots/oog.melee.Capulet_1.2.jar
 
}}
 
}}
  
Line 23: Line 23:
  
 
; What's special about it?
 
; What's special about it?
: To you, not much. To me, its probably my most successful melee bot so far. Also, it has kind of a new idea about how a good melee movement should work.
+
: It was my first truly competitive bot, and it's melee movement was fairly unique for not trying to run away from enemies.
  
 
; Great, I want to try it. Where can I download it?'''
 
; Great, I want to try it. Where can I download it?'''
: http://robocoderepository.com/BotDetail.jsp?id=3765
+
: http://robocode-archive.strangeautomata.com/robots/oog.melee.Capulet_1.2.jar
  
 
; How competitive is it?
 
; How competitive is it?
: Very competitive, its currently first place in the micro melee rumble.
+
: Very competitive. It held down the #1 spot in the micro melee rumble until [[Wallaby]] came along.
  
 
== Strategy ==
 
== Strategy ==
  
 
; How does it move?
 
; How does it move?
: It uses [[Minimum Risk Movement]]. However, it's movement works in a somewhat different way from normal melee movements. It doesn't even rate points based on distance from other robots. In fact, the only thing it takes into account is perpendicularity to the closest enemy and the distance from the center of the field. The way it works is that it chooses a distance(closest enemy distance*Math.random()*0.72) then projects that distance for every direction it could go in and moves to the best point. The movement works as a pretty effective random movement, and gets it to the corners pretty quickly.
+
: It uses [[Minimum Risk Movement]]. However, it's movement works in a somewhat different way from normal melee movements in that it doesn't rate points based on distance from other robots. In fact, the only thing it takes into account is perpendicularity to the closest enemy and the distance from the center of the field. The way it works is that it chooses a distance(closest enemy distance*Math.random()*0.72) then projects that distance for every direction it could go in and moves to the best point.
  
: This robots strategy is basically my challenge to the idea that a good melee bot is all about not getting shot at at all. I think that its much more important to get yourself into a good position early on than it is to try to be as far away from other robots as possible, even if that means moving dangerously close to another robot(I've seen it ram HawkOnFire to death twice while testing). This robot just relies on its gun and the randomness of its movement to kill the other robots in the corner first.
+
: This robot's overall strategy is to get to a corner and establish dominance of it, as opposed to trying to avoid being fired at from the beginning like many melee bots. To this end it is very agressive; it will move very close to other robots in order to gain the corner. The fact that its movement is a good random movement in itself and that it has a good gun for a micro melee bot means that it usually can kill any robots that are also trying to take that corner.
  
 
; How does it fire?
 
; How does it fire?
: I needed a gun that would be accurate at close ranges without needing much data to operate with, so it uses a gun from the [[Circular Targeting]] page optimized for codesize. Its actually amazing how accurate a simple gun like that can be in melee.
+
: I needed a gun that would be accurate at close ranges without needing much data to operate with, so it uses a gun from the [[Circular Targeting]] page that I modified to take the other robot's acceleration into account. It's extremely accurate at close ranges, and works very well in melee.
  
 
; How does it dodge bullets?
 
; How does it dodge bullets?
Line 53: Line 53:
  
 
; Where did you get the name?  
 
; Where did you get the name?  
: It's kind of a big brother to TybaltMelee.
+
: It's kind of a big brother to my retired bot TybaltMelee.
  
 
; Can I use your code?
 
; Can I use your code?
Line 59: Line 59:
  
 
; What's next for your robot?
 
; What's next for your robot?
: I'm not quite sure. Maybe trying to knock [[Sprout]] off the top of the micro-rumble?
+
: I'm getting some promising results by using (350+getOthers()*50)/e.getDistance() instead of 500/e.getDistance(), so the next version might explore better firepower selection. I probably won't release another version unless I think it will take the minibot throne, however.
  
 
; Does it have any [[White Whale]]s?  
 
; Does it have any [[White Whale]]s?  
 
: For some reason, grofvuil and wisdom both completely destroy it.
 
: For some reason, grofvuil and wisdom both completely destroy it.
 +
 
== Credits ==
 
== Credits ==
 
*Whoever invented [[Minimum Risk Movement]]
 
*Whoever invented [[Minimum Risk Movement]]

Latest revision as of 15:41, 2 May 2020

Capulet
Author(s) CrazyBassoonist
Extends AdvancedRobot
Targeting Circular Targeting
Movement Minimum Risk Movement
Download

Background Information

Bot Name
Capulet
Author
CrazyBassoonist
Extends
AdvancedRobot
What's special about it?
It was my first truly competitive bot, and it's melee movement was fairly unique for not trying to run away from enemies.
Great, I want to try it. Where can I download it?
http://robocode-archive.strangeautomata.com/robots/oog.melee.Capulet_1.2.jar
How competitive is it?
Very competitive. It held down the #1 spot in the micro melee rumble until Wallaby came along.

Strategy

How does it move?
It uses Minimum Risk Movement. However, it's movement works in a somewhat different way from normal melee movements in that it doesn't rate points based on distance from other robots. In fact, the only thing it takes into account is perpendicularity to the closest enemy and the distance from the center of the field. The way it works is that it chooses a distance(closest enemy distance*Math.random()*0.72) then projects that distance for every direction it could go in and moves to the best point.
This robot's overall strategy is to get to a corner and establish dominance of it, as opposed to trying to avoid being fired at from the beginning like many melee bots. To this end it is very agressive; it will move very close to other robots in order to gain the corner. The fact that its movement is a good random movement in itself and that it has a good gun for a micro melee bot means that it usually can kill any robots that are also trying to take that corner.
How does it fire?
I needed a gun that would be accurate at close ranges without needing much data to operate with, so it uses a gun from the Circular Targeting page that I modified to take the other robot's acceleration into account. It's extremely accurate at close ranges, and works very well in melee.
How does it dodge bullets?
It doesn't. It just tries to move pretty randomly.
Is this robot Melee-capable?
Yes.
What does it save between rounds and matches?
Nothing.

Additional Information

Where did you get the name?
It's kind of a big brother to my retired bot TybaltMelee.
Can I use your code?
RWPCL
What's next for your robot?
I'm getting some promising results by using (350+getOthers()*50)/e.getDistance() instead of 500/e.getDistance(), so the next version might explore better firepower selection. I probably won't release another version unless I think it will take the minibot throne, however.
Does it have any White Whales?
For some reason, grofvuil and wisdom both completely destroy it.

Credits