The objective of the Framsticks project is to study evolution process in a simulated world. It is similar to the real world and uses basic evolution mechanisms to create efficient artificial organisms. These organisms are trying to adapt conditions met in the artificial world.
The Framsticks project is a research project that belongs to field of science called "Artificial Life" ("AL"). It is connected with "Artificial Intelligence", but also physics and biology, as we try to simulate nature and living organisms on our computers. The environment is artificial, virtual world on our machine. It doesn't have to be similar to the real world, but sometimes such a experiments might be very interesting, as you can compare simulation results with reality.
Simple artificial creatures can be used in computer control of animal's models in films, more sophisticated can learn and improve themselves. They can be taught to avoid obstacles, seek energy spots, follow targets etc. It's very similar to robot control - it is possible to perform useful actions.
Like in the real world, in the simulator better-adapted and fit organisms have better chance to survive. Besides, creatures morphology is determined by genes - you can freely build genotypes, so you have an ability to develop organisms of any complexity. After creating an organism you can put it into artificial environment and observe its evolution, improving and adapting to environment conditions.
This simple model doesn't lead to founding consciousness, intelligence and feelings, but generally self-improvement of artificial organisms can do so. We still don't know if evolution alone created organisms which live among us. Experiments like that can show capabilities of simulated evolution and these can be compared to the real ones. Maybe in the future researches will be able to explain the mystery of our creation? Anyway, this program is a simple way to open a gateway to the "Artificial Life" world and become interested in it's problems and challenges. We hope it will be useful, give you an opportunity to learn something new and have some fun.
Fred is a part of the Framsticks Project which started in 1997.
Three-dimensional life simulation is a goal of project. Both physical structures (bodies) and control systems (brains) of creatures are modeled. Fred is a application which allows you to see creature which is actually beeing designed. Use your own imagination to create complex creatures, then put them into Framstics application and see how they evolve.
Framstick's body consists of parts and joints, neural network are neurons and connections. Parts, Joints, Neurons, Connections (these are four classes of elements) have reference numbers. References start with 0 and every new object in the class gets the next reference number.
Each of parts,joins, neurons and connections is decribed by a set of properties. Some of properties are mandatory and some of them are not. Not obligatory parameters, when not defined, get default values.
Part object (p)
Not obligatory:
x,y,z (position in 3D, all dimensions default=0),
m (physical mass, default=1),
s (size - for collisions, default=1),
dn (density, default=1),
fr (friction, default=0.4),
ing (ingestion, default=0.25),
as (assimilation, default=0.25).
Joint object (j)
Obligatory:
p1,p2 (reference numbers of the two connected parts),
Not obligatory:
rx,rx,rz (rotation, for rotations in all dimensions deafult value=0),
dx,dy,dz (delta option: if you specify any value for dx, all three deltas are used as displacement applied to the second part p2),
stif (stiffness, default=1),
rotstif (rotation stiffness, default=1),
stam (stamina, default=0.25).
Example: 3 parts and 2 joints
Neuron object (n)
Obligatory:
p (reference number of the part the neuron is attached to)
OR
j (reference number of the joint the neuron is attached to).
Not obligatory:
d (neuron class description, like "classname:properties_and_values")
Connection (c)
Obligatory:
n (reference number of the parent neuron),
i (reference number of the neuron to be connected as the parent's input),
Not obligatory:
w=1.0 - connection weight
Neuron's types(from left):N-Neuron(Standard Framsticks neuron), T-Touch(Touch sensor),
S-Smell(Smell sensor), *-Const(Constant value), G-Gyroscope(Equilibrium sensor),
|-Bend muscle, @-Rotation muscle, Fuzzy-Fuzzy system, Sin-Sinus Generator
Model validity constraints
I.at most one joint can directly link two parts
II.each joint must be connected with two distinct parts
III.all parts must be directly or indirectly connected with each other
IV.delta joints must not form cycles
V.for each joint the part-to-part distance must not exceed the value defined as the maximum Joint.dx (2.0)
Fred 2.0 is freeware which means you can download, install, and use it for free.
Contact capstone at kagi.com if you want to use Fred sources for development.
You can edit creature in two ways: using f0 genotype editor (this forces you to know f0 Framsticks construction language!) or draggin and dropping components in graphical editor (body+neural network). Both ways leads you to fully functional framstick creatures.
File menu:
Ctrl+N | New | |
Ctrl+O | Open | |
Ctrl+D | Open from internet database | |
Ctrl+S | Save | |
Ctrl+F4 | Close | |
Ctrl+I | Framstick's info | |
Ctrl+F4 | Exit |
Ctrl+Z(or Alt+BackSpace) | Undo | |
Ctrl+Y(or F4) | Redo | |
Ctrl+C(or Ctrl+Ins) | Copy | |
Ctrl+X(or Shift+Del) | Cut | |
Ctrl+V(or Shift+Ins) | Paste |