Difference between revisions of "DarkHallow"

From Robowiki
Jump to navigation Jump to search
(Migrate from old wiki)
 
(Rewrite page)
 
Line 1: Line 1:
<center><h2> "Use no way as a way, No limitation as a limitation."...Bruce Lee </h2></center><br>
+
{{Infobox Robot
 +
| author          = [[User:Sparafucil3|jim]] (jekl)
 +
| extends        = [[AdvancedRobot]]
 +
| targeting      = [[GuessFactor Targeting]]
 +
| movement        = [[Wave Surfing]]
 +
| current_version = 0.90.9
 +
| released        = 2004
 +
| license        = [[RWPCL]]
 +
| best_rating    = #6 Elo (2004)
 +
| download_link  = http://robocode-archive.strangeautomata.com/robots/jekl.DarkHallow_.90.9.jar
 +
| isOpenSource    = true
 +
| isMelee        = false
 +
| isOneOnOne      = true
 +
}}
  
[[/Gunnery|Help a targeting dummy out]] [[/Questions|Help a fellow geek out]] [[/Observations|Things I have noticed]] [[/WhatLessonHere|What Lesson is Here]] [[/OldBulletinBoard]]
+
<blockquote>
 +
<p>Use no way as a way, no limitation as a limitation.</p>
 +
<p><small>— Bruce Lee</small></p>
 +
</blockquote>
 +
{{Navbox small
 +
| title = Sub-pages
 +
| page1 = Bulletin Board
 +
| page2 = Archived Talk
 +
}}
  
