Difference between revisions of "BlackHole/Old/Old"

From Robowiki
< BlackHole‎ | Old
Jump to navigation Jump to search
(change infomation a bit and update new minor version)
m (moved BlackHole/Old to BlackHole/Old/Old: archive old version, new version is on its way)
 
(9 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
| author          = [[Nat]]
 
| author          = [[Nat]]
 
| extends        = [[AdvancedRobot]]
 
| extends        = [[AdvancedRobot]]
| targeting      = [[PatternMatching|Pattern Matching]]
+
| targeting      = [[Virtual Guns]]
| movement        = [[WaveSurfing|Wave Surfing]]
+
| movement        = [[Wave Surfing]]
| best_rating    =  
+
| best_rating    = 1783 (91th)
| current_version = 0.1.02
+
| current_version = 0.1.11
| license        = [[NPL]]
+
| license        = [[NPL/1.0]]
| download_link  = http://www.robocoderepository.com/BotDetail.jsp?id=3504
+
| download_link  = http://nat.robothai.net/robots/nat.BlackHole_0.1.11.jar
 
| isOneOnOne      = true
 
| isOneOnOne      = true
 
| isMelee        = false
 
| isMelee        = false
Line 21: Line 21:
 
'''This robot will not be update for a long time to allow me to develop all planned new techniques. If you want to know my new idea, I'll take it on [[/Version2Ideas]].'''
 
'''This robot will not be update for a long time to allow me to develop all planned new techniques. If you want to know my new idea, I'll take it on [[/Version2Ideas]].'''
  
Take [[BasicSurfer]], segmented the surfing stat, add rolling average, increased bins to 1001, change BinSmoothing and debugging graphics to something like [[DrussGT]], add a flattener (which look like a hill). Now the movement is complete (I take 2 hours a day for 10 days!) so I started work on gun, at first I take a look at PEZ's VirtualBulletBot, but I don't want to use CustomEvent (I must have good class structure!) so I start on my own. I try to fit the DCBot's gun into virtual gun but it doesn't so I try a simple targeting and took a Pattern Matcher from [[Simonton]]'s bot :).
+
Take [[BasicSurfer]], segmented the surfing stat, add rolling average, increased bins to 1001, change BinSmoothing and debugging graphics to something like [[DrussGT]], add a flattener (which look like a hill). Now the movement is complete (I take 2 hours a day for 10 days!) so I started work on gun, at first I take a look at PEZ's VirtualBulletBot, but I don't want to use CustomEvent (I must have good class structure!) so I start on my own. I try to fit the DCBot's gun into virtual gun but it doesn't so I try a simple targeting and took a Pattern Matcher from [[Simonton]]'s bot :). That's the 0.1.
 +
 
 +
Now, add more buffers, remove that very bad flattener, and surf multiple waves. Write debugging graphics. Fix all the bugs and that is, version 0.1.05.
  
  
Line 29: Line 31:
  
 
; What's special about it?
 
; What's special about it?
: It's my truly first robot! and I think it has most bins in its Surfing Stats! (currently <code>5 * 5 * 3 * 3 * 1001 = 225225!</code> [<code>distance * move time * velocity * near wall * BINS</code>])
+
: It's my truly first robot! <s>and I think it has most bins in its surfing stats! Currently have 5 * 5 * 3 * 3 * 3501 = 787725!bins (distance * move time * acceleration * near wall * BINS) plus another 5 buffers result in 1687482 bins! (the bin is double, which take 16 bytes, so it consume 26999712B/26367KB/26MB of memory. Remember, more buffers is to be added!)</s> And it is huge memory eater!
  
 
; How competitive is it?
 
; How competitive is it?
: We'll see!
+
: Fairy. Sometimes beat Phoenix in my test (but not Shadow or Dookious)
  
 
== Strategy ==
 
== Strategy ==
  
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
: [[WaveSurfing]]: TrueSurf Style, with
+
: [[Wave Surfing]]: true surfing style base on BasicSurfer. Also has very bad flattener which force-disabled for now.
: Flattener! I work with it for a day! At first I random a guessfactor that has lower danger in my stats and go to it, but since it has 1001 bins, this make my performance drop. So, I create new stats that keep all guessfactor in 31 bins without RollingAverage and do the same behavior as before. (If you look in my code [WaveSurfing.java] you will see a <code>flatMove()</code> and <code>flatMove2()</code> that work as the first and second version I told you.) (I think this is one way doing flattener that flat with flat juice on top, is it, [[Voidious]]?)
 
:* Lately, I figure out that unsegment flattener is worse than highly segment WaveSurfing!
 
  
 
; How does it fire?
 
; How does it fire?
 
: [[Virtual Guns|Virtual Guns Array]]:
 
: [[Virtual Guns|Virtual Guns Array]]:
** [[Head-On Targeting]]
+
:* [[Head-On Targeting]]
** [[Linear Targeting]]
+
:* [[Linear Targeting]]
** [[Circular Targeting]]
+
:* [[Circular Targeting]]
** [[Mean Targeting#Linear_Mean|Linear Targeting]] with averaged velocity and heading (not seem to work)
+
:* [[Mean Targeting#Linear_Mean|Linear Targeting]] with averaged velocity and heading.
** [[Mean Targeting#Circular_Mean|Circular Targeting]] with averaged heading and velocity (not seem to work, too, but I saw my robot use this gun once)
+
:* [[Mean Targeting#Circular_Mean|Circular Targeting]] with averaged heading and velocity.
** [[Single-Tick Pattern Matching]]: borrow from WeeklongObsession.
+
:* [[Single-Tick Pattern Matching]]: borrow from WeeklongObsession.
 +
:* [[GuessFactor Targeting (traditional)|GuessFactor Targeting]]: RaikoGun :)
  
 
; What does it save between rounds and matches?
 
; What does it save between rounds and matches?
: Surfing Stat, VGun rating and Pattern data between round.
+
: Surfing Stat, Virtual Gun rating, GF stats and Pattern data between round.
  
 +
[[Image:Blackhole-debug-graphic.jpg|350px|thumb|right|[[BlackHole]] debugging graphics]]
 
== Additional Information ==
 
== Additional Information ==
  
 
; Does it have any debugging graphics?
 
; Does it have any debugging graphics?
: Yes, it has. I think it as good as in Phoenix:
+
: Yes, it has. I think it as good as in Phoenix
[[Image:Blackhole-debug-graphic.JPG]]
+
: It currently write an enemy distance and hit rate , flattener status, currently gun, and virtual gun rating table. It's also draw enemy waves, its future positions, and virtual bullets.
: It currently write an enemy distance and hit rate (I misspell it), flattener status, currently gun, and VGun hit table. It's also draw enemy waves, its future positions, and virtual bullets (It will draw itself waves whenever I add a gun that require wave.)
+
: I think it will win wave competitions if has, the picture may not clear, but I think it has the most beautiful wave ever.
 +
: Try it yourself, the currentlt picture is not clear and beautiful.
  
 
; Can I use your code?
 
; Can I use your code?
: Sure, under term of [[NPL]].
+
: Sure, under term of [[NPL/1.0]].
: In version later than 0.1, source code is not included in .jar. If you want, contact me. I'll give it to you as soon as I check my email :)
+
<!-- : In version later than 0.1, source code is not included in .jar. If you want, contact me. I'll give it to you as soon as I check my email :)-->
  
 
; Does it have any White Whales?  
 
; Does it have any White Whales?  
 
: [[DrussGT]], [[Phoenix]], [[Shadow]], [[Dookious]]: these my testbed and I still expected them to be defeated :)
 
: [[DrussGT]], [[Phoenix]], [[Shadow]], [[Dookious]]: these my testbed and I still expected them to be defeated :)
 
: (test with top bot are good in Premier League, but I will never got first rank by ELO/APS rating!)
 
: (test with top bot are good in Premier League, but I will never got first rank by ELO/APS rating!)
:: Now added [[X2]], [[Chalk]], [[Horizon]], [[Ascendent]], [[SilverSurfer]], [[CassiusClay]], [[Musashi]], [[WeekOnEnd]] and [[SandboxDT]] (I tried to run DT with my 1.6.2 for long time, now I use 1.6.0 and I can run it!) Those are carefully chose one-on-one testbed and my white whales, too.
+
:: Now added [[X2]], [[Chalk]], [[Horizon]], [[Ascendent]], [[CassiusClay]] and [[SandboxDT]] (I tried to run DT with my 1.6.2 for long time, now I use 1.6.0 and I can run it!) Those are carefully chose one-on-one testbed and my white whales, too.
:: When have time, I'll add ancient Cigarette, Raiko and Hydra to my testbed.
 
:: Not wonder if it like MC, I am truely hate RoboLeague!
 
  
 
; What the next for your robot.
 
; What the next for your robot.
 
: I planned to create new movement technique, I will explain it later when it's finished :)
 
: I planned to create new movement technique, I will explain it later when it's finished :)
: Also with new gun! Current Simonton's gun is just a temporary gun.
+
: Also with new gun! Current Simonton's gun and RaikoGun is just temporary guns.
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
: BasicSurfer! (the Wave Surfing), DrussGT (some of the BinSmoothing and debugging graphics), WeeklongObsession (the SingleTick PM gun [version prior than 0.2]).
+
: BasicSurfer! (the Wave Surfing), DrussGT (some of the BinSmoothing and debugging graphics), WeeklongObsession (the SingleTick PM gun), Raiko (the gun), Dookious (the distance control).
 +
 
 +
== Credits==
 +
Credit should go to:
 +
* [[ABC]], inventor of Wave Surfing.
 +
* [[Paul Evans]], inventor of GuessFactor targeting.
 +
* [[Voidious]], the author of Dookious and BasicSurfer.
 +
* [[Simonton]], author of SingleTick PM.
 +
* Jam... (I don't remember his name), for his Raiko.
 +
* [[Skilgannon]], for his DrussGT.
 +
* [[Rednaxela]], for his answer on [[UserNat/WaveSurfingQuestion|WaveSurfingQuestion]].
 +
* and other people on the wiki!
  
 
__NOTOC__  __NOEDITSECTION__
 
__NOTOC__  __NOEDITSECTION__
 
 
[[Category:MegaBots]]
 
[[Category:MegaBots]]

Latest revision as of 13:34, 17 June 2009

Black Hole
Blackhole.gif
Black Hole
Author(s) Nat
Extends AdvancedRobot
Targeting Virtual Guns
Movement Wave Surfing
Best Rating 1783 (91th)
Current Version 0.1.11
Code License NPL/1.0
Download

/VersionHistory

This robot will not be update for a long time to allow me to develop all planned new techniques. If you want to know my new idea, I'll take it on /Version2Ideas.

Take BasicSurfer, segmented the surfing stat, add rolling average, increased bins to 1001, change BinSmoothing and debugging graphics to something like DrussGT, add a flattener (which look like a hill). Now the movement is complete (I take 2 hours a day for 10 days!) so I started work on gun, at first I take a look at PEZ's VirtualBulletBot, but I don't want to use CustomEvent (I must have good class structure!) so I start on my own. I try to fit the DCBot's gun into virtual gun but it doesn't so I try a simple targeting and took a Pattern Matcher from Simonton's bot :). That's the 0.1.

Now, add more buffers, remove that very bad flattener, and surf multiple waves. Write debugging graphics. Fix all the bugs and that is, version 0.1.05.


Let's see classic template:

Background Information

What's special about it?
It's my truly first robot! and I think it has most bins in its surfing stats! Currently have 5 * 5 * 3 * 3 * 3501 = 787725!bins (distance * move time * acceleration * near wall * BINS) plus another 5 buffers result in 1687482 bins! (the bin is double, which take 16 bytes, so it consume 26999712B/26367KB/26MB of memory. Remember, more buffers is to be added!) And it is huge memory eater!
How competitive is it?
Fairy. Sometimes beat Phoenix in my test (but not Shadow or Dookious)

Strategy

How does it move?
Wave Surfing: true surfing style base on BasicSurfer. Also has very bad flattener which force-disabled for now.
How does it fire?
Virtual Guns Array:
What does it save between rounds and matches?
Surfing Stat, Virtual Gun rating, GF stats and Pattern data between round.
BlackHole debugging graphics

Additional Information

Does it have any debugging graphics?
Yes, it has. I think it as good as in Phoenix
It currently write an enemy distance and hit rate , flattener status, currently gun, and virtual gun rating table. It's also draw enemy waves, its future positions, and virtual bullets.
I think it will win wave competitions if has, the picture may not clear, but I think it has the most beautiful wave ever.
Try it yourself, the currentlt picture is not clear and beautiful.
Can I use your code?
Sure, under term of NPL/1.0.
Does it have any White Whales?
DrussGT, Phoenix, Shadow, Dookious: these my testbed and I still expected them to be defeated :)
(test with top bot are good in Premier League, but I will never got first rank by ELO/APS rating!)
Now added X2, Chalk, Horizon, Ascendent, CassiusClay and SandboxDT (I tried to run DT with my 1.6.2 for long time, now I use 1.6.0 and I can run it!) Those are carefully chose one-on-one testbed and my white whales, too.
What the next for your robot.
I planned to create new movement technique, I will explain it later when it's finished :)
Also with new gun! Current Simonton's gun and RaikoGun is just temporary guns.
What other robot(s) is it based on?
BasicSurfer! (the Wave Surfing), DrussGT (some of the BinSmoothing and debugging graphics), WeeklongObsession (the SingleTick PM gun), Raiko (the gun), Dookious (the distance control).

Credits

Credit should go to: