Genotype encodings

The Framsticks simulator supports various genotype formats. A "format" is a language you can use to describe creatures. The properties of this language are extremely important from the viewpoint of evolution. If you are a beginner with Framsticks, it is suggested that you read about the f1 format first.


f0 A low-level format which allows for building any creatures (least restrictive)
f1 An easy-to-use recursive language
f4 Describes the way of growing an organism (developmental encoding). Learn about f1 before reading f4
f2 Describes how parts of an organism are joined
f3 Describes rules of development, not the organism itself
f5 Describes "chemical" rules of growing
f6 Describes growing metabolism
f7 Accepts any string of symbols, a "messy" genome
f0Fuzzy Used for the evolution of fuzzy control systems embedded in f0 genotypes (see this paper and this movie)
... other encodings are easy to add


The "Comparison of Different Genotype Encodings..." scientific paper contains more formal and detailed description of genetic formats, their properties, and mutation and crossover operators.

If you enter a genotype, you have to indicate its format. If it is, for example, f4, you should start the genotype with /*4*/ prefix. For multiline genotypes (like f0), you can also use another style for such a prefix: //0. If there is no format prefix, f1 is assumed.

Although some genotype formats may look complicated, they are easy to learn. Just open the "new genotype" window and experiment with genotypes. You can enter anything valid and get an immediate preview! Select genes to see which creature parts are created by these genes. Click on creature parts to see which genes created them.