[Home]History of StasticalSymbolicPatternMatching

Robo Home | Changes | Preferences | AllPages


Revision 15 . . May 3, 2007 7:29 EST by Ne [Back on topic.]
Revision 14 . . May 3, 2007 5:50 EST by Voidious [more off-topic dodging talk]
  

Difference (from prior major revision) (no other diffs)

Changed: 21c21
If you'd like, feel free to grab LifelongObsession's jar from the repository. It's open-source, so you can see how I *seriously* optimized the computation time of this sort of pattern matching (compared to what you see in SingleTick). It also has a pretty sweet anti-xxx movement system, where you basically just paste in the source of your white-whale, modify here and there, and voila, you kick the crap out it ... but that's off topic ...
If you'd like, feel free to grab LifelongObsession's jar from the repository. It's open-source, so you can see how I *seriously* optimized the computation time of this sort of pattern matching (compared to what you see in SingleTick). It also has a pretty sweet anti-xxx movement system, where you basically just paste in the source of your white-whale, modify here and there, and voila, you kick the crap out it ... but that's off topic ... -- Simonton

Changed: 23,37c23
That's not a bad idea. It may be possible to create different movement profiles such that certain movement types (that do not lend well to pattern matching) can be plugged in. For instance, one could create an anti-antigrav targeting system where the bot takes a simplified antigrav system including the most commonly used variables for attraction/repulsion and as the bot observes its movement, it figures out what those variables are. The only issue I see with all of this, is that random movement will still be an issue because the bot won't generate the same random variables as his target. I certainly will take a look at your bot. If SingleTick got me this far, I can only imagine what I can learn from the tuned version. -- Ne

Oh, no, I caused a little confusion there. The Anti-xxx is *my* movement system. So you plug in the enemy's gun & avoid it (and therefore kick the crap out of it). Plugging in the enemy's movement is a *far* more difficult task, because you'd have to simulate all the variables the enemy takes into account for every tick until your bullet hits, including your own movement. That's why I said it was off topic ... -- Simonton

Ah, I see. Targeting is a precise function of a bot's movement whereas a bot's movement is a fuzzy function of several variables. Essentially you're still talking about targeting but it's virtual guns for you enemies targeting you. If that's the case it may be possible to include targeting "definitions" and avoid bullets based on what definitions the enemy is following. They would have to be evaluated based on the same way my GF gun determines accuracy of its virtual guns. You're suggesting to impliment special virtual guns for bots of xxx name. Wouldn't a really good wave surfer be able to accomplish the same thing? Although... not as easily or as accurately against those certain bots. -- Ne

Wave surfers do that very well against head-on & linear targeting as well as GF guns, but they can't predict PM guns very well. Be careful, you can't evaluate the enemy's VGs the same way you do your own. The only times you know where he shot are when you are hit or onBulletHitBullet?. Then you can evaluate your definition to see if he's following any of them. -- Simonton

Wouldn't it be simplier to adjust your own targeting techniques (in a massive VG array) so that you can use the same functions to target your enemy or calculate how your enemy targets you? Essentially VG array uses the majority of targeting techniques. It should be able to find the most accurate method being used and surf around them. The location of the bullet could be based on the most likely bullet trajectory and the distance that the bot revolves around the bullet would be based on the distance the second/third most likely angles are from the most likely. This should ensure that the three most likely angles are avoided. Again though, you could still plug your problem bots' gun code into the array, use it yourself against other bots, and avoid it almost every time when they use it. I'm definitely going to have to figure out bullet dodging and minimum risk movement. I think that's all my bot is lacking at the moment. It's going to take quite a bit of work to recode my guns to work both ways... but it will definitely be worth it. Super-duper-wave-surfing Here I come! -- Ne

You could certainly simulate enemy targeting algorithms, try and figure out which one is closest to what he's doing, and surf the angles generated by your simulated algorithms. (I think I actually made a poor attempt at this long before Dookious was a contender.) However, I'd say it's extremely likely that you will get much, much better results with the traditional method of surfing, in which you are dodging what angles the enemy is aiming at (updated when he hits you) in different situations. In a way, it's almost like a more abstract way of doing exactly the kind of thing you're talking about.

There is also CurveFlattening, in which you also (or instead) update your stats when you don't get hit, to simulate the enemy's learning process and randomize your movement even when you're not getting hit. Many expert movers turn on CurveFlattening if they are getting hit a lot, but it can really blow your scores against lesser bots, since you're kind of "corrupting" your dodging stats. (Way off topic now, maybe we should cut/paste this discussion elsewhere. =))

-- Voidious
Got off topic from here, moved to Chimera for the sake of keeping me sane. -- Ne

Robo Home | Changes | Preferences | AllPages
Search: