LibFreetures

libFreetures is a free library by Geat_Masta that provides functionality for Creatures-like biochemistry, neural networks, and genetics. The library is written in C so that it can be easily linked into any existing game engine, and consists only of those parts so that it is easy for other developers to pick up on and run with it.

Features
Chromosomes: each creature has 2 sets of chromosomes that crossover during mating before being passed to the child. This prevents bugs like slider syndrome because the chromosomes guarantee mating will happen correctly even in disparate genomes.

This is further guarded against by Diploidy: each (first generation) creature has 2 of each gene, although how the library decides what to do with both varies depending on the gene, this allows mutation to be more aggressive than in the original game, because any mutations that would have been lethal are dampened by the set of chromosomes from the other parent.

XY sex determinism and WZ sex determinism, rather than setting genes to only be active for a certain gender the system uses more natural sex determination systems.

Enzymes and Catalysts: chemical reactions have been expanded to 4 reactants and 4 products, which allows for more complex catalyst behavior, this is further augmented by the system more intelligently determining the rate value for the reaction, and the behavior of reactions now correctly matches the Michaelis–Menten kinetics of the real world.

Receptors have had the ability to regulate reactions removed, because this produced biologically inaccurate reaction kinematics.

Neural networks have been improved with the ability to record sequences of actions.

Catalogue and Genetics files are written in a modified JSON, which has comments and other features added. Each of the genetic keywords is looked up in the catalogue to determine the symbol meaning, (translation: genetics files can be written in any language if the symbols for that language are in the catalogue).

Geat_Masta is currently building Kreatures, a custom game engine meant to utilize libFreetures.