[Home]FloodNano

Robo Home | Changes | Preferences | AllPages

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.

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?

http://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.

How does it dodge bullets?

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?.

Does it have any WhiteWhales?

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


Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited May 5, 2006 10:21 EST by Florent (diff)
Search: