A
NanoBot version of the
SandboxFlattener movement. It's open source, and if you can't figure out what it's doing from the code, you're slow ;-) (just kidding) Similar to
FloodMicro without any distance control, minimum time for a movement, or other 'fancy' stuff. It also doesn't track its opponent's energy as closely. Just the raw, basic idea I had for the movement originally, maybe with the benefit of tweaking from past implementations of the movement.
- V. 1.0 - first version - I don't consider NanoBots to be in beta.
- May 5th - Surprised it started the EternalRumble as low as 107th place. But, in doing that, it beat Dalek 0.97 (However it managed that) and roughly tied SandboxMini - note that they are two of the better statistical-type targeters that are just the sort I'm trying to dodge with FloodNano. However, he lost to several less competitive robots.
- V. 1.1 - fixed a wall-avoidance bug that Rozu identified in one of my other bots. One advantage to making them open-source :-)
- Placed 63rd among NanoBots in the MiniBot Challenge 20030525. It just pretty much lost a lot to the other Nanos, including Moebius but it beat HaikuCrazy?! :-P
- V. 1.2 - squeezed the code a bit and made the movement more like FloodMicro's. Also added random aim.
- Actually qualified for the MiniBotChallenge Grand Final! :-) It was one of the three robots that didn't use pattern-matching that made it into this contest. Of course, it got 2nd to last once it got there :-p
- comes in 117th at the ER. I think the movement has room for improvement, and maybe it does, too. But relative to other bots around it, it was actually a slight move up in the standings.
What's special about it?
It's really small (249 bytes) and hard to hit consistently. Just ask
NanoSatan.
Great, I want to try it. Where can I download it?
https://www.robocoderepository.com/BotDetail.jsp?id=1421
How competitive is it?
I think it will do ok, not meant to be super competitive. My guess is that it will compete similarly to
FloodMicro, and maybe do better against a few robots, but in general be less effective. Neither is currently good against bullet-dodgers, and both have the weakness of no intuitive aim, rather just a flawed
HeadOnTargeting strategy.
How does it move?
Uses
SandboxFlattener movement, in its simplest and purest form. Every time it detects a bullet fired, it does this:
currentVBound = Math.random()*20;
currentDirection = (Math.random() < .5)?-40:40;
and its run loop has this in it:
setMaxVelocity(currentVBound);
if (I'm going to hit the wall soon)
currentDirection = -currentDirection;
setAhead(currentDirection);
execute();
Sounds simple, right? That's all I've been doing for the last month, pretty much (well, that and finals).
How does it fire?
When it sees the opponent, it shoots at it, with a random offset. Nothing fancy. Makes it loose to
TheArtOfWar and most of
iiley's bots.
It reacts to bullets by changing direction. Where
FloodMicro and other robots with similar movement don't react to bullets being fired for a while after changing movement,
FloodNano reacts to every single bullet (had to cut some extra code down somewhere, right?
How does the melee strategy differ from one-on-one strategy?
It's strategy in
Melee is to get hecka-confused.
How does it select a target to attack/avoid in melee?
Dumb luck I suppose.
What does it save between rounds and matches?
Nothing on purpose, but I suppose it keeps its speed and direction intact because they're static.
Where did you get the name?
Same as
FloodMicro, but smaller.
Can I use your code?
If you feel like it, a few other robots have (although I wrote it into most of them myself).
What's next for your robot?
I don't know, probably nothing for this one, but that's what I thought for
FloodMicro, too. Hopefully finish
FloodHT and maybe make a
FloodMini to finish the family. Well, it wouldn't be finished unless I were like David Alves and also made a FloodNanoMelee
? and FloodMicroMelee
? and FloodMiniMelee
? and FloodHTMelee
?.
haha, how about
Walls. Or any robots that dodge bullets shot straight at them.
What other robot(s) is it based on?
FloodMicro,
SandboxFlattener (the test robot), the eventual
FloodHT
Comments, questions, feedback:
Ouch, trying to hit that is no fun. So far the only reason I'm not totally depressed by NanoSatan's performance against it is that a: the move is meant to foil this sort of matching, and b: FloodNano can't shoot back a whole lot better. Let's hear it for a gun versus a movement system ;) -- Kuuran
And we see that the movement is both simpler and more important! Q.E.D. :-P In reality, though, FloodNano's movement isn't meant to foil pattern matching. That's merely a side effect of movement that is random in reference to aiming. It was meant to beat GuessFactorTargeting. -- Kawigi
Not with the dev NanoSatan :P Hehehe... anyway, yeah, well, if it foils GuessFactor by eliminating patterns in it's movement it'll do decently against pattern matching ;) Anyway, it's one scary nano, congrats. -- Kuuran