Difference between revisions of "LemonDrop"

From Robowiki
Jump to navigation Jump to search
m
(a few changes, plus updated to new version)
Line 6: Line 6:
 
| extends        = [[AdvancedRobot]]
 
| extends        = [[AdvancedRobot]]
 
| targeting      = [[Pattern Matching|Pattern Matching]]
 
| targeting      = [[Pattern Matching|Pattern Matching]]
| movement        = [[Oscillator Movement]]
+
| movement        = [[Oscillator Movement]], [[Stop & Go]]
| current_version = 1.3.117 BETA
+
| current_version = 1.4.104 BETA
 
| license        = [[RWLPCL]]
 
| license        = [[RWLPCL]]
| download_link  = http://www.robocoderepository.com/BotFiles/3911/exauge.LemonDrop_1.3.117.jar
+
| download_link  = http://www.robocoderepository.com/BotFiles/3911/exauge.LemonDrop_1.4.104.jar
 
| source_link    = http://www.robocoderepository.com/BotFiles/3911/LemonDrop.java
 
| source_link    = http://www.robocoderepository.com/BotFiles/3911/LemonDrop.java
 
| isOpenSource    = yes
 
| isOpenSource    = yes
Line 31: Line 31:
  
 
; What's so special about it?
 
; What's so special about it?
: It's my first robot which implements a small, but effective (against small bots) [[Oscillator Movement]]. Most lightweight pattern matchers have a very difficult time hitting it. You can get the code from my [[User:Exauge/snippets|code snippets page]].
+
: It's my first robot which implements a small, but effective (against small bots) [[Oscillator Movement]]. Most lightweight pattern matchers have a very difficult time hitting it. Also it has multi-mode movement that works as follows: if it loses 3 rounds before it wins 3, it switches to a [[Stop & Go]] movement (to perform better against basic targeting methods). It then runs the [[Stop & Go]] movement until it loses 3 rounds. After that, it figures which movement performed the best, and uses it for the remaining rounds.  
  
 
; How competitive is it?
 
; How competitive is it?
: Fairly - it's #63 in the microrumble and #285 in the general rumble which is top 20% in microrumble and top 40% in general rumble.
+
: Fairly - it's #60 in the microrumble and #284 in the general rumble.
  
 
; Where can I get it?
 
; Where can I get it?
Line 44: Line 44:
 
: 1.2 - strengthened movement even more, changed gun a wee bit ;), corrected small glitch
 
: 1.2 - strengthened movement even more, changed gun a wee bit ;), corrected small glitch
 
: 1.3 - small gun tweaking, better wall avoidance, stronger movement, narrow lock radar
 
: 1.3 - small gun tweaking, better wall avoidance, stronger movement, narrow lock radar
 +
: 1.4 - multi-mode movement, fixed "sticky-wall glitch" by reverting to previous wall avoidance
  
 
== Strategy ==
 
== Strategy ==
  
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
: [[Oscillator Movement]]
+
: [[Oscillator Movement]], [[Stop & Go]]
  
 
; How does it fire?
 
; How does it fire?
Line 54: Line 55:
  
 
; How does it [[Dodging Bullets|dodge bullets]]?
 
; How does it [[Dodging Bullets|dodge bullets]]?
: [[Oscillator Movement]]
+
: [[Oscillator Movement]], [[Stop & Go]]
  
 
; How does the [[melee]] strategy differ from [[One-on-one]]  strategy?
 
; How does the [[melee]] strategy differ from [[One-on-one]]  strategy?
Line 60: Line 61:
  
 
; What does it save between rounds and matches?
 
; What does it save between rounds and matches?
: A few static variables.
+
: A few static variables including symbolic state, effectiveness of movement methods, win count, movement to use, and a couple others.
  
 
== Additional Information ==
 
== Additional Information ==
Line 68: Line 69:
  
 
; Can I use your code?
 
; Can I use your code?
: Absolutely. It's [[RWLPCL]].
+
: Absolutely. It's [[RWLPCL]]. I commented the code a lot to make it easier to understand, but it's slightly compressed to save codesize so you might have to pay semi-close attention. You can view the code by clicking the source link to the right. You can see more free code / tutorials at my [[User:Exauge/snippets|code snippets page]].
  
 
; What's next for your robot?
 
; What's next for your robot?
Line 74: Line 75:
  
 
; Does it have any [[White Whale]]s?
 
; Does it have any [[White Whale]]s?
: [[Thorn]], [[Waveshark]], [[Smoke]], [[Raiku]], and [[Acero]].
+
: [[Thorn]], [[Waveshark]], [[Smoke]], [[Raiku]], and [[Acero]]. (Could change with V1.4 :O)
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?

Revision as of 05:43, 9 May 2010

LemonDrop
Lemondrop.jpg
Don't underestimate the power.
Author(s) Exauge
Extends AdvancedRobot
Targeting Pattern Matching
Movement Oscillator Movement, Stop & Go
Current Version 1.4.104 BETA
Code License RWLPCL
Download
Source

Background Information

Bot Name
LemonDrop
Author
Exauge
When is LemonDrop coming out of BETA?
Two weeks after version 1.5 is released. It will probably be around 06-01-2010.
Extends
AdvancedRobot
What's so special about it?
It's my first robot which implements a small, but effective (against small bots) Oscillator Movement. Most lightweight pattern matchers have a very difficult time hitting it. Also it has multi-mode movement that works as follows: if it loses 3 rounds before it wins 3, it switches to a Stop & Go movement (to perform better against basic targeting methods). It then runs the Stop & Go movement until it loses 3 rounds. After that, it figures which movement performed the best, and uses it for the remaining rounds.
How competitive is it?
Fairly - it's #60 in the microrumble and #284 in the general rumble.
Where can I get it?
Just click the download link to the right.
Version Information
1.0 - Pattern Matching, Random Movement, Infinity lock
1.1 - changed to oscillator, stronger movement algorithm strengthened wall avoidance
1.2 - strengthened movement even more, changed gun a wee bit ;), corrected small glitch
1.3 - small gun tweaking, better wall avoidance, stronger movement, narrow lock radar
1.4 - multi-mode movement, fixed "sticky-wall glitch" by reverting to previous wall avoidance

Strategy

How does it move?
Oscillator Movement, Stop & Go
How does it fire?
Pattern Matching
How does it dodge bullets?
Oscillator Movement, Stop & Go
How does the melee strategy differ from One-on-one strategy?
It doesn't. I have not ever tried it with melee, but my guess is it would perform poorly.
What does it save between rounds and matches?
A few static variables including symbolic state, effectiveness of movement methods, win count, movement to use, and a couple others.

Additional Information

Where did you get the name?
It just came to me :P
Can I use your code?
Absolutely. It's RWLPCL. I commented the code a lot to make it easier to understand, but it's slightly compressed to save codesize so you might have to pay semi-close attention. You can view the code by clicking the source link to the right. You can see more free code / tutorials at my code snippets page.
What's next for your robot?
Add a few more advanced features, maybe switch to GuessFactor Targeting, integrate a flawless wall avoidance while keeping it micro size.
Does it have any White Whales?
Thorn, Waveshark, Smoke, Raiku, and Acero. (Could change with V1.4 :O)
What other robot(s) is it based on?
I used a slightly altered version of Robar's BlackWidow gun.