Difference between revisions of "GravityWave/Tests/Archive June182009"

From Robowiki
Jump to navigation Jump to search
(added new entry)
m (moved GravityWave/Tests to GravityWave/Tests/Archive June182009: Restarted code to work out bugs before adding new features.)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{Navbox small
 +
| title        = GravityWave pages
 +
| parent      = GravityWave
 +
| page1        = Versions
 +
| page2        = Code
 +
| page3        = Tests
 +
}}
 +
----
 
05:00, 7 June 2009 (UTC)
 
05:00, 7 June 2009 (UTC)
 
<pre>
 
<pre>
Line 14: Line 22:
  
 
Really no changes besides fixing the wall smoothing buffer to be dynamic instead of static (i.e., it now uses getBattleFieldHeight() and getBattleFieldWidth() minus getHeight() and getWidth() (all as ints) for the wallSmoothing function instead of fixed variables. I also moved a lot of functions from GravityWave to Hh2_Utils, but that shouldn't of impacted the performance any, since it was just a copy and paste job.
 
Really no changes besides fixing the wall smoothing buffer to be dynamic instead of static (i.e., it now uses getBattleFieldHeight() and getBattleFieldWidth() minus getHeight() and getWidth() (all as ints) for the wallSmoothing function instead of fixed variables. I also moved a lot of functions from GravityWave to Hh2_Utils, but that shouldn't of impacted the performance any, since it was just a copy and paste job.
 +
----
 +
03:17, 10 June 2009 (UTC)
 +
<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 actually a glitch in my movement code that I thought was funny. I ran this test ''three'' times, trying to figure out why my bot was suddenly ramming DustBunny. Well, in my doSurfing() function, I was adding in some more movement code to make GravityWave move when there was no waves (since [[BasicSurfer]] doesn't have any such code). Well, I rounded my setTurnRight wrong, so instead of orbiting the enemy, it rammed him. I may keep this in, depending on the rules of the Movement Challenge 2K9.
 +
----
 +
05:01, 10 June 2009 (UTC)
 +
<pre>
 +
1st hackhalotwo.GravityWave 30215 (80%) 24600 4930 0 0 596 89 493 7 0
 +
2nd mld.DustBunny 3.8 7517 (20%) 350 70 7023 64 10 0 7 493 0
 +
</pre>
 +
I hacked the doSurfing() function to accept two double inputs, eBearing and eEnergy, to extend my new ramming movement only after the Enemy's Energy is less than or equal to 0.0. That looked like it did some good. My next feat is adding in some distancing for my 'normal' movement, since if GravityWave gets within 400 pixels of DustBunny, DB rapes him :P.
 +
----
 +
19:05, 10 June 2009 (UTC)
 +
<pre>
 +
1st jam.RaikoMX 0.32 54784 (76%) 10650 2130 39674 2301 4 25 213 287 0
 +
2nd hackhalotwo.GravityWave 17506 (24%) 14250 2870 0 0 336 50 287 213 0
 +
</pre>
 +
This is for fun, but I was surprised at the results. GravityWave outlasted RaikoMX over half the time! Of course, RaikoMX swept the floor with GW in score, but this proves that, from when I started tweaking GW, He has become harder to hit. Now it's off to work on implementing some sort of [[Bin Smoothing]] function and testing it against DustBunny 3.8.
 +
----
 +
04:19, 11 June 2009 (UTC)
 +
<pre>
 +
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
 +
</pre>
 +
This is the test for my 2D Segmented BIN Array. It shows a slight improvement all around. I ''know'' it will do better if I went in and polished up the functions for the segmentation. I should test this against DustBunny 3.8...
 +
----
 +
22:02, 11 June 2009 (UTC)
 +
Match 1
 +
<pre>
 +
1st hackhalotwo.GravityWave 29546 (76%) 24000 4870 0 0 590 86 487 13 0
 +
2nd mld.DustBunny 3.8 9089 (24%) 650 130 8156 125 28 0 13 487 0
 +
</pre>
 +
Match 2 (using the data from the end of Match 1)
 +
<pre>
 +
1st hackhalotwo.GravityWave 29696 (78%) 24150 4860 0 0 599 87 486 14 0
 +
2nd mld.DustBunny 3.8 8302 (22%) 700 140 7303 146 13 0 14 486 0
 +
</pre>
 +
This is a test on the save/load functions and on the 2D Segmentation Array. Both are a success. I'm going to need to polish up the way it picks Danger, since that's not using the 2D Array to it's fullest.
 +
----
 +
00:32, 12 June 2009 (UTC)
 +
<pre>
 +
1st hackhalotwo.GravityWave 29948 (80%) 24350 4920 0 0 590 87 492 8 0
 +
2nd mld.DustBunny 3.8 7661 (20%) 400 80 7053 95 32 0 8 492 0
 +
</pre>
 +
I added in a setMaxVelocity() for turning. Other than that and some slight tweaks to the segmentated Array to speed up the execution. After thinking about it, and while looking at the debug data, I noticed that there was a major bug in the distance Segment. The Segment is updated ''every turn''. It should only be the distance when the bullet was fired, not the current distance. So I'm going to work on hacking the enemyWave class to take the distance Segment, then updating and re-polishing things.
 +
----
 +
01:31, 14 June 2009 (UTC)<br>
 +
I've been slowly tuning and polishing GravityWave over the last couple of days, testing and retesting ideas, segments, basically everything to try and improve the movement. Besides some very minor improvements to the prediction and danger functions, and some slight tweaks to the EnemyWave function, nothing really new to report. I did create a Scan class which is loosely biased off of Voidious' BotScan class. The Scan class stores a complete scan of the current tick, including some more advanced functions and a better workaround for detecting false waves. Once I work out some of the bugs and speed up some things, hopefully I can finally get 85+% on [[DustBunny|DustBunny 3.8]].
 +
----
 +
00:22, 15 June 2009 (UTC) (Modified: 03:35, 15 June 2009 (UTC))
 +
Unmodified BasicSurfer vs Stationary DustBunny 3.8
 +
<pre>
 +
1st mld.DustBunny 3.8 44964 (81%) 9900 1980 30920 2164 0 0 198 302 0
 +
2nd wiki.BasicSurfer 10621 (19%) 7200 3020 0 0 396 5 302 198 0
 +
</pre>
 +
UnSegmented GravityWave alpha2 vs Stationary DustBunny 3.8
 +
<pre>
 +
1st mld.DustBunny 3.8 45758 (80%) 9800 1960 32013 1985 0 0 196 304 0
 +
2nd hackhalotwo.GravityWave 11296 (20%) 8100 3040 0 0 156 0 304 196 0
 +
</pre>
 +
Unbuffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.5
 +
<pre>
 +
1st hackhalotwo.GravityWave 16250 (64%) 11350 4660 0 0 236 3 466 34 0
 +
2nd mld.DustBunny 3.5 8961 (36%) 1700 340 6602 319 0 0 34 466 0
 +
</pre>
 +
Buffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.5
 +
<pre>
 +
1st hackhalotwo.GravityWave 16304 (63%) 11500 4580 0 0 222 2 458 42 0
 +
2nd mld.DustBunny 3.5 9610 (37%) 2100 420 6735 355 0 0 42 458 0
 +
</pre>
 +
Unbuffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.8
 +
<pre>
 +
1st mld.DustBunny 3.8 26775 (64%) 4850 970 19980 975 0 0 97 403 0
 +
2nd hackhalotwo.GravityWave 14804 (36%) 10650 4030 0 0 122 1 403 97 0 </pre>
 +
Buffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.8
 +
<pre>
 +
1st mld.DustBunny 3.8 31922 (70%) 6550 1310 22699 1363 0 0 131 369 0
 +
2nd hackhalotwo.GravityWave 13507 (30%) 9550 3690 0 0 264 3 369 131 0
 +
</pre>
 +
This concludes what people were talking about, My movement is buggy. Gha. Back to basics... I'm going to work on tightening up everything. There has to be a bug in the EnemyWave Functions or the Array. Those are going to be the two things I start on first.
 +
----
 +
04:47, 16 June 2009 (UTC)
 +
Test with Pre-Buffered Unsegmented GravityWave alpha2 vs Stationary DustBunny 3.5
 +
<pre>
 +
1st hackhalotwo.GravityWave 16508 (62%) 11750 4510 0 0 246 2 452 48 0
 +
2nd mld.DustBunny 3.5 10239 (38%) 2400 480 6978 381 0 0 49 451 0
 +
</pre>
 +
Test with Pre-Buffered Unsegmented GravityWave alpha2 vs Stationary DustBunny 3.8
 +
<pre>
 +
1st mld.DustBunny 3.8 42949 (78%) 9050 1810 30203 1886 0 0 181 319 0
 +
2nd hackhalotwo.GravityWave 11797 (22%) 8450 3190 0 0 156 1 319 181 0
 +
</pre>
 +
Well, this is a test on my pre-buffered array. DustBunny 3.8 still kills me, and there is a very slight improvement against DustBunny 3.5.
 +
----
 +
18:17, 16 June 2009 (UTC)
 +
<pre>
 +
1st hackhalotwo.GravityWave 17650 (67%) 12650 5000 0 0 0 0 500 0 0
 +
2nd mld.DustBunny 3.5 8748 (33%) 0 0 8748 0 0 0 0 500 0
 +
</pre>
 +
Wow, I wasn't expecting this. I hacked the [[Wall Smoothing]] function to reverse directions if GravityWave was too close to the enemy, so he wouldn't ram him if the enemy was close to the wall. A total of 1,566 bullets hit him with no losses. I'm going to need to polish this up, but I got one major bug out of GravityWave! I think next is the EnemyWave Class. I've noticed that, once the wave has passed GravityWave, he forgets about it and tends to run into that bullet (if he's near a wall or backing up). I think I'm going to see if I can get GravityWave to check danger biased on the current and previous wave and move on that information.
 
----
 
----

Latest revision as of 22:30, 18 June 2009

GravityWave pages:
GravityWaveVersions - Code - Tests

05:00, 7 June 2009 (UTC)

1st	hackhalotwo.GravityWave	17933 (81%)	13050	4860	0	0	23	0	486	14	0
2nd	mld.DustBunny 3.5	4344 (19%)	700	140	3319	157	28	0	14	486	0

I doubled the amount of BINS (from 42 to 84). That seemed to do a LOT of good. Other than that, I didn't change to much more.


17:42, 7 June 2009 (UTC)

1st	hackhalotwo.GravityWave	18004 (73%)	13050	4950	0	0	4	0	495	5	0
2nd	mld.DustBunny 3.8	6612 (27%)	250	50	6269	40	2	0	5	495	0

Really no changes besides fixing the wall smoothing buffer to be dynamic instead of static (i.e., it now uses getBattleFieldHeight() and getBattleFieldWidth() minus getHeight() and getWidth() (all as ints) for the wallSmoothing function instead of fixed variables. I also moved a lot of functions from GravityWave to Hh2_Utils, but that shouldn't of impacted the performance any, since it was just a copy and paste job.


03:17, 10 June 2009 (UTC)

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 actually a glitch in my movement code that I thought was funny. I ran this test three times, trying to figure out why my bot was suddenly ramming DustBunny. Well, in my doSurfing() function, I was adding in some more movement code to make GravityWave move when there was no waves (since BasicSurfer doesn't have any such code). Well, I rounded my setTurnRight wrong, so instead of orbiting the enemy, it rammed him. I may keep this in, depending on the rules of the Movement Challenge 2K9.


05:01, 10 June 2009 (UTC)

1st	hackhalotwo.GravityWave	30215 (80%)	24600	4930	0	0	596	89	493	7	0
2nd	mld.DustBunny 3.8	7517 (20%)	350	70	7023	64	10	0	7	493	0

I hacked the doSurfing() function to accept two double inputs, eBearing and eEnergy, to extend my new ramming movement only after the Enemy's Energy is less than or equal to 0.0. That looked like it did some good. My next feat is adding in some distancing for my 'normal' movement, since if GravityWave gets within 400 pixels of DustBunny, DB rapes him :P.


19:05, 10 June 2009 (UTC)

1st	jam.RaikoMX 0.32	54784 (76%)	10650	2130	39674	2301	4	25	213	287	0
2nd	hackhalotwo.GravityWave	17506 (24%)	14250	2870	0	0	336	50	287	213	0

This is for fun, but I was surprised at the results. GravityWave outlasted RaikoMX over half the time! Of course, RaikoMX swept the floor with GW in score, but this proves that, from when I started tweaking GW, He has become harder to hit. Now it's off to work on implementing some sort of Bin Smoothing function and testing it against DustBunny 3.8.


04:19, 11 June 2009 (UTC)

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

This is the test for my 2D Segmented BIN Array. It shows a slight improvement all around. I know it will do better if I went in and polished up the functions for the segmentation. I should test this against DustBunny 3.8...


22:02, 11 June 2009 (UTC) Match 1

1st	hackhalotwo.GravityWave	29546 (76%)	24000	4870	0	0	590	86	487	13	0
2nd	mld.DustBunny 3.8	9089 (24%)	650	130	8156	125	28	0	13	487	0

Match 2 (using the data from the end of Match 1)

1st	hackhalotwo.GravityWave	29696 (78%)	24150	4860	0	0	599	87	486	14	0
2nd	mld.DustBunny 3.8	8302 (22%)	700	140	7303	146	13	0	14	486	0

This is a test on the save/load functions and on the 2D Segmentation Array. Both are a success. I'm going to need to polish up the way it picks Danger, since that's not using the 2D Array to it's fullest.


00:32, 12 June 2009 (UTC)

1st	hackhalotwo.GravityWave	29948 (80%)	24350	4920	0	0	590	87	492	8	0
2nd	mld.DustBunny 3.8	7661 (20%)	400	80	7053	95	32	0	8	492	0

I added in a setMaxVelocity() for turning. Other than that and some slight tweaks to the segmentated Array to speed up the execution. After thinking about it, and while looking at the debug data, I noticed that there was a major bug in the distance Segment. The Segment is updated every turn. It should only be the distance when the bullet was fired, not the current distance. So I'm going to work on hacking the enemyWave class to take the distance Segment, then updating and re-polishing things.


01:31, 14 June 2009 (UTC)
I've been slowly tuning and polishing GravityWave over the last couple of days, testing and retesting ideas, segments, basically everything to try and improve the movement. Besides some very minor improvements to the prediction and danger functions, and some slight tweaks to the EnemyWave function, nothing really new to report. I did create a Scan class which is loosely biased off of Voidious' BotScan class. The Scan class stores a complete scan of the current tick, including some more advanced functions and a better workaround for detecting false waves. Once I work out some of the bugs and speed up some things, hopefully I can finally get 85+% on DustBunny 3.8.


00:22, 15 June 2009 (UTC) (Modified: 03:35, 15 June 2009 (UTC)) Unmodified BasicSurfer vs Stationary DustBunny 3.8

1st	mld.DustBunny 3.8	44964 (81%)	9900	1980	30920	2164	0	0	198	302	0
2nd	wiki.BasicSurfer	10621 (19%)	7200	3020	0	0	396	5	302	198	0

UnSegmented GravityWave alpha2 vs Stationary DustBunny 3.8

1st	mld.DustBunny 3.8	45758 (80%)	9800	1960	32013	1985	0	0	196	304	0
2nd	hackhalotwo.GravityWave	11296 (20%)	8100	3040	0	0	156	0	304	196	0

Unbuffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.5

1st	hackhalotwo.GravityWave	16250 (64%)	11350	4660	0	0	236	3	466	34	0
2nd	mld.DustBunny 3.5	8961 (36%)	1700	340	6602	319	0	0	34	466	0

Buffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.5

1st	hackhalotwo.GravityWave	16304 (63%)	11500	4580	0	0	222	2	458	42	0
2nd	mld.DustBunny 3.5	9610 (37%)	2100	420	6735	355	0	0	42	458	0

Unbuffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.8

1st	mld.DustBunny 3.8	26775 (64%)	4850	970	19980	975	0	0	97	403	0
2nd	hackhalotwo.GravityWave	14804 (36%)	10650	4030	0	0	122	1	403	97	0 

Buffered Segmented GravityWave alpha2 vs Stationary DustBunny 3.8

1st	mld.DustBunny 3.8	31922 (70%)	6550	1310	22699	1363	0	0	131	369	0
2nd	hackhalotwo.GravityWave	13507 (30%)	9550	3690	0	0	264	3	369	131	0

This concludes what people were talking about, My movement is buggy. Gha. Back to basics... I'm going to work on tightening up everything. There has to be a bug in the EnemyWave Functions or the Array. Those are going to be the two things I start on first.


04:47, 16 June 2009 (UTC) Test with Pre-Buffered Unsegmented GravityWave alpha2 vs Stationary DustBunny 3.5

1st	hackhalotwo.GravityWave	16508 (62%)	11750	4510	0	0	246	2	452	48	0
2nd	mld.DustBunny 3.5	10239 (38%)	2400	480	6978	381	0	0	49	451	0

Test with Pre-Buffered Unsegmented GravityWave alpha2 vs Stationary DustBunny 3.8

1st	mld.DustBunny 3.8	42949 (78%)	9050	1810	30203	1886	0	0	181	319	0
2nd	hackhalotwo.GravityWave	11797 (22%)	8450	3190	0	0	156	1	319	181	0

Well, this is a test on my pre-buffered array. DustBunny 3.8 still kills me, and there is a very slight improvement against DustBunny 3.5.


18:17, 16 June 2009 (UTC)

1st	hackhalotwo.GravityWave	17650 (67%)	12650	5000	0	0	0	0	500	0	0
2nd	mld.DustBunny 3.5	8748 (33%)	0	0	8748	0	0	0	0	500	0

Wow, I wasn't expecting this. I hacked the Wall Smoothing function to reverse directions if GravityWave was too close to the enemy, so he wouldn't ram him if the enemy was close to the wall. A total of 1,566 bullets hit him with no losses. I'm going to need to polish this up, but I got one major bug out of GravityWave! I think next is the EnemyWave Class. I've noticed that, once the wave has passed GravityWave, he forgets about it and tends to run into that bullet (if he's near a wall or backing up). I think I'm going to see if I can get GravityWave to check danger biased on the current and previous wave and move on that information.