==== Bulletin Board ====
+
== Background Information ==
<font size = -1>
+
; What's special about it?
<b>September 10, 2005:</b> -- Small segment change. Bug fix in the gun. Still can not stand in with a surfer.
+
: It is my first [[Wave Surfer]].
<b>Score:</b> <br>
 
  
<b>March 18, 2005:</b> Ver 0.90.7.3 -- Small segment change. <br>
+
: At its peak, DarkHallow [[oldwiki:RoboRumble/Rankings roborumble 20040714|was #6 in the RoboRumble]]. It was the sixth member of [[The 2000 Club]].
<b>Score:</b> 1989.88 details graph 2184  <br>
 
  
<b>March 14, 2005:</b> Ver 0.90.7.2 -- Small segment change. <br>
+
; How competitive is it?
<b>Score:</b> 1993 after 899<br>
+
: '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=roborumble&name=jekl.DarkHallow%20.90.9|rumble=RoboRumble|scorelabel=APS|score=78.95|rank=70th|win=1074|loss=85|plrank=75th|glicko2=N/A|pwin=92.67|vote=0|anpp=82.82|score2label=Survival|score2=84.41}}'''
  
<b>March 13, 2005:</b> Ver 0.90.7.1 -- Changed from 41 visit bins to 29. <br>
+
== Strategy ==
<b>Score:</b> 2005.96 after 728  <br>
+
; How does it [[Movement|move]]?
 +
: It uses [[Wave Surfing]].
  
<b>March 13, 2005:</b> Ver 0.90.7 -- Added the segments back. Quick stats segment is still unsegmented. <br>
+
; How does it fire?
<b>Score:</b> 2000 after 850+ <br>
+
: It uses a [[GuessFactor Targeting]] system, copied and slightly modified from [[BlackPearl]].
  
<b>March 10, 2005:</b> Ver 0.90.5 -- Totally un-segmented visit buffer. <br>
+
; How does it [[Dodging Bullets|dodge bullets]]?
<b>Score:</b>1986.98 after 1027 <br>
+
: It surfs.
  
<b>March 1, 2005:</b> Ver 0.90.4 -- More untested changes. <br>
+
; How does the [[melee]] strategy differ from [[one-on-one]]  strategy?
<b>Score:</b> 1997.25 after 1163 <br>
+
: No melee capability in there yet.
  
<b>February 27, 2005:</b> Ver 0.90.4 -- More untested changes. <br>
+
; What does it save between rounds and matches?
<b>Score:</b>1996.53<br>
+
: No data is saved between matches.
  
<b>February 24, 2005:</b> Ver 0.90.3 -- More untested changes. <br>
+
== Additional Information ==
<b>Score:</b>1982.68<br>
+
; Where did you get the name?
 +
: From [[wikipedia:Dark Hollow (song)|a song]] by the [[wikipedia:Grateful Dead|Grateful Dead]]:
  
<b>February 24, 2005:</b> Ver 0.90.1 -- I have the day off, I am bored so I looked into the code. Found a couple of bugs so I fixed them. Not tested too extensively so who knows how it will do.<br>
+
:: <i>I'd rather be in some dark hollow where the sun don't ever shine</i>
<b>Score:</b>1985.48<br>
+
:: <i>Then to be in some big city, in a small room, with you upon my mind</i>
  
<b>November 18, 2004:</b> Ver 0.86.2 -- Reduced suffering segments.<br>
+
: I know it has no bearing on Robocode but I love the Dead so...
<b>Score:</b>#12 overall. Not sure of the score.<br>
 
  
<b>November 17, 2004:</b> Ver 0.86.1 -- Changing the surfing again. After chatting with [[PEZ]] I have some ideas on whats wrong with my sufring. Unfortunately those changes are not in this release. Just need a baseline.<br>
+
; Can I use your code?
<b>Score:</b>  1987.97 after 947<br>
+
: Code is in the JAR. It is not very tight right yet, but feel free. Use the [[RWPCL]] please.
  
<b>November 15, 2004:</b> Ver 0.86.1 -- Same as .86 with bot width calculations removed. Added a better power management section which I hope earns more survival points.<br>
+
; What's next for your robot?
<b>Score:</b> 1979.24 after 900. Another dissappointing release.<br>
+
: DarkHallow hasn't been updated since 2005.
  
<b>November 14, 2004:</b> Ver 0.86 -- Orbit closest Wave origin, or target if no waves. Small change to danger calculations. Added stop evaluation although I do not think it is working all that well.<br>
+
; Does it have any [[White Whale]]s?
<b>Score:</b> 1989.16 after 1056. This was very disappointing as I thought this version was better than previous versions. It seemed to test better. Ah well. <br>
+
: None right now. More to come later, I am sure.
  
<b>November 12, 2004:</b> Ver 0.85.3 -- Weighting waves according to bullet power.<br>
+
; What other robot(s) is it based on?
<b>Score:</b> 2010.25 after 909 <br>
+
: It started as [[BlackPearl]], which is based on [[Jekyl]].
 
+
__NOTOC__ __NOEDITSECTION__
<b>November 11, 2004:</b> Ver 0.85.2 -- Roll back parts of movement to an earlier version.<br>
 
<b>Score:</b> 2004.56 after 959  <br>
 
 
 
<b>November 11, 2004:</b> Ver 0.85.3 -- Removed setMax's to see if it makes a difference.<br>
 
<b>Score:</b>  2001.72 after 810  <br>
 
 
 
<b>November 10, 2004:</b> Ver 0.85.3 -- Gun tweak, Rolling averages.<br>
 
<b>Score:</b> 1999.65 after 955  <br>
 
 
 
<b>November 7, 2004:</b> Ver 0.85.2 -- Gun tweak, power management tweak, restored movement.<br>
 
<b>Score:</b> 1991.93 after 1139 <br>
 
 
 
<b>November 3, 2004:</b> Ver 0.85.1 -- Weighting waves by shot power, segment tweaks.<br>
 
<b>Score:</b> 2002.67 after 1291  <br>
 
 
 
<b>October 16, 2004:</b> Ver 0.85 -- Roll back and a bug fix. Damn you [[David_Alves]] =^>.<br>
 
<b>Score:</b> 2010.09 after 829.<br>
 
 
 
<b>October 16, 2004:</b> Ver 0.84.3 -- Movement tweak.<br>
 
<b>Score:</b> 1980.38 after 1463  <br>
 
 
 
<b>October 11, 2004:</b> Ver 0.84.2 -- Movement tweak.<br>
 
<b>Score:</b> 2019.34 after 1385  <br>
 
 
 
<b>October 11, 2004:</b> Ver 0.84.1 -- Added an even more (hopefully) precise movement prediction engine.<br>
 
<b>Score:</b> 2015.77 after 695.<br>
 
 
 
<b>October 11, 2004:</b> Ver 0.84 -- Added (hopefully) a more precise movement prediction engine.<br>
 
<b>Score:</b> 2021.08 after 1159<br>
 
 
 
<b>October 10, 2004:</b> Ver 0.83.1 -- Movement tweak.<br>
 
<b>Score:</b> 2020.02 after 576.<br>
 
 
 
<b>October 10, 2004:</b> Ver 0.83 -- Significant bug fix. I had an error in my directional calculation that resulted in movement waves that were backwards (-1 was in the direction of movement). Rolled back to 0.82.2.2 and am now testing the fix.<br>
 
<b>Score:</b> 2022.71 after 901<br>
 
 
 
<b>October 9, 2004:</b> Ver 0.82.4 -- Bug Fix. Still with [[PEZ]]'s suggested change.<br>
 
<b>Score:</b> 1998.05 after 1111.<br>
 
 
 
<b>October 9, 2004:</b> Ver 0.82.3 -- Bug Fix. Still with [[PEZ]]'s suggested change.<br>
 
<b>Score:</b> 2011.2 after 1162<br>
 
 
 
<b>October 9, 2004:</b> Ver 0.82.3 -- Roll back .0.82.2.2. Adding a suggestion by [[PEZ]].<br>
 
<b>Score</b>: 2008.83 after 535.<br>
 
 
 
<b>October 9, 2004:</b> Ver 0.82.2.3 -- Experimental release. Added more GF's for hopefully better performance at longer ranges. Probably the last of the experimental releases before a rewrite of my surfing with some suggestions by [[PEZ]] thrown in.<br>
 
<b>Score:</b> 2020.64 after 756<br>
 
 
 
<b>October 8, 2004:</b> Ver 0.82.2.2 -- Experimental release. Adding more effective (I hope) protection from diving in.<br>
 
<b>Score:</b> 2024.94 after 1367<br>
 
 
 
<b>October 8, 2004:</b> Ver 0.82.2.1 -- Experimemtal release. Removed distance segment to see what effect it has.<br>
 
<b>Score:</b> 2021.39 after 1130<br>
 
 
 
<b>October 8, 2004:</b> Ver 0.82.2 -- Bug fix. Now distance segment works. I may disable it again later.<br>
 
<b>Score:</b> 2026.15 after 584. Best score yet. Temporarily over 2040.<br>
 
 
 
<b>September 27, 2004:</b> Ber 0.82.1 -- refinement of the bugfix in the previous version and a gun tweak.<br>
 
<b>Score:</b> 2020.3 after 631. Great crash affected scoring.</br>
 
 
 
<b>September 26, 2004:</b> Ver 0.82 -- Now bug fixing the .59.3 line. First bug fix: (int)Math.round(latVShotTime/3) can be rounded to 3. This muddied my movement related latvel stats. <br>
 
<b>Score:</b> 2018.75 after 854<br>
 
 
 
<b>September 26, 2004:</b> Ver 0.81.5 -- Now to make sure everything is back to normal.<br>
 
<b>Score:</b> 2019.86 after 341<br>
 
 
 
<b>September 26, 2004:</b> Ver 0.81.4 -- Testing the last of the .7x line of "improvements". This is the one I really hope works. It replaced AndrewsCoolWay with Paul Evans' classic [[RollingAverage]]s.<br>
 
<b>Score:</b> 2001.57 after 697<br>
 
 
 
<b>September 25, 2004:</b> Ver 0.81.3 -- Testing some other options from the failed .7x line. <br>
 
<b>Score:</b> 1999.38 after 603<br>
 
 
 
<b>September 25, 2004:</b> Ver 0.81.2 -- Bug fix<br>
 
<b>Score:</b> 1989.46 after 144.<br>
 
 
 
<b>September 25, 2004:</b> Ver 0.81.1 -- Bug fix. Not sure what it was though.<br>
 
<b>RECALLED</b> I had to download the bot and run it locally to find the error. Sorry to flail like that.<br>
 
 
 
<b>September 25, 2004:</b> Ver 0.81 -- Adding back in functionality removed when I rolled back. Looking to see if it makes a difference or not.<br>
 
<b>RECALLED!</b> Something is not right here. When you see this:
 
<pre>
 
Fighting battle 10 ... jekl.DarkHallow 0.81,nic.Nicator 2.4
 
RESULT = nic.Nicator 2.4 wins 6063 to 488
 
</pre>
 
you know something is not right.<br>
 
 
 
<b>September 24, 2004:</b> Ver 0.80 -- Rollback to .59.3 to prove that it will not be as good. [[PEZ]] was right <i>again</i>.<br>
 
<b>Score:</b>  2022.34 after 707.<br>
 
 
 
</font>
 
----
 
Currently on my todo list:
 
 
 
*I need to solve the "diving in" problem at some point. I am not sure what the correct solution is but I know there is one.
 
*Wall avoidance. Can you believe I still hit the walls? I can not either.
 
*Data saving at some point.
 
<br>
 
----
 
 
 
==== What's special about it? ====
 
It is my first WaveSurfer.
 
 
 
==== Great, I want to try it. Where can I download it? ====
 
http://www.robocoderepository.com/BotDetail.jsp?id=2296
 
 
 
==== How competitive is it? ====
 
It is in the rumble now so time will tell.
 
 
 
==== How does it [[Movement|move]]? ====
 
WaveSurf
 
 
 
==== How does it fire? ====
 
Uses a guess factored targeting system copied and slightly modified from BlackPearl.
 
 
 
==== How does it [[DodgingBullets|dodge bullets]]? ====
 
It surfs.
 
 
 
==== How does the [[Melee|melee]] strategy differ from [[OneOnOne|one-on-one]]  strategy? ====
 
[[OneOnOne|one-on-one]] only at this point.
 
 
 
==== How does it select a target to attack/avoid in [[Melee|melee]]? ====
 
No melee capability in there yet.
 
 
 
==== What does it save between rounds and matches? ===
 
No data is saved.
 
 
 
==== Where did you get the name? ====
 
From a song by the Grateful Dead: <i>I would rather be in some Dark Hallow, where the sun don't ever shine, than to be in some big city, in a small room with a girl on my mind.</i> I know it has no bearing on RC but I love the Dead so.....
 
 
 
==== Can I use your code? ====
 
Code is in the jar. It is not very tight right yet but feel free. Use the [[RWPCL]] please.
 
 
 
==== What's next for your robot? ====
 
Not sure yet.
 
 
 
==== Does it have any [[WhiteWhale]]s? ====
 
None right now. More to come later I am sure.
 
 
 
==== What other robot(s) is it based on? ====
 
It started as BlackPearl, which is based on [[Jekyl]].
 
 
 
----
 
==== Comments, questions, feedback: ====
 
 
 
"Can you believe I still hit the walls?" Try this:
 
setMaxVelocity(150.0 / getTurnRemaining());
 
Combine that with a large enough wall margin and you should be fine. For example, use 150.0 / getTurnRemaining() and don't pick destination points that are within 25 pixels of the walls. Using a higher number than 150 will prevent you from slowing down so much when you turn, but will require a larger wall margin to ensure that you don't hit walls. --[[David Alves]]
 
 
 
But this is a risky business for a WaveSurfer unless you also build it into your movement predictor. CassiusClay too hit walls at times. I think it is my WallSmoothing algo that don't take into account that it takes quite a while to reverse direction. Jim, check if maybe DH has decided to reverse direction just before it hits the wall and see if you share the same glitch. -- [[PEZ]]
 
 
 
So build it into your movement predictor. ;-) --[[David Alves]]
 
 
 
Nah. It's complicated enough as it is. -- [[PEZ]]
 
 
 
Right now I am testing all of my "improvements" from the .70 line. It seems that for the most part they were anything but. Once I am done with that I will move on to new things. One of the first orders of business will be to protect myself from firing enemy waves when they collide woth the wall. I am not sure how to work that out though. -- [[jim]]
 
 
 
----
 
'''November 2 2004 (CET)''' - Welcome back man. I've missed ya! -- [[PEZ]]
 
 
 
Lets see how I feel in a week. I was pretty burned out. This version will finally beat DT over 500 rounds. It is the only test I ran too. -- [[jim]]
 
 
 
So much for me having the top US bot. :-( Oh well. Congrats! --[[David Alves]]
 
 
 
Thanks. It was really just old code. Nothing new. Some small bug fixes. Still plenty of room between my score and infinity for you to slip into ;-) -- [[jim]]
 
 
 
Cool man, welcome back. ;]  -- [[iiley]]
 
 
 
