Closed schrum2 closed 2 years ago
Whenever a piston is extended, but there is no block being pushed with it, its fitness score is 0, since it gets read after the piston pushes out. This is not the case for when there is a block getting pushed by the piston. This is weird behavior, but we're still achieving oscillation easily enough, so we'll leave it be for right now.
Add several simple tests that do not involve any actual simulation in the mine craft world. All they do is check/confirm the value of the maxFitness method, but there will be several tests because you will change the parameters to check several conditions. Try with minecraftAccumulateChangeInCenterOfMass set to both false and true, with different values of x/y/z range, and with different values of spaceBetweenMinecraftShapes
I made some massive changes to this fitness function again which should improve its reliability. Now, the function always has access to the original block list before spawning them in the world, at which point they could immediately move. We actually have a correct starting point. This required me to change/fix some previous tests, but they are more precise and reliable now.
I still want more tests of the maxFitness. testMaxFitness
now exists and has one test in it, but add several more, as described by me through the voice of Alex above.
I have created several tests for max fitness with a variety of parameter combinations.
Large variety of simple tests.