Difference between revisions of "Portia/Version History"

From Robowiki
Jump to navigation Jump to search
m (Changed to "dynamic clustering gun")
(Quick summary)
 
(25 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
----
 
----
  
 +
* '''1.26b'''
 +
** Changed the way Portia rates different angles in the melee targeting.
 +
 +
* '''1.26a'''
 +
** Changed the main 1v1 gun to a GuessFactor gun, trying to harness some statistical power. :)
 +
 +
* '''1.25f & 1.25g'''
 +
** Testing to see what the best rolling speed is for the surfing stats. Basically, 1.25f is the most optimal fast rolling I could find, and 1.25g uses the best slow rolling. [http://darkcanuck.net/rumble/RatingsCompare?game=roborumble&name=positive.Portia%201.25g&vs=positive.Portia%201.25f The results] are pretty interesting, with as much as 25% APS difference against some bots. In general they're both worse than the 1.25e version though.
 +
 +
* '''1.25e''' - 4 October 2009
 +
** Did several small 1v1-movement tweaks. Seems great in testing. :)
 +
 +
* '''1.25d''' - 3 October 2009
 +
** In the previous version, the rambot detection misdetected too much, hopefully fixed. Although the actual response is not as good as I'd like.
 +
** Did lots of tests and wavesuffering against kawigi's Barracuda 1.0. It should get around 99% against it now (thanks to Voidious for telling me about Barracuda)
 +
 +
* '''1.25c''' - 1 October 2009
 +
** Added an anti-rammer movement (thanks to GrubbmGait for pointing this out)
 +
** Improved the standard no-wave 1v1 movement considerably, I hope. :)
 +
 +
* '''1.25b''' - 30 September 2009
 +
** Added an anti-mirror mode (with extra debug graphics :))
 +
** Largely rewrote the 1v1-surfing code. The effect should be about the same, just costing less CPU and not crashing into walls.
 +
** Made a few small bullet power changes for 1v1
 +
** Nicer graphics :)
 +
 +
* '''1.25a''' - 26 September 2009
 +
** ''' {{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=positive.Portia+1.25a|rumble=RoboRumble|scorelabel=APS|score=79.75|rank=37th|win=721|loss=23|plrank=17th|glicko2=2030.1|score2label=Survival|score2=89.16}} '''
 +
** ''' {{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.25a|rumble=MeleeRumble|scorelabel=APS|score=70.16|rank=2nd|win=280|loss=2|plrank=3rd|glicko2=1652.6|score2label=Survival|score2=95.11}} '''
 +
** Added a wavesurfing mode to the movement. I integrated the mode with my earlier movement scheme, it's used when stop 'n go fails.
 +
** Credits go to Voidious for giving me nice segments for it and allowing me to use his debug color scheme. :)
 +
 +
* '''1.24a''' - 24 September 2009
 +
** ''' {{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.24a|rumble=MeleeRumble|scorelabel=APS|score=70.02|rank=2nd*|win=281|loss=2|plrank=3rd|glicko2=1657.6|score2label=Survival|score2=94.54}} ''''
 +
** Fixed bug in the KdTree usage; some of the targeting code would prefer worse matches over better matches
 +
** The sologun can now use new data much faster
 +
 +
* '''1.23''' - 23 September 2009
 +
** ''' {{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.23|rumble=MeleeRumble|scorelabel=APS|score=69.86|rank=3rd|win=280|loss=2|plrank=3rd|glicko2=1661.1|score2label=Survival|score2=94.34}} '''
 +
** Did and properly tested several small changes in the gun, both solo and melee. I hoped to push past [[Shadow|Shadow 3.84g]] with this update, but unfortunately had no such luck.
 +
 +
* '''1.22''' - 22 September 2009
 +
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.22|rumble=MeleeRumble|scorelabel=APS|score=70.03|rank=3rd|win=280|loss=1|plrank=2nd|glicko2=1664.6|score2label=Survival|score2=94.6}}'''
 +
** In movement, the corners are now much more repulsing. This seems to work very well for Portia, because it has a tendency to stick there too much trying not to be the closest enemy to any opponent.
 +
** Tweaked several (formerly) arbitrarily chosen values and methods for the meleegun (based on Voidious' successes and advice to benchmark). :)
 +
 +
* '''1.21d''' - 21 September 2009
 +
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.21d|rumble=MeleeRumble|scorelabel=APS|score=69.55|rank=3rd|win=280|loss=3|plrank=3rd|glicko2=1666.3|score2label=Survival|score2=93.76}}'''
 +
