More tests are needed, but I think the Missile fitness is messing with selection too much and preventing flying machines from emerging. I'm doing tests right now of pure fly fitness but with the missile block set to see how hard it is for flying machines to emerge. It can take a while.
I might just need to let evolution run longer, which I thought I had ruled out. However, here is another option:
In a multiobjective setting, define missile fitness so that it is always 0 unless the machine is flying. Note sure how hard it will be to detect that information across fitness functions, but the idea of treating missile fitness as 0 until the machine flies should at least encourage flying machines as quickly as having no missile fitness at all.
More tests are needed, but I think the Missile fitness is messing with selection too much and preventing flying machines from emerging. I'm doing tests right now of pure fly fitness but with the missile block set to see how hard it is for flying machines to emerge. It can take a while.
I might just need to let evolution run longer, which I thought I had ruled out. However, here is another option:
In a multiobjective setting, define missile fitness so that it is always 0 unless the machine is flying. Note sure how hard it will be to detect that information across fitness functions, but the idea of treating missile fitness as 0 until the machine flies should at least encourage flying machines as quickly as having no missile fitness at all.