Lib

From Robowiki
Jump to navigation Jump to search
Lib
Author(s) Kawigi
Extends AdvancedRobot
Targeting Head-On Targeting
Movement Corner Movement, Pattern Movement
Current Version 1.0
Code License Public domain
Download

Lib is my melee nanobot (I never thought I'd get one that worked well...), named in the tradition of my other recent melee minis, Coriantumr and Shiz. Of course, Lib was nowhere near as glamorous as Shiz and Coriantumr, more of an also-ran, but he's still significant. Shiz probably wouldn't have persisted in battle with Coriantumr and their civilization might have been saved had it not been for Shiz's vengeance at Coriantumr for killing his brother, Lib.

Background Information

What's special about it?
I think it's the first nano with really complex corner movement. Previous melee nanos with corner movement have either just oscillated between two points or done a box shape or something, this one can use arbitrary sets of points.
How competitive is it?
In the very early days of RoboRumble, it ranked at:
  • #1 (1650 Elo) in NanoMeleeRumble
  • #3 (1613 Elo) in MicroMeleeRumble
  • #9 (1630 Elo) in MiniMeleeRumble
  • #23 (1612 Elo) in General MeleeRumble
Nowadays, it's still #3 in NanoMeleeRumble...

Strategy

How does it move?
I wish it could fit Minimum Risk Movement like my other melee bots, but this movement was more created because it was driving me nuts how well that silly melee movement in SandboxLump worked, even if it rams into robots that got in its predefined path. I figured that such a movement could also be put into a nano (David seemed skeptical but didn't rule it out), and I did it. It moves in a corner in this basic pattern:
2
4     5
7
1  3  6  8
The movement is basically symmetrical, because I was originally going to use the same set of coordinates in reverse order for the x and y coordinates. It turned out to be smaller to index them the same way and have separate coordinates, so that's what I do now, but I never did find a combination that worked better than this, at least against melee nanos.
How does it fire?
Fires head-on, normally at the closest enemy. After it fires, it basically lets its radar slip so that it is more likely to notice an enemy getting closer to it than its current target.
How does it dodge bullets?
Lib just sort of gets into its corner and hopes that no one will shoot at it. But it moves around in the corner, too, just to make sure.
How does the melee strategy differ from one-on-one strategy?
It's the same either way, although it will favor that bottom-left corner if the battlefield is smaller than 1000x1000.
How does it select a target to attack/avoid in melee?
It uses the infinity radar lock to usually pick the closest, and then lets its radar slip when it fires so that if there is someone it's not seeing, it might see them and choose them instead.
What does it save between rounds and matches?
Nil.

Additional Information

Where did you get the name?
Name of the brother of Shiz who was killed by Coriantumr when he tried to take power.
Can I use your code?
Eh, go for it. Completely open, I don't even think it's worth putting under the QKPL, even if it may be the best nano melee bot to date.
What's next for your robot?
Eh, I don't know, finding some bytes to guarantee that I'm firing at the closest enemy would be nice, or maybe finding a movement pattern that works better.
Does it have any White Whales?
It was tested to beat current melee nanos, like DuelistNanoMelee, Infinity, and Gem.
What other robot(s) is it based on?
Hard to say. I suppose in a way it's based on SandboxLump, simply because that's why I made a corner movement in the first place, but it's not the same corner movement (one more similar to SandboxMiniMelee is commented out in the source if you want to try it, it didn't work as well against the nanos, so I took it out), and I didn't use any actual code or anything else from it. In fact, codewise, it's more like NanoLauLectrik :-p.