Genotype (format f1)

Creature body

Two basic symbols are:

  • X – stick,
  • () – branch.

    The body structure is built like a tree: new sticks are joined with ends of the previous ones.

  • X(X,X) means two sticks from one-stick root,
  • X(X,X,X) means three sticks from one-stick root,
  • X(X,X,) is also possible, as well as
  • X(,X,,,X,,X,,)

    Inside parenthesis, the full angle is divided into as many parts as there are commas+2, and each stick in such a 'junction' has as much freedom.

    Modifiers (special characters) can be placed before X's and ('s. They affect the following X and, usually less and less, further following X's. Modifiers modify stick position and its features. Big and small letters can be used; big letters increase the given property while small ones decrease it.

    Modifiers: Rr, Qq, Cc, Ll, Ww, Ff, Aa, Ss, Mm, Ii, Ee.

    Sticks' joints properties
    Rrotation (by 45 degrees) – this modifier DOES NOT affect further sticks
    Qtwist
    Ccurvedness
    Physical properties
    Llength
    Wweight (in water environment light sticks swim on the surface)
    Ffriction (sticks will slide on the ground or stick to it)
    Biological properties (mutually exclusive)
    Aassimilation = photosynthesis (a vertical stick can assimilate twice as much as a horizontal one)
    Sstamina (increases chance of survival during fights, see also simulator parameters – destructive collisions)
    Mmuscle strength, a.k.a. muscle speed (strong muscles act with bigger force, gain higher speed, can resist bigger stress, and use more energy)
    Iingestion (ability to gain energy from food: energy balls or dead corpses)
    Other
    Eenergy (experimental).Creature's starting energy can be higher or lower when 'E' or 'e' is used. You should use it only when the "energetic efficiency mode" is enabled (see simulator parameters). Otherwise, disable 'eE' modifiers in genetic parameters!

    Examples

    XXX(XX,X)
    X(X,RRX(X,X))
    XlCXlCXlCX

    Some more samples of possible structures:



    Creature brain

    Neurons are placed in [], after X's. The following information can be supplied inside square brackets:

    The syntax is:

    where PropertyAndInputList is a comma-delimited list of pairs PropertyName:Value and NeuronInput:Weight. If NeuronType is omitted, 'N' (standard neuron) is assumed.

    Neuron inputs can be taken from different signal sources: other neurons' outputs or receptors. A neuron input can also have a constant value. If a neuron is a muscle, it can control its stick's bend or rotation.

    The alternative (old, deprecated) syntax lets you describe two neurons (a muscle and 'N') in one:
      [ MuscleType PropertyAndInputList ]
    where MuscleType is either '@' (stick's rotation) or '|' (stick bend). This old syntax creates a 'N' neuron, as described in [...], and a muscle of MuscleType with input from that neuron. Thus the old syntax is equivalent to
    [ N, PropertyAndInputList ] [ MuscleType, -1:1 ]

    In the old genotypes, you could find names of 'N' properties noted as symbols !=/. They are deprecated, and equivalent to:

    • '!' [exclamaton mark] – force (present property name: 'fo')
    • '=' [equals] – inertia (present property name: 'in')
    • '/' [slash] – sigmoid (present property name: 'si')
    (see also the Simulation details section)

    Examples

    Enter these genotypes into Framsticks to see the corresponding neural networks.

    Examples of the old, deprecated syntax

    ... X[@-1:2,1:3] ...
    means that a stick has one neuron 'in' it. It controls the stick's rotation (@), and the neuron has two inputs: one comes from -1 relative position in the genotype, the other from +1 rel. position. The first 'signal' weight is 2, the other is 3.

    X[|*:1,G:2]
    is a stick with one neuron controlling its bend, having two inputs: one constantly equal to 1 and the other connected to a gyroscope (placed on the stick) weighted 2.

    One stick can have many neurons – X[.....][.....][.....]

    Example:
    X X[|0:1] X[@-1:1.2,1:2.3][G:1]