Difference between revisions of "SavantMicro"

From Robowiki
Jump to navigation Jump to search
m (Capitalization)
(SavantMicro 1.0)
 
(One intermediate revision by the same user not shown)
Line 16: Line 16:
 
'''What's special about it?'''
 
'''What's special about it?'''
  
Well, it's a micro velocity surfer that uses an interesting gun.
+
Well, it's a fairly competitive micro with an interesting adaptive movement.
  
 
'''Great, I want to try it. Where can I download it?'''
 
'''Great, I want to try it. Where can I download it?'''
Line 24: Line 24:
 
'''How competitive is it?'''
 
'''How competitive is it?'''
  
Decent but not good. Upper 50's in microrumble.
+
We'll see.
  
 
== Strategy ==
 
== Strategy ==
 
'''How does it move?'''
 
'''How does it move?'''
  
It's basically [[SavantVS|SavantVS's]] movement with added segmentation on distance, wallsmoothing, and dive control.
+
It's movement is similar to SavantVS's, but it has a segment on distance, wall avoidance, and a much better formula for choosing a velocity. Basically, every time the enemy fires it chooses the best velocity (positive or negative) to move at in order to not get hit.
  
 
'''How does it fire?'''
 
'''How does it fire?'''
  
It uses a wave-based bearing change gun that doesn't use rolling averages or anything, it just uses the most recent movement of the enemy in that segment. It's the only gun I know of like that, so tell me if it's been done before.
+
It uses a weekendobsession gun, which is fairly strong while being very small in codesize.
  
 +
'''Is this robot melee-capable? '''
  
'''How does it dodge bullets?'''
+
Not at all.
 
 
It basically just falls into patterns of velocity changes that it changes when it gets hit.
 
 
 
'''How does the melee strategy differ from one-on-one strategy? '''
 
 
 
You've got three guesses.
 
 
 
'''How does it select a target to attack/avoid in melee? '''
 
 
 
It doesn't.
 
  
 
'''What does it save between rounds and matches? '''
 
'''What does it save between rounds and matches? '''
  
Everything, since static variables are cheaper.
+
The gun data and log of enemy hits.
  
 
== Additional Information ==
 
== Additional Information ==
Line 63: Line 54:
 
'''What's next for your robot? '''
 
'''What's next for your robot? '''
  
There's tons of room for improvement. Here's what future versions will include(if I can fit it).
+
There are several problems with this bot:
  
 
Movement:
 
Movement:
*<strike>Find a way to deal with rammers and close range bots.</strike>
+
*It's movement loses a LOT of effectiveness over distance, despite the distance segment. This is part of the reason it does poorly against most of the top micro's, as most of them try to stay as far away as possible at all times.
*Improve the movement's ability to dodge averaged velocity guns(BIG problem, as they tend to just find the average velocity of whatever little pattern it slips into and then nail it).
+
*It still has problems with enemy wall hits and gathering data when the enemy is very very close.
*<strike>Add distance control. This will hopefully help with the first problem too.</strike>
 
  
 
Gun:
 
Gun:
*Switch to a very special patternmatching gun that I've been working on. Could be a ways off.
+
*I get the since that against strong bots, the movement does very well but the gun doesn't hit quite as much as it should. However, the weekendobsession gun probably won't be getting any changes.
 +
 
 
'''Does it have any White Whales? '''   
 
'''Does it have any White Whales? '''   
  
All of it's problembots.
+
I'd really like for it to be able to beat WaveShark, as they both have the same gun but WaveShark uses real wavesurfing instead of just duplicating the effect. However, it does very poorly against WaveShark currently (probably could be helped by improving it's movement over a distance).
  
 
'''What other robot(s) is it based on? '''
 
'''What other robot(s) is it based on? '''
  
SavantVS.
+
[[SavantVS]], my nano velocitysurfer.
  
  
 
== Version History ==
 
== Version History ==
 +
1.0: Huge improvement. Total rewrite of robot, but still using a similar movement. Improvements made:
 +
*Now uses a weekendobsession gun. Not my first choice, but I needed more space for a movement.
 +
*The movement factors in all hits when picking when to move, not just the hits at the last velocity. This is the most important change, as the last movement acted basically like a random 2-velocity pattern that changed upon being hit. It still has some aspects of that, but it now works pretty much better overall against everything.
 +
