I think this algorithm looks great and is important progress, as it is fundamental to Thrive (which you noted in the post). My current largest concern is that this evolution algorithm has no evolution, i.e. its species’ characteristics are static. As you noted, however, that will be addressed in a future rendition, so my concern is moot.
I wonder how the algorithm will handle creatures in different media. Swimming, running, flying, burrowing, etc. require different adaptations. The algorithm, of course, will need to be very general in order to accomodate all in-game environments (including ones dynamically produced by the game, presuming that will someday be possible). As such, the algorithm probably shouldn’t have a section where something too specific is calculated (e.g. wind speed), as that would only be applicable to some organisms and result in unused calculations for many organisms. This algorithm will be the law of evolution in the Thriverse, and it I think it should avoid being like Napoleonic law (i.e. making separate and specific laws for every situation instead of vague laws that can be broadly applied).
An animal with only flippers and no legs should not do well on land, and the algorithm needs to be able to simulate that without knowing about land or flippers. I suppose a general stat called “movement speed” could be introduced, but even that would be needless for sedentary organisms. Autotrophs don’t need to move to find sustenance (excluding minor movement like a sunflower turning to face Sol), while heterotrophs must move. How can an algorithm be made that accomodates both groups while minimizing needless calculations? Also, whenever categories are made, exceptions usually appear. A venus flytrap, for example, both photosynthesizes and catches prey.
I have no answers to the ideas I am presenting; these are merely thoughts I had while reading the thread. I have not thought of a way to write such an algorithm, but I am at least certain that it should be as general as possible in order to create complexity via emergence, not scripting.