New Movement
This has been a painful process. I have tried at least 10 variations of my old neophyte movement without any improvement.
I have also tried 4 variations of Yatagan movement, some at a substantial codesize cost, also without improvement. I am resisting copying Yatagan's movement until I can actually make it better, but that is looking ulikely.
Two or three other move ideas also proved fruitless. I even spent a night extending my benchmarking test harness to provide better data on movement performance so I could analyse multi mode options, but that really only told me what I already knew: Yatagan movement is pretty strong...
Somewhere in there, along with the discussion on Talk:Yatagan/Source I found a byte or 3, which is always nice.
But finally in between the caffeine and the sleep deprivation I got a new idea, which now has 5 variants. Two of the variants I might be able to fit in the codesize. Fingers crossed they survive benchmarking. If so there might be a decent new bot in there somewhere.
The new movement has been christened "Adept" and is now being trialled in AralT, AralR and soon in PralDeGuerre. It borrows a few ideas from the Neophyte movement, tries to combine them with some ideas from Yatagan movement and ends up being larger than both and still worse than Yatagan.
Adept is a little disappointing, I had high hopes for it, but in the end it did not quite deliver. Nor did the other 4 ideas I was considering at the time or the 3 new ideas I had since.
Are you sure it isn't just tuning? Yatagan gained a lot just by things like adjusting whether to do Orbit or Oscillate first, and adjusting optimal distance.
Probably not. It is based on the old neophyte move with the addition of orbit/osc stolen from yatagan, so the movent modes it is using are both well established.
And I do actually do a little testing. I benchmark (reporting several different stats) over the full 200+ nanobots and usually do in excess of 30 different combinations of tunable parameters. Fortunately my test harness will take parameters, so at least I can set a batch of tests running and then have a cofee :)
I could always have missed something, but some attempt has been made to tune it.
The bottom line is just that Yatagan movement is very good. Orbit will totally defeat some weak targetting, oscillate will defeat most other weak targetting. Once you have removed the weak ones, what is left is generally random, good or very good targetting, against which random movement appears to be the best answer. Hence Yatagan's success. Neophyte movement, while a good general strategy, is not really all that random since it still triggers on bullet detect, so it is slightly less effective against good guns than truly random movement.
PralDeGuerre with the new move is up to 3rd. PatternAdept (due soon) might make it to 2nd, but neither will catch Yatagan. PatternAdept cannot "borrow" the Yatagan movement, because it already has a pattern gun, so would effectively be the same bot. It remains to be seen if StatMan (in early development) will be strong, but if not then in the end PralDeGuerre will probably have to take the low road.
StatMan did not turn out as well as hoped, so I tried some had tuning of the recorded stats, but that was worse again. I estimate it would have ranked around 10-14, so since it was not particularly good or notably innovative (it was basicly a general purpose rather than opponent specific version of LittleBlackBook's canned guess factors) I have scrapped it.
Currently I am almost finished GridFu my first and probably only nano melee bot. Following that is a probable update to PralDeGuerre (the inevitable theft of Yatagan's movement, it will be interesting to see how my PRAL gun stacks up against the current best pattern gun on a movement-levelled playing field) before moving on to updating my microbots.