Archived talk:User:Nat 20090406
Just wanted to say welcome, and glad you're already making yourself at home. :-) Best of luck with your bots! --Voidious 21:59, 3 January 2009 (UTC)
Thanks, Voidious for your warm welcome! Therefore, I think my robots have the best luck already :) (How many time you see 3-months-experienced robocode programmer has his robot in top 10?) --Nat 07:51, 4 January 2009 (UTC)
Melee wavesurfing
In reply to your question:
I think I must keep track of enemy gunheat instead of energy drop. I also think that TrueSurf is impossible for extend-robot so I ''must'' use goto-style surfing. Anyone have idea?
Here are my thoughts:
In some ways, I would say the challenge is similar to that of melee wavesurfing which I've been thinking about, because in both you cannot keep a constant radar lock. I'd agree that you need be tracking gunheat in order to get reasonable precision with it. Here's the way I'd do it:
- Every time you see the enemy, do energy based calculations to see if they've fired since you last saw them, and if so, how powerfully they fired.
- Use gunheat tracking which presumes they always fire as soon as possible, in order to estimate WHICH tick tick they fired on and place the wave accordingly.
- In the event that they don't fire between times that you've seen them and their gunheat is 0, then your gunheat tracking data for the next time they fire is invalid for sure, and you'd either have to presume they fired in the middle of the time you didn't see them OR start making waves for every tick they could have fired during. Generally, this would not be an issue because this would only happen if they stopped firing.
- To know where they fired from you need to use interpolation of their location of course
That's the approach I'd take to melee/extend-robot wavesurfing anyways. Really, I'd say the only difference between melee goto wavesurfing, and extend-robot wavesurfing, would be that the extend-robot also wouldn't be able to turn while moving forward or scan while moving. The basic challenges in the algorithm seem the same to me.
--Rednaxela 21:14, 4 February 2009 (UTC)
Well, I think melee wavesurfing is too hard ;) I had seen melee wavesurfing challenge, and I saw that almost index is under 1! Turning doesn't take too long if velocity is zero but I must have a very unique precise predictor. In order to get enemy fire time if his/her gunheat is still zero, I think I'll use statistic-base algorithm. I also think that some bot doesn't fire until its gun correctly aligned. I think I must use the onHitByBullet plus some enemy gun projection in order to place wave correctly. Here are some more of my ideas for it (which can add to your above):
- Don't remove waves until it fully out of battlefield.
- If you get hit by bullet, calculate how many tick it flight and set new gunheat.
- In a rare case of 2 bullets were flight during missing scans, I don't know how to do!