which of the two surfing styles is easier to implement? --andrew
I think they are about equally easy to implement. Or equally hard I would say. At least it wasn't easy for me. But then I had decided to fit it in a MiniBot directly, which might have done things even more bug prone... The techniques RaikoMX and Pugilist uses to check the bins are a bit different too. But they could switch those and still use their choosen surfing style. I have no math training at all so I went for the iterative technique. In a MegaBot I could fit much more accurate extrapolation of my current movement. I'll maybe try that next. -- PEZ
Yes, 'easy' doesn't really apply to WaveSurfing I think. The least difficult way would probably be to use AntiGravity. It would simplify a whole range of issues, and should be fairly effective. -- Jamougha
that's what fusion is going to do i think...once gu gets the bug out.--andrew
This is also what Aleph does. Just because I allready had all the work done in GlowBlowAPM if it comes to calculating the FuturePosition (if you want to make this thing as accurate as possible). -- rozu
I finally got around to implementing this in Druss. What I do is, for each time I see a new wave, have my precise prediction return an ArrayList of points that it visits, and I evaluate each one according to the normal algorithm used in TrueSurfing. I then set a Point2D.Double in the enemy wave called safePoint at the safest of all the predicted points, and each turn I just say goTo(surfWave.safePoint);. I'm getting over 99% over 35 rounds agains HawkOnFire, and around 98% against DoctorBob (no firing!). Best of all: it's FAST!. So now I can put about 42 guns in here, and still not skip any turns =). -- Skilgannon
But i think this method will get slow if you want to surf multiple waves (at least as slow as the traditional way). --Krabb
I still don't get how surfing multiple waves will help. Then again, I hate stats, and haven't covered any in school, so that's probably just me. From what I understand, you just go to the safest place in this wave. Deal with the next wave when we get there, kind of thing. Trying to surf later waves could screw up where the safest place is for this wave, and you might slow down, or stop, in a dangerous place.
However, using Goto gives me an advantage: I am stopped when the wave passes over me, ALWAYS. This reduces the possible places my bot can be hit at, because I'm not moving as the bullet passes next to me. The disadvantage is that my maximum guess factor is reduced a bit, but it's all tradeoffs =) -- Skilgannon
Surfing multiple waves will help when bullets of different power are fired, usually during the endgame. It may happen that two bullets will arrive at (almost) the same time, so you won't have time to surf the 'second' wave. Also, the second wave usually is weighted less, according to distance or time-to-arrive, so it will have just a minor influence. As for being stopped when reaching the 'safe place', my implementation (which is still not ready yet) will adjust the botspeed to arrive at the safe spot as the wave will hit, so the bot will still have a velocity. -- GrubbmGait
Surfing multiple waves does more good than that. It handles the situation like "what if a slightly worse position on the next wave will allow me to get to a much better position on the second and third". WeeksOnEnd surfs X ticks forward, and speaking from experience, its performance noticeably improves as X increases. -- Simonton
The way I see it, TrueSurfing will get to the same spot on wave 1 as go-to surfing and it can account for multiple waves without being crazy slow. Sure the first wave is the most important, but in those last few ticks surfing a wave, anything you do might land you in an equally safe spot, so why not account for the next wave and start surfing it too? Anyway, glad to hear you are having success. Surfing one wave perfectly (i.e., bug-free) would be a powerful movement no matter how you do it - as long as you do it right.
One other thought: I'll put my two guns in Dookious up against your 42 guns any day. ;) Just kidding, but what I mean is that one good gun is usually better than lots of decent guns, so you might reconsider simply stuffing tons of guns in your tank and focus on tuning one of them.
Yeah, but remember, different types of guns hit different movement better. A pattern matcher will hit a double-oscillator style movement better than either of your GF guns, for example. And 42, well I figured that is the answer to LifeTheUniverseAndEverything?, so it is a good number. =). I'll tune each of them against a certain type of movement, and that type only, and then let VG decide what to use. Imagine a combination of NT, GF, PM and DC, all on top of a bug free movement. THAT is my goal. =). -- Skilgannon