:D

Jump to navigation Jump to search

Interesting approach! I had a similar idea around multi-bot targeting in Neuromancer where I do an XOR instead of simple OR because the bullet can only hit one of the potential enemies. I think this idea might have some real potential - although I think maybe using fire-only waves might get you even better scores against a lot of enemies and their anti-surfer guns.

You can be sure that there will be some experiments with DrussGT in the not too distant future =)

Skilgannon (talk)17:41, 21 October 2017

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Users.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page.

Return to Thread:Talk:ScalarBot/Version History/:D/reply (7).

Another possibility why fuzzy AND works is that it simulates enemy data decay better, since they are decaying on visit, not hit. This way, I would not be dodging out dated data which reduced my movement options and therefore increase predictability.

If this is true, then why this doesn't work against weaker guns may be that the tick flattener is simulating the decay rate of strong guns, not weaker guns.

IMO The reason why OR approach doesn't work is that when you are already doing better than perfect random movement, being flat actually decreases your score. And unless your segmentation and decay matches them perfectly, you will end up a) dodging some bullet they will fire in the future — and making them not firing at there by avoiding there; b) dodging bullets that already hits you, this won't further help as well.

Xor (talk)02:13, 22 October 2017

So I did some quick experiments doing this with DrussGT and I saw a significant performance decrease. However, I think I'll need to re-tune the bandwidth / smoothing kernel, since now that it is effectively being squared it is much narrower.

Skilgannon (talk)10:39, 22 October 2017

Another thing is that my tick flattener decays very slowly, maybe that is also important for this to work :|

Xor (talk)11:29, 22 October 2017
 
 

note that the two trees in 0.012n2 are using exactly the same formula and same decay function. But using different formula and/or decay may work as well.

Xor (talk)02:16, 22 October 2017
 

Well, I think this approach first helped me against their Main guns. Then, as unpredictability improved, their AS guns also have some trouble hitting me. Anyway, adding virtuality dimension may further help ;)

I've also been thinking about simulating the fact that bullets can only hit one enemy at a time. But what I came up with is to use max(enemy1, enemy2) instead of enemy1 XOR enemy2, since when I have 50% probability hitting enemy1 and 75% probability hitting enemy2 at the same bearing offset, I'll end up 75% probability hitting an enemy, instead of 125% ;p. Anyway, by XOR, do you mean to do some max - min? Or "enemy1 + enemy2 - 2 * enemy1 * enemy2" like fuzzy XOR?

Xor (talk)01:51, 22 October 2017

Your formula for the max(enemy1,enemy2) is incorrect. Given your example of 75% and 50%, if you miss the first one then you still have 50% chance of hitting the second one. You don't add them to get 125%, instead it is P += Pn * (1 - P) so you get .75 + .5*(1-.75) = .875

This is what I'm doing in Neuromancer. I guess it isn't exactly an XOR, but it does take both the hit probability and the miss probability into account correctly for multiple enemies.

Skilgannon (talk)10:33, 22 October 2017

Well, your formula is correct. I just forgot the chance after the first miss ;)

Xor (talk)11:27, 22 October 2017