I am using JGAP with some simple platformer game API to create artificial players.
I created a bunch of CustomGenes similar to the ANT map example.
As finding good solutions for such a complex space is quite tricky (or I am not clever enough) my list of CustomGenes is 21. The Genes return either boolean, void, or integer values depending on their function.

I now run into issues that the CrossOver seems to generate invalid trees by adding a subtree returning the wrong value.

Is there some logical error in my idea of having multiple return types?

My main problem is that this happens at random points in time and I never manage to get beyond a couple hundred generations which is do need.

Hope anybody has an idea.