LittleBlackBook

From Robowiki
Jump to navigation Jump to search
LittleBlackBook
Author(s) Miked0801
Extends AdvancedRobot
Targeting Guess Factor
Movement Stop'n'go, Ram, & Random
Released June 14, 2009
Current Version 1.0
Download

Background Information

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?
#2 in Nano Rumble
#17 in Micro Rumble (next nearest nano is 16th)
#39 in Mini Rumble (next nearest nano is 33rd)
Overall rumble isn't real yet as I haven't tabled the additional 300 bots - yet. I probably won't be able to fit them either without going over 200k in size.

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.
  • Excellent 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 Advanced bots.
How does it fire?
String based Guess Factor segmented heavily by distance, 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 0.1-3.1 units. 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?
  • Begin considering using what I've learned to make a strong Micro Bot.
  • Micro Crown. Maybe, just maybe will be able to get there. Just 1.5% APS away right now.
  • Investigate Lateral velocity GF inclusing and better dodging. Have room, just need to make it fit within 200k of overall table space.
  • Add all other rumble bots for improvements outside of the nano land or at least up to the minis. (Minis 100% complete, but they need some tuning.)
  • Perfect PL Score Nanos. Fuatisha is the only sticking point now.
  • 2K Club - both ratings in Nanos. Heck, getting 2K in both puts me within shouting distance of the 2100 club for Glicko.
  • Get above 80% APS in Micros.
  • 2K Glicko Nanos.
  • Top 5 Micros (and perhaps top 3)
  • Spend 6 bytes or so to get started before the enemy shoots for a small score boost. (Doesn't work)
  • 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 80+ 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 movement 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. Also, bots with top notch guns will beat me.

Here's the current, updated list:

  • Fuatisha - Very strong new bot. Very, VERY hard to beat with my current bot. 49% is the best I've done...
  • MosquitoPM - Strong gun and decent movement. I get around 52% right now, which is within Standard Deviation of failing
  • The top 10 Micros and 20 or so Minis.
  • NeophytePRAL - Gotta figure out how to dodge him consistently.
  • Moebius - strong movement and an excellent gun - Solved
  • Neophyte Pattern Strong movement. Ditto on Weaknesses. - Solved
  • 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 blog about this bot on the discussion page.