*SavantMicro's behavior near walls has been drastically improved. Previously, it wallsmoothed and changed direction if the angle was too steep. This meant if the robot was hit because of a direction change due to being near the wall, the movement wouldn't know what had happened and would add the hit to the wrong place. Now it just doesn't move in velocities that would result in a wall hit, making it do pretty well when near walls.
 +
*Much better anti-ramming.
 +
*Energy management added.
 +
*No longer takes bullets that hit it after the enemy died into account. This was another thing fouling up the data it gathered.
  
0.1: APS-61.89%
+
0.31: No score change
 +
*Minor bugfix
  
 +
0.3: APS-62.88%
 +
*Revert to 0.1.
 +
*Add distance control.
  
 
0.2:
 
0.2:
Line 91: Line 93:
 
*Added a gun mode that uses rolling averages.
 
*Added a gun mode that uses rolling averages.
  
0.3: APS-62.88%
+
0.1: APS-61.89%
*Revert to 0.1.
+
 
*Add distance control.
 
 
[[Category:MicroBots]]
 
[[Category:MicroBots]]
 
[[Category:Bots]]
 
[[Category:Bots]]
 
[[Category:1-vs-1 Bots]]
 
[[Category:1-vs-1 Bots]]

Latest revision as of 14:56, 6 September 2010

Background Information

Bot Name

SavantMicro

Author

User:CrazyBassoonist

Extends

AdvancedRobot

What's special about it?

Well, it's a fairly competitive micro with an interesting adaptive movement.

Great, I want to try it. Where can I download it?

robocoderepository.com

How competitive is it?

We'll see.

Strategy

How does it move?

It's movement is similar to SavantVS's, but it has a segment on distance, wall avoidance, and a much better formula for choosing a velocity. Basically, every time the enemy fires it chooses the best velocity (positive or negative) to move at in order to not get hit.

How does it fire?

It uses a weekendobsession gun, which is fairly strong while being very small in codesize.

Is this robot melee-capable?

Not at all.

What does it save between rounds and matches?

The gun data and log of enemy hits.

Additional Information

Where did you get the name?

It uses Savant's movement and it's a micro.

Can I use your code?

RWPCL

What's next for your robot?

There are several problems with this bot:

Movement:

  • It's movement loses a LOT of effectiveness over distance, despite the distance segment. This is part of the reason it does poorly against most of the top micro's, as most of them try to stay as far away as possible at all times.
  • It still has problems with enemy wall hits and gathering data when the enemy is very very close.

Gun:

  • I get the since that against strong bots, the movement does very well but the gun doesn't hit quite as much as it should. However, the weekendobsession gun probably won't be getting any changes.

Does it have any White Whales?

I'd really like for it to be able to beat WaveShark, as they both have the same gun but WaveShark uses real wavesurfing instead of just duplicating the effect. However, it does very poorly against WaveShark currently (probably could be helped by improving it's movement over a distance).

What other robot(s) is it based on?

SavantVS, my nano velocitysurfer.


Version History

1.0: Huge improvement. Total rewrite of robot, but still using a similar movement. Improvements made:

  • Now uses a weekendobsession gun. Not my first choice, but I needed more space for a movement.
  • The movement factors in all hits when picking when to move, not just the hits at the last velocity. This is the most important change, as the last movement acted basically like a random 2-velocity pattern that changed upon being hit. It still has some aspects of that, but it now works pretty much better overall against everything.
  • SavantMicro's behavior near walls has been drastically improved. Previously, it wallsmoothed and changed direction if the angle was too steep. This meant if the robot was hit because of a direction change due to being near the wall, the movement wouldn't know what had happened and would add the hit to the wrong place. Now it just doesn't move in velocities that would result in a wall hit, making it do pretty well when near walls.
  • Much better anti-ramming.
  • Energy management added.
  • No longer takes bullets that hit it after the enemy died into account. This was another thing fouling up the data it gathered.

0.31: No score change

  • Minor bugfix

0.3: APS-62.88%

  • Revert to 0.1.
  • Add distance control.

0.2:

  • Two movement modes, one where it avoids using the same velocity again.
  • Removed some distance segmentation.
  • Added a gun mode that uses rolling averages.

0.1: APS-61.89%