LittleBlackBook

From Robowiki
Revision as of 17:28, 22 January 2010 by Miked0801 (talk | contribs)
Jump to navigation Jump to search

Background Information

LittleBlackBook
Author(s) Miked0801
Extends AdvancedRobot
Targeting Guess Factor
Movement Stop and go, Dodge oscalate, & random
Released June 14, 2009
Current Version 1.61
[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. #5 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.
  • Good but not perfect stop and go in one direction. Scoot forward a bit on every energy drop. 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.
  • Near perfect oscollation - good for full or nearly full linear aim bots. Tends to stick on walls if the attacking bot is aggresive due to wall reversing velocity code and limited space. Won't catch simultaneous fire and hit and wall hits and bullets of 1 or less energy hits confuse it as well.
  • Psuedo Random - Tunable 0-100% of the time forward and back over mixed random distance. Makes a fairly flat GF and PM profile. Best against advanced bots.
  • Ram - if all else fails, I can be a simple RAM bot :)
  • Any mix of the above segmented on distance. Mixing helps alot with PM bots.
How does it fire?
String based Guess Factor segmented heavily by distance and a little randomness, then sign modified by direction of average velocity (stop'n'go defeater).
How does it dodge bullets?
Watches enemy power levels and moves when it changes at all. Wall hits will fool it.
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 real. 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.)
  • 2K Glicko Nanos.
  • Top 5 Micros (and perhaps top 3)
  • Spend 4 bytes or so to get started before the enemy shoots for a small score boost. (Maybe)
  • Retune with new and improved bullet dodging added.
  • 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.
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 Strong movement. Ditto on Weaknesses. (Improved a bit last version.)
  • Fuatisha - Very strong new bot. Very, VERY hard to beat with my current bot.
  • Assertive - Good, strong bot. Solved.
  • NeophytePRAL - Gotta figure out how to dodge him consistently. (Improved)
  • Moebius - strong movement and an excellent gun
  • The top 10 Micros and strong PM/GF micro bots with variable movement.
  • DosEXE 0.9a - Two bots with same name but different versions entered. My tables cannot cope with this. Optimized a solution for both.
  • 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. 5 in Micro Rumble

Mini and overall aren't real yet.