** Partially rewrote/reweighted the code used in the first few turns of matches.
 +
 +
* '''1.21c''' - 19 September 2009
 +
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.21c|rumble=MeleeRumble|scorelabel=APS|score=69.47|rank=3rd|win=281|loss=3|plrank=3rd|glicko2=1666.8|score2label=Survival|score2=93.46}}'''
 +
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=positive.Portia+1.21c|rumble=RoboRumble|scorelabel=APS|score=70.54|rank=87th|win=661|loss=80|plrank=71st|glicko2=1878.5|score2label=Survival|score2=80.39}}'''
 +
** Fixed a bug in 1.21b: When the battle started with only 1 opponent Portia would get disabled.
 +
** Based on the discussion on Portia, the 1v1 gun now uses a DC-PIF algorithm when enough data has been collected. This PIF data is saved between rounds. I'm hoping/expecting a better score against all but the top bots (because they adjust their movement over time, old data isn't as relevant to shoot them with).
 +
 +
* '''1.21b''' - 11 September 2009
 +
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.21b|rumble=MeleeRumble|scorelabel=APS|score=69.72|rank=2nd|win=279|loss=2|plrank=3rd|glicko2=1679.8|score2label=Survival|score2=93.87}}'''
 +
** Basically changed bias towards the current target to bias towards the current heading and removed 'locking' the heading a few turns before firing. In my tests, it seems to miss a lot less firing oppurtunities and have a higher score&survival rate. Lets see what happens. :)
 +
** Did some internal tidying up and centralization of the code.
 +
 +
* '''1.21a''' - 6 September 2009
 +
** Changed bullet power selection in the melee dynamic clustering gun.
 +
** Because Portia's circular targeting gun can react faster to changes in enemy state, I changed the gun selection to use that gun instead of the dynamic clustering gun when opponents come very close.
 +
** When an opponent comes close to the same corner as Portia, it now totally locks on to that opponent until either leaves the corner. I did this so that there is a higher chance of that opponent dying, and therefore a lower change of Portia receiving damage from it. :)
 +
 +
* '''1.20''' - 5 September 2009
 +
** Totally rewrote the 1v1 gun:
 +
*** What I'd like to achieve with this particular gun is to have data and make reasonably decent predictions very early in the fight.
 +
*** Tries to predict the path the opponent will take, and shows it using debugging graphics.
 +
*** Does quite well against pattern robots and generally predictable bots. Scores about 40-45% against wavesurfers, which I think is quite fair considering it doesn't save any data between rounds.
 +
** Fixed bug in handling of disabled bots, and made it more aggressive (for solo and meleemode). :P
 +
** Tweaked 1v1 movement a tiny bit
 +
 +
* '''1.19''' - 30 August 2009
 +
** Tried to preempt and fix possible sources of Exceptions.
 +
** Tweaked gun and added special handlers for disabled bots.
 +
 +
* '''1.18''' - 30 August 2009
 +
** Restructured internally to allow for an implementation of [[Shadow/Melee Gun]], and this is the first try at it. It seems to be working and I'm just too damn curious to wait.
 +
 +
* '''1.17''' - 29 August 2009
 +
** Keeps statistics and shows them at the start of the match. Among other things, this means it will be more easy to see if Portia is malfunctioning. :)
 +
** Now using [[User:Rednaxela/kD-Tree|Rednaxela's kD-Tree]]
 +
** Hopefully fixed the NullPointerException bug Voidious pointed out...
 +
** Reverted bullet power selection back to 1.13, I want my 1% APS back! :P
 +
 +
* '''1.16''' - 23 August 2009
 +
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.16|rumble=MeleeRumble|scorelabel=APS|score=67.43|rank=4th|win=274|loss=3|plrank=3rd|glicko2=1670|score2label=Survival|score2=92.61}}'''
 +
** Rewrote the code I did in 1.14 and 1.15. Hopefully it won't cause exceptions anymore.
 +
** Removed the main exception handlers. That way exceptions won't be hidden and secretively cause problems in battles. (Fail safe)
 +
