Atleast now you can see why I was going crazy saying that we need a better mutations code and stuff
I would agree that it needs to be refined some and possibly improved a little but I still say that essentially it all works fine.
With your start bots, it isn't that they never develop turning abilities. I have seen several do so. The problem is that these mutations are very quickly killed by the other bots in the sim.
They have a very distinct evolutionary disadvantage. based on the parameters of the sim
I set up the program using scripts to pause the game and highlight the bot whenever one of them developed an aimsx or aimdx command.
Quite a lot did but they all died within seconds when they started crossing the lines of fire of all the other parallel bots.
The problem with DB is not the mutation code.
The problem is with the complete and utter lack of any kind of variability in the DB universe. In a universe where a bot can cross the whole screen in a matter of seconds and settings where straight liners can survive, (ie loads of veg) they very quickly become parallel as one directional strain becomes dominant. Did you notice that at first they are going in all directions? At this point evolution strongly favors conformity. Any deviants are quickly destroyed.
Again
NOT a problem with mutation but actually a very good demonstration of a bot adapting perfectly to an environment and then sticking to it. Evolution at its best.