Stop and Go
Hi, I was comparing my robot to Cotillion and EpeeistMicro, and I noticed that my robot gets consistently worse scores against head on and linear targeting bots then the other stop and go bots do. Basilisk gets around 75 - 90% on the simple targeters, while Cotillion and EpeeistMicro get around 90 - 95%. I use Cotillion's formula for the stop and go movement calculation, so I don't know what it is about my robot's stop and go that makes it worse than the others. Could someone take a look at my code and tell me what makes it worse than the other stop and go robots? Thanks!
I posted the code on Basilisk's page so if you want to take a look you don't have to download and extract my robot. Thanks again!
I haven't looked at the code, but my guess is your distancing is trying to get away too quickly/steeply, so you sometimes aren't moving a big enough angle laterally to get out of the way, especially with smaller bullet powers.
The other thing might be that you have false bullet detections.
Hmm, I tried moving around with the movement lateral angle set to 0.3, 0.4, and 0.45, but it didn't seem to do any good. However, I did notice that every so often, Basilisk didn't move when a bullet was fired. I think I will tackle that problem when I have more time this weekend =) Also, it seems my robot gets rammed a lot more often then Cotillion and EpeeistMicro. Against Dalek, approximately every 10 rounds Dalek runs into him, but Cotillion and EpeeistMicro never seem to have this problem. Maybe I'll add some anti ramming code later =) Thanks for the help!
The code seems identical but I have noticed some randomized direction change in Basilisk. It might also be that it gets activated when it's not supposed to.
Sounds like some bugs or missing factors in the enemy energy tracking.
I don't think so, it both counts hit bullets and energy gains in the bot. Maybe try printing different movement modes on the console to see if they are being switched abnormally?
Maybe I should move the stop and go into the onScannedRobot event instead of its current goTo void. Currently I am using prevEnergy > enemyEnergy, with enemyEnergy being called every tick and prevEnergy being called right after moving. If I move it into the onScannedRobot event, and use prevEnergy > e.getEnergy(), do you think that would fix some of its problems? Thanks!
As long as you are checking if delta energy is between 0.1 and 3.0 there shouldn’t be any problems. I think that your current system of upgrading enemy energy is working but I’m not sure.
Currently I am just checking if the energy drop is greater than 0.1. I'll add a 3.0 segment later to fix that up. By the way, congratulations on Partial getting #23! The race is neck to neck =)
- Oops, you might want to use 0.099 < e < 3.01. Sometimes energy 3.0 and 0.1 won’t be detected.
- Partial is using Simonton’s PM Gun so there is a lot to improve. You might have noticed its low Pwin. I am prettt sure Basilisk will enter top 20 when the bug is fixed though.