Difference between revisions of "LemonDrop"

From Robowiki
Jump to navigation Jump to search
m (updated)
(Mass-edit Robocode Repository URLs)
 
(9 intermediate revisions by one other user not shown)
Line 4: Line 4:
 
| caption        = Don't underestimate the power.
 
| caption        = Don't underestimate the power.
 
| author          = [[User:Exauge|Exauge]]
 
| author          = [[User:Exauge|Exauge]]
 +
| released        = May 2, 2010
 
| extends        = [[AdvancedRobot]]
 
| extends        = [[AdvancedRobot]]
| targeting      = [[Pattern Matching|Pattern Matching]]
+
| targeting      = [[Pattern Matching]]
| movement        = [[Oscillator Movement]]
+
| movement        = [[Random Movement]] & [[Stop & Go]]
| current_version = 1.2.054
+
| current_version = 1.6.130
 
| license        = [[RWLPCL]]
 
| license        = [[RWLPCL]]
| download_link  = http://www.robocoderepository.com/BotFiles/3911/exauge.LemonDrop_1.2.054.jar
+
| download_link  = http://robocode-archive.strangeautomata.com/robots/exauge.LemonDrop_1.6.130.jar
| source_link    = http://www.robocoderepository.com/BotFiles/3911/LemonDrop.java
+
| source_link    = http://robocode-archive.strangeautomata.com/robots/exauge.LemonDrop_1.6.130.jar
 
| isOpenSource    = yes
 
| isOpenSource    = yes
 
| isOneOnOne      = yes
 
| isOneOnOne      = yes
| isMelee        = no
+
| isMelee        = soon ;)
 
}}
 
}}
  
Line 23: Line 24:
 
; Author
 
; Author
 
: [[User:Exauge|Exauge]]
 
: [[User:Exauge|Exauge]]
 +
 +
; When is LemonDrop coming out of BETA?
 +
: Version 1.6 (released 25 May) is the official non-beta version.
  
 
; Extends
 
; Extends
Line 28: Line 32:
  
 
; 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) [[Random Movement]]. Most lightweight pattern matchers have a very difficult time hitting it. It also has multi-mode movement that runs random movement for two rounds, and then stop & go for 2 rounds and determines which performed better. It then uses the better-performing movement for the remainder of the time.
  
 
; 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 #40 in the microrumble and #242 in the general rumble. It has won 85% of battles in microrumble.
  
 
; Where can I get it?
 
; Where can I get it?
 
: Just click the download link to the right.
 
: Just click the download link to the right.
  
; Version Information:
+
; [[LemonDrop/versions|Version Information:]]
: 1.0 - pattern matching, random movement, infinity lock
+
: 1.0 - Pattern Matching, Random Movement, Infinity lock
: 1.1 - changed to oscillator - MUCH stronger movement, strengthened wall avoidance
+
: 1.1 - stronger movement algorithm, strengthened wall avoidance
: 1.2 - strengthened movement even more by changing movement pattern onhit, changed gun a wee bit ;)
+
: 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
 +
: 1.5 - a few fixes and most importantly added some antiram, improved gun/slimmed code a little
 +
: 1.6 - a LOT of bug fixes, fixed antiram, improved movement, removed unneccessary snippets of code
  
 
== Strategy ==
 
== Strategy ==
  
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
: [[Oscillator Movement]]
+
: [[Random Movement]], [[Stop & Go]]
  
 
; How does it fire?
 
; How does it fire?
Line 50: Line 58:
  
 
; How does it [[Dodging Bullets|dodge bullets]]?
 
; How does it [[Dodging Bullets|dodge bullets]]?
: [[Oscillator Movement]]
+
: [[Random 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?
: It doesn't. I have not ever tried it with melee, but my guess is it would perform poorly.
+
: It doesn't do melee (yet).
  
 
; 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, movement to use, and a couple others because they use less codesize :p.
  
 
== Additional Information ==
 
== Additional Information ==
Line 64: Line 72:
  
 
; Can I use your code?
 
; Can I use your code?
: Absolutely. It's licensed under [[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?
: Maybe I'll be able to shrink it some and make it a nanobot. If not, I'll add some more advanced features to use up some more of my code allowance :P
+
: wall smoothing for sure, possibly a new gun, fixes against some bots, some tweaks so it can do good in melee (V 1.8 will prob be melee)
  
 
; Does it have any [[White Whale]]s?
 
; Does it have any [[White Whale]]s?
: Thorn, Waveshark, Smoke, Raiku
+
: [[Thorn]], [[Raiko]], and any other bots that use [[GuessFactor Targeting]], [[uCatcher]] (will be fixed in next version), [[Acero]] (yeah - that head on bot, still working for a fix for it :/)
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
: I used a slightly altered version of Robar's BlackWidow gun.
+
: I used a slightly altered version of Robar's [[BlackWidow]] gun.
 +
 
 +
;: You can see more/discuss [[LemonDrop]] on its [[Talk:LemonDrop|talk page]].
  
 
[[Category:MicroBots]]
 
[[Category:MicroBots]]

Latest revision as of 04:43, 18 August 2017

LemonDrop
Lemondrop.jpg
Don't underestimate the power.
Author(s) Exauge
Extends AdvancedRobot
Targeting Pattern Matching
Movement Random Movement & Stop & Go
Released May 2, 2010
Current Version 1.6.130
Code License RWLPCL
Download
Source

Background Information

Bot Name
LemonDrop
Author
Exauge
When is LemonDrop coming out of BETA?
Version 1.6 (released 25 May) is the official non-beta version.
Extends
AdvancedRobot
What's so special about it?
It's my first robot which implements a small, but effective (against small bots) Random Movement. Most lightweight pattern matchers have a very difficult time hitting it. It also has multi-mode movement that runs random movement for two rounds, and then stop & go for 2 rounds and determines which performed better. It then uses the better-performing movement for the remainder of the time.
How competitive is it?
Fairly - it's #40 in the microrumble and #242 in the general rumble. It has won 85% of battles in microrumble.
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 - 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
1.5 - a few fixes and most importantly added some antiram, improved gun/slimmed code a little
1.6 - a LOT of bug fixes, fixed antiram, improved movement, removed unneccessary snippets of code

Strategy

How does it move?
Random Movement, Stop & Go
How does it fire?
Pattern Matching
How does it dodge bullets?
Random Movement, Stop & Go
How does the melee strategy differ from One-on-one strategy?
It doesn't do melee (yet).
What does it save between rounds and matches?
A few static variables including symbolic state, effectiveness of movement methods, movement to use, and a couple others because they use less codesize :p.

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?
wall smoothing for sure, possibly a new gun, fixes against some bots, some tweaks so it can do good in melee (V 1.8 will prob be melee)
Does it have any White Whales?
Thorn, Raiko, and any other bots that use GuessFactor Targeting, uCatcher (will be fixed in next version), Acero (yeah - that head on bot, still working for a fix for it :/)
What other robot(s) is it based on?
I used a slightly altered version of Robar's BlackWidow gun.
You can see more/discuss LemonDrop on its talk page.