** As proof of concept: Now detects groups of the same robot using Head-On. Portia becomes 1st roughly 85% of the time against a group of 9 [[HawkOnFire]]s now (compared to 60% before this update).
 +
** Slight changes to energy management (mostly rollback).
 +
** Slight change to DC-gun: uses squared distance instead of manhatten distance.
 +
 +
* '''1.15''' - 19 August 2009
 +
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia+1.15|rumble=MeleeRumble|scorelabel=APS|score=67.49|rank=3rd|win=275|loss=1|plrank=2nd|glicko2=1682.3|score2label=Survival|score2=92.17}}'''
 +
** DC-gun bug fix. This is not the bug [[Voidious]] has reported about 1.14, I haven't been able to reproduce that one.
 +
** More aggressive bullet power use when at high energy.
 +
 +
* '''1.14''' - 15 August 2009
 +
** '''[http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia%201.14 MeleeRumble] - Back to 3rd place!'''
 +
** Several DC-gun changes for melee:
 +
*** Use strong bullets against opponents who seem easy to hit
 +
*** Do not use predicted positions that are outside of the battlefield
 +
*** DC-gun speedup
 +
 +
* '''1.13''' - 11 August 2009
 +
** '''[http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia%201.13 MeleeRumble] - 2nd place!'''
 +
** '''RoboRumble - No 1v1 changes.'''
 +
** DynamicClustering accuracy increase (Hopefully). Instead of using interpolated velocities and turn rates, it now uses relative positions.
 +
** Made it more selective, accurate and aggressive with "simple" robots (cyan gun).
  
 
* '''1.12''' - 3 August 2009
 
* '''1.12''' - 3 August 2009
** '''[http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia%201.12 MeleeRumble] - Not stable yet'''
+
** '''[http://darkcanuck.net/rumble/RatingsDetails?game=meleerumble&name=positive.Portia%201.12 MeleeRumble] - 3rd place!'''
 
** '''RoboRumble - No 1v1 changes.'''
 
** '''RoboRumble - No 1v1 changes.'''
 
** It took me quite a while to understand the concept behind [[Kd-Tree|kd-trees]], but I finally got it!  Props go to [[User:ABC|ABC]] and [[User:Voidious|Voidious]] for inspiring me to study the subject. I made my own implementation of the tree, and changed the gun to use it. I think there is still a lot to improve, but I was so curious to see the result so far I had to make a release.
 
** It took me quite a while to understand the concept behind [[Kd-Tree|kd-trees]], but I finally got it!  Props go to [[User:ABC|ABC]] and [[User:Voidious|Voidious]] for inspiring me to study the subject. I made my own implementation of the tree, and changed the gun to use it. I think there is still a lot to improve, but I was so curious to see the result so far I had to make a release.
 
** Removed green exact pattern matching gun
 
** Removed green exact pattern matching gun
** Added pink [[DynamicClustering|Dynamic Clustering gun]]. This gun is used instead of the blue circular gun when enough data is collected.
+
** Added yellow [[DynamicClustering|Dynamic Clustering gun]]. This gun is used instead of the blue circular gun when enough data is collected.
  
 
* '''1.11''' - 23 July 2009
 
* '''1.11''' - 23 July 2009

Latest revision as of 22:02, 1 November 2009

Portia Sub-pages:
PortiaVersion History

  • 1.26b
    • Changed the way Portia rates different angles in the melee targeting.
  • 1.26a
    • Changed the main 1v1 gun to a GuessFactor gun, trying to harness some statistical power. :)
  • 1.25f & 1.25g
    • Testing to see what the best rolling speed is for the surfing stats. Basically, 1.25f is the most optimal fast rolling I could find, and 1.25g uses the best slow rolling. The results are pretty interesting, with as much as 25% APS difference against some bots. In general they're both worse than the 1.25e version though.
  • 1.25e - 4 October 2009
    • Did several small 1v1-movement tweaks. Seems great in testing. :)
  • 1.25d - 3 October 2009
    • In the previous version, the rambot detection misdetected too much, hopefully fixed. Although the actual response is not as good as I'd like.
    • Did lots of tests and wavesuffering against kawigi's Barracuda 1.0. It should get around 99% against it now (thanks to Voidious for telling me about Barracuda)
  • 1.25c - 1 October 2009
    • Added an anti-rammer movement (thanks to GrubbmGait for pointing this out)
    • Improved the standard no-wave 1v1 movement considerably, I hope. :)
  • 1.25b - 30 September 2009
    • Added an anti-mirror mode (with extra debug graphics :))
    • Largely rewrote the 1v1-surfing code. The effect should be about the same, just costing less CPU and not crashing into walls.
    • Made a few small bullet power changes for 1v1
    • Nicer graphics :)
  • 1.25a - 26 September 2009
    • RoboRumble ‒ APS: 79.75% (37th), PL: 721-23 (17th), Survival: 89.16%
    • MeleeRumble ‒ APS: 70.16% (2nd), PL: 280-2 (3rd), Survival: 95.11%
    • Added a wavesurfing mode to the movement. I integrated the mode with my earlier movement scheme, it's used when stop 'n go fails.
    • Credits go to Voidious for giving me nice segments for it and allowing me to use his debug color scheme. :)
  • 1.24a - 24 September 2009
    • MeleeRumble ‒ APS: 70.02% (2nd*), PL: 281-2 (3rd), Survival: 94.54% '
    • Fixed bug in the KdTree usage; some of the targeting code would prefer worse matches over better matches
    • The sologun can now use new data much faster
  • 1.23 - 23 September 2009
    • MeleeRumble ‒ APS: 69.86% (3rd), PL: 280-2 (3rd), Survival: 94.34%
    • Did and properly tested several small changes in the gun, both solo and melee. I hoped to push past Shadow 3.84g with this update, but unfortunately had no such luck.
  • 1.22 - 22 September 2009
    • MeleeRumble ‒ APS: 70.03% (3rd), PL: 280-1 (2nd), Survival: 94.6%
    • In movement, the corners are now much more repulsing. This seems to work very well for Portia, because it has a tendency to stick there too much trying not to be the closest enemy to any opponent.
    • Tweaked several (formerly) arbitrarily chosen values and methods for the meleegun (based on Voidious' successes and advice to benchmark). :)
  • 1.21d - 21 September 2009
    • MeleeRumble ‒ APS: 69.55% (3rd), PL: 280-3 (3rd), Survival: 93.76%
    • Partially rewrote/reweighted the code used in the first few turns of matches.
  • 1.21c - 19 September 2009
    • MeleeRumble ‒ APS: 69.47% (3rd), PL: 281-3 (3rd), Survival: 93.46%
    • RoboRumble ‒ APS: 70.54% (87th), PL: 661-80 (71st), Survival: 80.39%
    • Fixed a bug in 1.21b: When the battle started with only 1 opponent Portia would get disabled.
    • Based on the discussion on Portia, the 1v1 gun now uses a DC-PIF algorithm when enough data has been collected. This PIF data is saved between rounds. I'm hoping/expecting a better score against all but the top bots (because they adjust their movement over time, old data isn't as relevant to shoot them with).
  • 1.21b - 11 September 2009
    • MeleeRumble ‒ APS: 69.72% (2nd), PL: 279-2 (3rd), Survival: 93.87%
    • Basically changed bias towards the current target to bias towards the current heading and removed 'locking' the heading a few turns before firing. In my tests, it seems to miss a lot less firing oppurtunities and have a higher score&survival rate. Lets see what happens. :)
    • Did some internal tidying up and centralization of the code.
  • 1.21a - 6 September 2009
    • Changed bullet power selection in the melee dynamic clustering gun.
    • Because Portia's circular targeting gun can react faster to changes in enemy state, I changed the gun selection to use that gun instead of the dynamic clustering gun when opponents come very close.
    • When an opponent comes close to the same corner as Portia, it now totally locks on to that opponent until either leaves the corner. I did this so that there is a higher chance of that opponent dying, and therefore a lower change of Portia receiving damage from it. :)
  • 1.20 - 5 September 2009
    • Totally rewrote the 1v1 gun:
      • What I'd like to achieve with this particular gun is to have data and make reasonably decent predictions very early in the fight.
      • Tries to predict the path the opponent will take, and shows it using debugging graphics.
      • Does quite well against pattern robots and generally predictable bots. Scores about 40-45% against wavesurfers, which I think is quite fair considering it doesn't save any data between rounds.
    • Fixed bug in handling of disabled bots, and made it more aggressive (for solo and meleemode). :P
    • Tweaked 1v1 movement a tiny bit
  • 1.19 - 30 August 2009
    • Tried to preempt and fix possible sources of Exceptions.
    • Tweaked gun and added special handlers for disabled bots.
  • 1.18 - 30 August 2009
    • Restructured internally to allow for an implementation of Shadow/Melee Gun, and this is the first try at it. It seems to be working and I'm just too damn curious to wait.
  • 1.17 - 29 August 2009
    • Keeps statistics and shows them at the start of the match. Among other things, this means it will be more easy to see if Portia is malfunctioning. :)
    • Now using Rednaxela's kD-Tree
    • Hopefully fixed the NullPointerException bug Voidious pointed out...
    • Reverted bullet power selection back to 1.13, I want my 1% APS back! :P
  • 1.16 - 23 August 2009
    • MeleeRumble ‒ APS: 67.43% (4th), PL: 274-3 (3rd), Survival: 92.61%
    • Rewrote the code I did in 1.14 and 1.15. Hopefully it won't cause exceptions anymore.
    • Removed the main exception handlers. That way exceptions won't be hidden and secretively cause problems in battles. (Fail safe)
    • As proof of concept: Now detects groups of the same robot using Head-On. Portia becomes 1st roughly 85% of the time against a group of 9 HawkOnFires now (compared to 60% before this update).
    • Slight changes to energy management (mostly rollback).
    • Slight change to DC-gun: uses squared distance instead of manhatten distance.
  • 1.15 - 19 August 2009
    • MeleeRumble ‒ APS: 67.49% (3rd), PL: 275-1 (2nd), Survival: 92.17%
    • DC-gun bug fix. This is not the bug Voidious has reported about 1.14, I haven't been able to reproduce that one.
    • More aggressive bullet power use when at high energy.
  • 1.14 - 15 August 2009
    • MeleeRumble - Back to 3rd place!
    • Several DC-gun changes for melee:
      • Use strong bullets against opponents who seem easy to hit
      • Do not use predicted positions that are outside of the battlefield
      • DC-gun speedup
  • 1.13 - 11 August 2009
    • MeleeRumble - 2nd place!
    • RoboRumble - No 1v1 changes.
    • DynamicClustering accuracy increase (Hopefully). Instead of using interpolated velocities and turn rates, it now uses relative positions.
    • Made it more selective, accurate and aggressive with "simple" robots (cyan gun).
  • 1.12 - 3 August 2009
    • MeleeRumble - 3rd place!
    • RoboRumble - No 1v1 changes.
    • It took me quite a while to understand the concept behind kd-trees, but I finally got it! Props go to ABC and Voidious for inspiring me to study the subject. I made my own implementation of the tree, and changed the gun to use it. I think there is still a lot to improve, but I was so curious to see the result so far I had to make a release.
    • Removed green exact pattern matching gun
    • Added yellow Dynamic Clustering gun. This gun is used instead of the blue circular gun when enough data is collected.
  • 1.11 - 23 July 2009
    • MeleeRumble - APS:66.67 (5th), Survival:90.86, Glicko-2:1713.1, PL:548
    • RoboRumble - No 1v1 changes.
    • Changed the gun and added specific colors for shotlines:
      • Blue - primary circular targeting
      • Green - pattern match targeting
      • Cyan - simple bot targeting
      • Red - disabled bot targeting
  • 1.10 - 23 July 2009
    • MeleeRumble - APS:66.76 (5th), Survival:90.95, Glicko-2:1718.5, PL:546
    • RoboRumble - No 1v1 changes.
    • Major bug fix: it turns out the gun was mostly firing using simple Circular Targeting. That's now changed to actually predict opponents accelerating and decelerating.
    • Cool feature: can now detect record & predict Oscillator Movement frequency.
    • Cool feature: can now detect most sample bots and bots behaving like sample bots. It uses powerful bullets against such robots, to maximize effect. :)
    • No significant changes to movement: That way it will be more obvious what the effect of the changes on the gun are. I only did some codespeed and distancing optimizations.
  • 1.0 - 12 July 2009
    • RoboRumble - APS:66.28 (124th), Survival:75.35, Glicko-2:2149, PL:1226
    • MeleeRumble - APS:66.46 (6th), Survival:90.71, Glicko-2:1716.5, PL:542
    • Initial Release