----
 
[[Pulsar]] is waking us all up. Isn't he? =) You found 10 points there. Good work. -- [[PEZ]]
 
 
 
I would not read too much into it. I just had the day off work due to a snow storm in the region. Like I said last time, lets see how I feel in a week. -- jim
 
 
 
How do you weight your visit stats compared to hit stats? Do you roll the stats? How fast? I find it interesting that you gain lots of points by segmentation of the visit stats while I lose a few... -- [[PEZ]]
 
 
 
 
 
Hey [[PEZ]]. I segment my stats like this:
 
 
 
<code>
 
hits[accelIndex][outIndex][(int)Math.round(myLatVel)/3][distIndex]
 
fastHitsBuf[0][0][0]
 
</code>
 
 
 
The distance index is 5 buckets of 180 pixels, the out index is 5 buckets of 45 pixels. I am currently using 29 GuessFactors. I got a 6 point boost going from 41 to 29. I roll the stats using AndrewsCoolWay. My gun stats and my movement stats are indentical in most ways. My gun stats have more segments (a closingIndex and a timeIndex) and are not rolled. I have tried not rolling my movement stats but after about 15 or so turns I seem to get stuck between some local maxima and oscilate in place. As you are well aware, thats not so good =^> -- [[jim]]
 
 
 
