Difference between revisions of "LittleBlackBook"

From Robowiki
Jump to navigation Jump to search
(Updated with new info and more in depth desciptions of abilities.)
Line 7: Line 7:
 
| targeting      = [[Guess Factor]]
 
| targeting      = [[Guess Factor]]
 
| movement        = Stop and go, Dodge oscalate, & random
 
| movement        = Stop and go, Dodge oscalate, & random
| current_version = 1.55
+
| current_version = 1.59
| released        = December 17 2009
+
| released        = January 13 2010
 
| isMelee        = no (maybe)
 
| isMelee        = no (maybe)
 
| isOpenSource    = yes
 
| isOpenSource    = yes
Line 25: Line 25:
  
 
; What's special about it?
 
; What's special about it?
: This is a table driven bot.  It uses canned guess factors, desired engage distance, fire power, movement type, and movement length all segmented upon distance from its enemy.  It also has a default table it uses for unknown bots and ignores the bot's version number for behavior so that bot upgrades don't confuse it much.
+
: This is a table driven bot.  It uses canned guess factors, desired engage distances, fire power, movement type, and movement length all segmented upon distance from its enemy.  It also has a default table it uses for unknown bots and ignores the bot's version number for behavior so that bot upgrades don't confuse it much.
  
 
; How competitive is it?
 
; How competitive is it?
Line 33: Line 33:
  
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
: From studies of its opponents (offline), it either goes mostly forward, back and forth, random, or anywhere I want in between.
+
: From studies of its opponents (offline), it can do a number of things - or combine them based on distance from opponent:
 +
* Straight orbit - good for bots that never use full linear aim, head on aim, or for getting away from an edge or rammer.
 +
* Imperfect stop and go in one direction.  Scoot forward a bit on every energy drop.  My energy detection is poor though so bullet hits fool it.  Good for average linear aimers, combined linear/head on aim bots at medium and long range, and some PM bots when mixed with other modes.
 +
* Imperfect oscollation - good for full or nearly full linear aim bots.  Better at range as I lose the pattern when I hit an enemy bot with bullets.  Tends to stick on walls if the attacking bot is aggresive due to wall reversing velocity code and limited space.
 +
* Psuedo Random - Roughly 50/50 forward and back over mixed random distance.  Makes a fairly flat GF and PM profile.  Best against advanced bots.
 +
* Any mix of the above segmented on distance.  Mixing can help with PM bots.
  
 
; How does it fire?
 
; How does it fire?
: String based Guess Factor segmented heavily by distance and a little lateral velocity.
+
: String based Guess Factor segmented heavily by distance, modified by direction of average velocity (stop'n'go defeater) and a little lateral velocity.
  
 
; How does it [[Dodging Bullets|dodge bullets]]?
 
; How does it [[Dodging Bullets|dodge bullets]]?
: Watches enemy power levels and moves when it changes at all.
+
: Watches enemy power levels and moves when it changes at all.  Imperfect due to size constraints.
  
 
; How does the [[Melee|melee]] strategy differ from [[One-On-One|one-on-one]] strategy?
 
; How does the [[Melee|melee]] strategy differ from [[One-On-One|one-on-one]] strategy?
: No melee strategy, but it would probably be ok.
+
: No melee strategy, but it would probably be ok.  Radar is not good enough for strong melee though.
  
 
; What does it save between rounds and matches?
 
; What does it save between rounds and matches?
Line 56: Line 61:
  
 
; What's next for your robot?
 
; What's next for your robot?
* Get above 80% APS in nanos.
+
* Investigate Lateral velocity GF inclusing and better dodging.  Check costs against loss of another table.
* Add all other rumble bots for improvements outside of the nano land. (Micros 90% complete.)
+
* Add all other rumble bots for improvements outside of the nano land or at least up to the minis. (Micros 100% complete.)
* Improve default parameters.
+
* <strike>Get above 80% APS in nanos.</strike>
* One last tune pass for current bots.
+
* <strike>Improve default parameters.</strike>
 +
* <strike>One last tune pass for current bots.</strike>
 
* <strike>Create a seperate bot to generate my tables for me - man that was tedious to do by hand.</strike>
 
* <strike>Create a seperate bot to generate my tables for me - man that was tedious to do by hand.</strike>
 
* <strike>Improved dodging and flatter random movement.</strike>  
 
* <strike>Improved dodging and flatter random movement.</strike>  
Line 65: Line 71:
 
* <strike>Codesize reduction.  Found 50+ bytes thus far.</strike>
 
* <strike>Codesize reduction.  Found 50+ bytes thus far.</strike>
 
* <strike>Dynamic distancing per opponent - </strike>
 
* <strike>Dynamic distancing per opponent - </strike>
* <strike>Investigate other segmentations methods besides distance - which I'm told is one of the weakest.</strike> No need...
+
* <strike>Investigate other segmentations methods besides distance - which I'm told is one of the weakest.</strike> Next major version, perhaps in a micro.
 
* <strike>Partial string matches on names.  Need 6 bytes or so more.</strike>
 
* <strike>Partial string matches on names.  Need 6 bytes or so more.</strike>
 
* <strike>Mode OSCO needs a little help to get closer - perhaps factor some distance into its timings.</strike>
 
* <strike>Mode OSCO needs a little help to get closer - perhaps factor some distance into its timings.</strike>
Line 73: Line 79:
  
 
Here's the current, updated list:
 
Here's the current, updated list:
* [[Moebius]] - strong movement and an excellent gun.
+
* [[Neophyte Pattern]] and PRAL - Strong movement. Ditto on Weaknesses. (Improved a bit last version.)
* [[Neophyte Pattern]] and PRAL - Strong movement. Ditto on Weaknesses.
 
 
* [[Fuatisha]] - Very strong new bot.
 
