Also some deep enough model can learn how surfers (without flattening) "surf" hits, just like networks like "Deep Interest Network" used in CTR. However our current use of KNN allows nothing like this. Maybe some end-to-end approach exists for robocode scenario.
Yeah, I also tried a purely NN gun and didn't get great results. You can train a NN offline to really high accuracy against random movement bots, but online it's much harder because data isn't iid.