Tough to beat

Fragment of a discussion from Talk:ScalarBot
Jump to navigation Jump to search

Or, can we partition all guns (without VG array) to three types — non-learning guns, statistical guns, and pattern matchers? HOT, LT, CT would fall in the first type, and Traditional GF guns the second type. Pattern matchers obviously the third type. And a highly segemented GF gun, or a DC gun, would then be something between statistical guns and pattern matchers.

For non-learning guns, the bearing offset they are firing at remain a constant at each situation, and hard code a bunch of them is also easy.

Statistical guns learn slowly, and for a given situation, their firings keep the same for a period of time. Also, they tend to fire at past firing angles, the more they fired at a given angle, the more likely they will fire at that angle in the future.

Pattern matchers are unpredictable, unless you know their exact settings. The only thing you can do is to be unpredictable as well, and add some noise in your movement.

The main stream wave surfing is mainly assuming something simular to statistical guns. They keep track of enemy firings, then dodge them deliberately. Recorded firing angles are often weighted on frequency & elapsed time.

This approach works very well against statistical guns, and it's also good for dodging non-learning guns without VG array. However, its gain is also its weakness, e.g. pattern matchers work well, not to mention lightly segmented fast decay gun.

I think it's not hard to separate a non-learning gun from everything that learns, however, a statistical gun can not be separated that well from pattern matchers. Anyway, hit rate is always some good criteria, although maybe not the best.

Apart from enemy hit rate, another approach may be using a bunch of buffers (or trees), some keep tabs on hit, some keep tabs on visit. And as a criteria, not only use buffer "hit rate", but also miss rate, as miss rate is what affects enemy hit rate the most. And this is mostly what tomcat does.

Xor (talk)13:33, 14 September 2017