Cool. And how (if) do you weigh the visit stats? Mine has weight 45. Unsegmented hit stats has weight 50 and most segmented hit stats weighs 100. I roll my movement stats using [[Paul]]'s RollingAverage. -- [[PEZ]]
 

Latest revision as of 00:24, 29 September 2017

DarkHallow
Author(s) jim (jekl)
Extends AdvancedRobot
Targeting GuessFactor Targeting
Movement Wave Surfing
Released 2004
Best Rating #6 Elo (2004)
Current Version 0.90.9
Code License RWPCL
Download

Use no way as a way, no limitation as a limitation.

— Bruce Lee

Sub-pages:
Bulletin Board - Archived Talk

Background Information

What's special about it?
It is my first Wave Surfer.
At its peak, DarkHallow was #6 in the RoboRumble. It was the sixth member of The 2000 Club.
How competitive is it?
RoboRumble ‒ APS: 78.95% (70th), PL: 1074-85 (75th), Survival: 84.41%

Strategy

How does it move?
It uses Wave Surfing.
How does it fire?
It uses a GuessFactor Targeting system, copied and slightly modified from BlackPearl.
How does it dodge bullets?
It surfs.
How does the melee strategy differ from one-on-one strategy?
No melee capability in there yet.
What does it save between rounds and matches?
No data is saved between matches.

Additional Information

Where did you get the name?
From a song by the Grateful Dead:
I'd rather be in some dark hollow where the sun don't ever shine
Then to be in some big city, in a small room, with you upon my mind
I know it has no bearing on Robocode but I love the Dead so...
Can I use your code?
Code is in the JAR. It is not very tight right yet, but feel free. Use the RWPCL please.
What's next for your robot?
DarkHallow hasn't been updated since 2005.
Does it have any White Whales?
None right now. More to come later, I am sure.
What other robot(s) is it based on?
It started as BlackPearl, which is based on Jekyl.