* [[Fuatisha]] - Very strong new bot.
 
* [[Assertive]] - Good, strong bot.
 
* [[Assertive]] - Good, strong bot.
* DosEXE 0.9a - Two bots with same name but different versions entered.  My tables cannot cope with this.
 
 
* The top 10 Micros.
 
* The top 10 Micros.
 +
*<Strike>DosEXE 0.9a - Two bots with same name but different versions entered.  My tables cannot cope with this.</Strike>  Optimized a solution for both.
 +
*<Strike>[[Moebius]] - strong movement and an excellent gun.</Strike> Close in I can beat him with care.
 
*<Strike>Ram Bots</Strike> Variable Fire Power kills them dead.  Variable distance make the slaughter worse.
 
*<Strike>Ram Bots</Strike> Variable Fire Power kills them dead.  Variable distance make the slaughter worse.
  
 
; What other robot(s) is it based on?
 
; What other robot(s) is it based on?
: Pretty much unique now.
+
: Pretty much unique, though its movement started out somewhat close to [Moebius]'s before being improved.
 +
 
 +
I keep a running blob about this bot on the discussion page.
  
 
== Current Ranks ==
 
== Current Ranks ==

Revision as of 00:01, 14 January 2010

Background Information

LittleBlackBook
Author(s) Miked0801
Extends AdvancedRobot
Targeting Guess Factor
Movement Stop and go, Dodge oscalate, & random
Released January 13 2010
Current Version 1.59
[Robot Repository Download]


Bot Name
LittleBlackBook
Author
Miked0801
Extends
AdvancedRobot
What's special about it?
This is a table driven bot. It uses canned guess factors, desired engage distances, fire power, movement type, and movement length all segmented upon distance from its enemy. It also has a default table it uses for unknown bots and ignores the bot's version number for behavior so that bot upgrades don't confuse it much.
How competitive is it?
#1 in 1v1 ranking - way #1. #11 in Micros. Still improving as well.

Strategy

How does it move?
From studies of its opponents (offline), it can do a number of things - or combine them based on distance from opponent:
  • Straight orbit - good for bots that never use full linear aim, head on aim, or for getting away from an edge or rammer.
  • Imperfect stop and go in one direction. Scoot forward a bit on every energy drop. My energy detection is poor though so bullet hits fool it. Good for average linear aimers, combined linear/head on aim bots at medium and long range, and some PM bots when mixed with other modes.
  • Imperfect oscollation - good for full or nearly full linear aim bots. Better at range as I lose the pattern when I hit an enemy bot with bullets. Tends to stick on walls if the attacking bot is aggresive due to wall reversing velocity code and limited space.
  • Psuedo Random - Roughly 50/50 forward and back over mixed random distance. Makes a fairly flat GF and PM profile. Best against advanced bots.
  • Any mix of the above segmented on distance. Mixing can help with PM bots.
How does it fire?
String based Guess Factor segmented heavily by distance, modified by direction of average velocity (stop'n'go defeater) and a little lateral velocity.
How does it dodge bullets?
Watches enemy power levels and moves when it changes at all. Imperfect due to size constraints.
How does the melee strategy differ from one-on-one strategy?
No melee strategy, but it would probably be ok. Radar is not good enough for strong melee though.
What does it save between rounds and matches?
Nothing. It has all it needs in its string tables.

Additional Information

Where did you get the name?
It has a little black book on every bot it competes against.
Can I use your code?
Go for it, though give credit as this is a new concept that has yet to be fully fleshed out by me. I'd like to see how far I can push this idea before fighting the next generation of SGF gun bots :)
What's next for your robot?
  • Investigate Lateral velocity GF inclusing and better dodging. Check costs against loss of another table.
  • Add all other rumble bots for improvements outside of the nano land or at least up to the minis. (Micros 100% complete.)
  • Get above 80% APS in nanos.
  • Improve default parameters.
  • One last tune pass for current bots.
  • Create a seperate bot to generate my tables for me - man that was tedious to do by hand.
  • Improved dodging and flatter random movement.
  • Address 0 velocity aiming issues via averaging or something.
  • Codesize reduction. Found 50+ bytes thus far.
  • Dynamic distancing per opponent -
  • Investigate other segmentations methods besides distance - which I'm told is one of the weakest. Next major version, perhaps in a micro.
  • Partial string matches on names. Need 6 bytes or so more.
  • Mode OSCO needs a little help to get closer - perhaps factor some distance into its timings.
Does it have any White Whales?
Multi-mode bots hurt its aim, the more modes, the worse I do. Bots that dynamically change their lead values and keep them constant over the life of the match(surfers) give him a very, very tough time. Surprisingly, PM bots are handled well by the its movement code. Basically, a flat GF profile bot with mulit-modes is a big problem.

Here's the current, updated list:

  • Neophyte Pattern and PRAL - Strong movement. Ditto on Weaknesses. (Improved a bit last version.)
  • Fuatisha - Very strong new bot.
  • Assertive - Good, strong bot.
  • The top 10 Micros.
  • DosEXE 0.9a - Two bots with same name but different versions entered. My tables cannot cope with this. Optimized a solution for both.
  • Moebius - strong movement and an excellent gun. Close in I can beat him with care.
  • Ram Bots Variable Fire Power kills them dead. Variable distance make the slaughter worse.
What other robot(s) is it based on?
Pretty much unique, though its movement started out somewhat close to [Moebius]'s before being improved.

I keep a running blob about this bot on the discussion page.

Current Ranks

  1. 1 in Nano Rumble
  2. 11 in Micro Rumble

Mini and overall aren't real yet.