Difference between revisions of "GravityWave"

From Robowiki
Jump to navigation Jump to search
(Finished Page, still moving around data)
m (fixed navbar)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Navbox small
 +
| title        = GravityWave pages
 +
| parent      = GravityWave
 +
| page1        = Versions
 +
| page2        = Code
 +
| page3        = Tests
 +
}}
 +
 
{{Infobox Robot
 
{{Infobox Robot
 
| bgcolour        = #303030
 
| bgcolour        = #303030
| author          = J_Litewski
+
| author          = [[User:J Litewski|Jacob Litewsk]]
 
| extends        = AdvancedRobot
 
| extends        = AdvancedRobot
| current_version = alpha1
+
| current_version = alpha2
 
}}
 
}}
  
Line 11: Line 19:
  
 
; Author
 
; Author
: [[User:J_Litewski|Jacob Litewski]]
+
: [[User:J Litewski|Jacob Litewski]]
  
 
; Extends
 
; Extends
Line 17: Line 25:
  
 
; What's special about it?
 
; What's special about it?
: It's my attempt at a semi-good [[WaveSurfing]] movement
+
: It's my attempt at a semi-good [[Wave Surfing]] movement
  
 
; Great, I want to try it. Where can I download it?
 
; Great, I want to try it. Where can I download it?
Line 23: Line 31:
  
 
; How competitive is it?
 
; How competitive is it?
: Against [[DustBunny|DustBunny 3.5]], without shooting, does fairly well. The current results are:
+
: Against [[DustBunny|DustBunny 3.8]], without shooting, does fairly well. The current results are:
 +
<pre>
 +
1st hackhalotwo.GravityWave 30167 (74%) 23900 4800 0 0 1366 102 480 20 0
 +
2nd mld.DustBunny 3.8 10368 (26%) 1000 200 8926 166 76 0 20 480 0
 +
</pre>
 +
: This is the newest test against [[RaikoMX]]:
 
<pre>
 
<pre>
1st hackhalotwo.GravityWave 17933 (81%) 13050 4860 0 0 23 0 486 14 0
+
1st jam.RaikoMX 0.32 52184 (73%) 9350 1870 38938 2025 1 0 187 313 0
2nd mld.DustBunny 3.5 4344 (19%) 700 140 3319 157 28 0 14 486 0
+
2nd hackhalotwo.GravityWave 19159 (27%) 15600 3130 0 0 373 56 313 187 0
 
</pre>
 
</pre>
 
+
<br>The tests I do are [[GravityWave/Tests|here]].
  
 
== Strategy ==
 
== Strategy ==
  
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
: Using [[BasicSurfer]] as a base, and later on, using Anti-Grav for finer movements.
+
: Using [[BasicSurfer]] as a base for the [[WaveSurfer]]. In Version alpha2, it uses a hacked together 2D segmentation array based on Distance from the enemy (in 13 increments) (meaning [(int)(distance/100)][BINS]). I'm planning on making this a 3D array to store the enemy's gun power depending on the distance (or [(int)(power)][(int)(distance/100)][BINS]).
  
 
; How does it fire?
 
; How does it fire?
Line 39: Line 52:
  
 
; How does it [[Dodging Bullets|dodge bullets]]?
 
; How does it [[Dodging Bullets|dodge bullets]]?
: The [[BasicSurfer]] detection algorithm (working on expanding it)
+
: The [[BasicSurfer]] detection algorithm with a hacked together 2D Segmented BIN
  
 
; How does the [[melee]] strategy differ from [[One-on-one]]  strategy?
 
; How does the [[melee]] strategy differ from [[One-on-one]]  strategy?
Line 48: Line 61:
  
 
; What does it save between rounds and matches?
 
; What does it save between rounds and matches?
: It saves between rounds currently.
+
: It saves between rounds currently. I'm testing and working out the bugs for saving the Segmented Array between matches.
  
 
== Additional Information ==
 
== Additional Information ==
Line 59: Line 72:
  
 
; What's next for your robot?
 
; What's next for your robot?
: Get the bloody thing coded
+
: work on fixing and perfecting the movement
  
 
; Does it have any [[White Whale]]s?
 
; Does it have any [[White Whale]]s?
Line 67: Line 80:
 
