Welcome to the Creatures Wiki! Log in and join the community.

Difference between revisions of "LibFreetures"

From Creatures Wiki
Jump to navigation Jump to search
m (Fix typo)
Line 1: Line 1:
 +
'''libFreetures''' ( https://github.com/pdJeeves/libFreetures ) is a free library by [[Geat_Masta]] that provides functionality for ''Creatures''-like biochemistry, neural networks, and genetics.  The library is written in [[wikipedia:C (programming language)|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.
  
libFreetures[https://github.com/pdJeeves/libFreetures] is a free library by [[Geat_Masta]] that provides functionality for creatures-like biochemistry, neural networks, and genetics.  The library is written in [[wikipedia:C (programming language)|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==
  
Features include:
+
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.
  
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 [[Diploid]]y: 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.
 
 
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.
 
  
 
[[wikipedia:XY_sex-determination_system|XY sex determinism]] and [[wikipedia:ZW_sex-determination_system|WZ sex determinism]], rather than setting genes to only be active for a certain gender the system uses more natural sex determination systems.
 
[[wikipedia:XY_sex-determination_system|XY sex determinism]] and [[wikipedia:ZW_sex-determination_system|WZ sex determinism]], rather than setting genes to only be active for a certain gender the system uses more natural sex determination systems.
Line 18: Line 17:
 
Catalogue and Genetics files are written in a modified [[wikipedia:JSON|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).
 
Catalogue and Genetics files are written in a modified [[wikipedia:JSON|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.[http://creaturescaves.com/forum.php?view=12&thread=6588]
 
 
[[Geat_Masta]] Geat_Masta is currently building [[Kreatures]], a custom game engine meant to utilize libFreetures.[http://creaturescaves.com/forum.php?view=12&thread=6588]
 
  
 
==See also==
 
==See also==

Revision as of 11:49, 20 February 2017

libFreetures ( https://github.com/pdJeeves/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.[1]

See also

External links