Bot Name
Opposite
Author
Starrynte
Extends
What do you think?
What's special about it?
FluidMovement, a nano (246)
Great, I want to try it. Where can I download it?
https://www.robocoderepository.com/BotDetail.jsp?id=3570
How competitive is it?
We'll see once there's stable rankings
How does it move?
See above
How does it fire?
Infinity-like gun
Well, by moving back and forth somewhat randomly while staying perpendicular, I hope it dodges bullets semi-decently.
How does the melee strategy differ from one-on-one strategy?
It's melee. Don't use it in 1v1.
How does it select a target to attack/avoid in melee?
If enemyscanneddistance < targetdistance + 150
What does it save between rounds and matches?
Nothing.
Where did you get the name?
The movement...
Can I use your code?
No, but I am willing to release code snippets from it
What's next for your robot?
- 1) Adding some wall avoidance. At the moment all it does is bounce off them, which occasionally traps it in corners
- 2) Better radar than setTurnRadarRight(Double.POSITIVE_INFINITY);
And always, always shrinking the code!
Not yet
What other robot(s) is it based on?
tobe's idea of
FluidMovement, which is used in
Neptune
Comments, questions, feedback:
You may want to make that "how does it choose a target"
if (enemyscanned < targetdistance * 1.2)
. --
Simonton
- Oops typo, i meant if(enemyscanneddistance*0.8<targetdistance). Thnx for pointing that out. --Starrynte
- If enemyscanneddistance is the distance to the bot you just scanned and targetdistance is the distance to current target, I think your original code was right. But maybe your variable naming conventions are different than mine would be... I'd generally want something like, "only switch targets if the new target is 20% closer", not "switch as long as new target is no more than 20% further away." -- Voidious
- In my code i have enemyscanneddistance*0.8<targetdistance. Simonton's post just alerted me to the typo. --Starrynte
- You are not a nano writer, my friend. It costs a lot to know whether the current scan is the same bot you targeted before OR 20% closer. -- Simonton
- Ah right, you silly NanoBot guys! So the idea here is just to avoid targeting bots that are super far away, more than trying to actually pick the single best target? -- Voidious
- You got it. This will degrade your performance when the 2 (or 3 or 4) closest bots are all within 20% of the same distance from you, but that may well be a price worth paying. -- Simonton
- So you mean I don't have to check whether the enemybot is the current target if i use your code...? --Starrynte
- As far as I'm concerned you never have to, as long as you're competing against my bots :P. --Simonton
I'm looking for a way to code in some WallAvoidance with 40 bytes...I'm using the 'bounce off' way right now but it seems to trap itself in corners...Oh, btw, the current WallAvoidance / RobotAvoidance simply checks if getDistanceRemaining?()==0 and if it does reverse direction...which is why it traps itself in corners... --Starrynte
- Hmm ... that's a little tough. One thing is to put in some distancing code that prefers a semi-close range, therefore drawing you out of the corners. But then, you have to want to fight close for that to work ... --Simonton