: [[User:Voidious|Voidious's]] [[BasicSurfer]]
 
: [[User:Voidious|Voidious's]] [[BasicSurfer]]
  
[[Category:Bots|GITS]]
+
== What I'm Working On ==
[[Category:Unreleased_Robots|GITS]](without my calcBullet() function)
+
 
<pre>
+
; [[Bin Smoothing]]
1st mld.DustBunny 3.5 21977 (62%) 5300 1060 14450 1132 35 0 106 394 0
+
: I'm working on implementing a [[Bin Smoothing]] function that runs every x ticks to reduce or hinder small spikes. I'm thinking every 200 ticks will be enough.
2nd hackhalotwo.GravityWave 13201 (38%) 9050 3940 0 0 210 1 394 106 0
+
 
</pre>
+
; [[Waves]]
 +
: I'm working on implementing a better Wave detection script. My first feat is moving all the Wave detection functions from the robot and puting them in their own class.
 +
 
 +
; [[Wall Smoothing]]
 +
: I'm working on implementing a better Wall Smoothing function. This is most likely going to come after I finish up the new Wave function.
  
(with my calcBullet() function)
+
; [[Segmentation]] -- Current Project
<pre>
+
: I'm working on implementing a 3D (possibly 4D...) Segmented BIN Array in the [power][distance/100][BIN] fassion.
1st mld.DustBunny 3.5 18547 (56%) 4350 870 12310 974 44 0 87 413 0
+
:: Finished and Tested 2D Segmented BIN Array
2nd hackhalotwo.GravityWave 14406 (44%) 10200 4130 0 0 76 0 413 87 0
+
:: Testing saving and loading of Segmented Data
</pre>
+
::: 2D Segmented Array Load Finished
 +
::: 2D Segmented Array Save Finished
  
The tests above show how much of an improvement my little hack of a function is. It still needs some polishing (since it's broken up a bit for debugging and is kinda hacked together :) ), but it works as it should. Now, when fighting against DustBunny, it doesn't register the wall hits as bullet fires, which means that GravityWave doesn't think there is a bullet flying at him and turn into a real bullet. I'm now stuck between if I should start looking into coding in segmentation or Virtual Bullets...
+
[[Category:Bots|GravityWave]]
 +
[[Category:Unreleased_Robots|GravityWave]]

Latest revision as of 21:25, 14 June 2009

GravityWave pages:
Versions - Code - Tests
GravityWave
Author(s) Jacob Litewsk
Extends AdvancedRobot
Current Version alpha2

Basic Information

Bot Name
GravityWave
Author
Jacob Litewski
Extends
AdvancedRobot
What's special about it?
It's my attempt at a semi-good Wave Surfing movement
Great, I want to try it. Where can I download it?
Currently, there isn't a download link
How competitive is it?
Against DustBunny 3.8, without shooting, does fairly well. The current results are:
1st	hackhalotwo.GravityWave	30167 (74%)	23900	4800	0	0	1366	102	480	20	0
2nd	mld.DustBunny 3.8	10368 (26%)	1000	200	8926	166	76	0	20	480	0
This is the newest test against RaikoMX:
1st	jam.RaikoMX 0.32	52184 (73%)	9350	1870	38938	2025	1	0	187	313	0
2nd	hackhalotwo.GravityWave	19159 (27%)	15600	3130	0	0	373	56	313	187	0


The tests I do are here.

Strategy

How does it move?
Using BasicSurfer as a base for the WaveSurfer. In Version alpha2, it uses a hacked together 2D segmentation array based on Distance from the enemy (in 13 increments) (meaning [(int)(distance/100)][BINS]). I'm planning on making this a 3D array to store the enemy's gun power depending on the distance (or [(int)(power)][(int)(distance/100)][BINS]).
How does it fire?
It's a non-firing robot
How does it dodge bullets?
The BasicSurfer detection algorithm with a hacked together 2D Segmented BIN
How does the melee strategy differ from One-on-one strategy?
Not sure, never tested it.
How does it select a target to attack/avoid in melee?
First one seen I guess
What does it save between rounds and matches?
It saves between rounds currently. I'm testing and working out the bugs for saving the Segmented Array between matches.

Additional Information

Where did you get the name?
GravityWave is basically a mix of WaveSurfing and Anti-Gravity.
Can I use your code?
It will be in GITS when a good stable version comes out
What's next for your robot?
work on fixing and perfecting the movement
Does it have any White Whales?
Not currently
What other robot(s) is it based on?
Voidious's BasicSurfer

What I'm Working On

Bin Smoothing
I'm working on implementing a Bin Smoothing function that runs every x ticks to reduce or hinder small spikes. I'm thinking every 200 ticks will be enough.
Waves
I'm working on implementing a better Wave detection script. My first feat is moving all the Wave detection functions from the robot and puting them in their own class.
Wall Smoothing
I'm working on implementing a better Wall Smoothing function. This is most likely going to come after I finish up the new Wave function.
Segmentation -- Current Project
I'm working on implementing a 3D (possibly 4D...) Segmented BIN Array in the [power][distance/100][BIN] fassion.
Finished and Tested 2D Segmented BIN Array
Testing saving and loading of Segmented Data
2D Segmented Array Load Finished
2D Segmented Array Save Finished