FLOM
is an acronym for Finite Loop Organic Machine. The loop is a
simple software loop which consists of some small number of steps that
are executed as instructions. As each step is executed, the FLOM
carries out an action (or not). At the end of the step the FLOM
chooses a new step and the program proceeds.

FLOMS
are the core of the Evolve-A-Bot game. They are similar in
concept to simple organisms such as microbes and they evolve very
rapidly, allowing their program (which acts as their genes) to converge
on a solution quickly.

Difficult
conditions will kill off or "select against" many FLOMs, but the
survivors carry in their genes the code for a useful robot program.

How do they do it?

Imagine
making a little robot that needs light to charge its batteries.
As long as light is present, the robot can "eat" and it will have
power for operation. This sort of thing is called a "photovore"
or light-eater.

Now,
imagine that the robot must find the light by moving around and
tracking it. But we will add one more caveat- the robot is not
programmed as you normally would program a robot. Instead, it has
a program that is made completely of random numbers. What happens
when you turn it on?

It
is very unlikely that the robot's program will do much. But, once
in a while, a program of random numbers will successfully make the
robot move. In some cases the movement might bring the robot to
light, and in most cases it will move at random.

How does this lead to a program?

In
most cases it does not. But some FLOMs will move in a beneficial
way. All the program does is determine which FLOMs got enough
light to survive. All the FLOMs that do not are erased.

What does evolution have to do with this?

In
the natural world, everything must find its own survival. In
Evolve-A-Bot the FLOMs are made ten at a time, and therefore you have a
higher chance of seeing some program do something that appears useful.
At the end of a test run, it is likely that one or more FLOMs
will have survived longer and we can assume that this is the result of
their actions. Now we can choose the survivor we like and let it
try again. With each test we mutate or slightly alter the FLOM's
program at random and this may or may not produce a better program or
longer life.

If
we select simply for FLOMs that live longer, we will eventually end up
with FLOMs that know exactly how to get to the light source. This
is selective breeding and a restricted case of natural selection.
It is the same method we used to create our food crops, our farm
animals, and our various breeds of domestic animals such as dogs, cats,
cows, and sheep.

What do we do with FLOMs then?

Once
you have a FLOM that seems to perform well, you can save its program
and put it in a virtual robot where it runs in an arena, testing the
program. Successful tests will result in a robot that can locate
light or heat sources, avoid dangers or obstacles, and follow simple
instructions.

In
the game, there are rogue machines in the warehouse. These programs
give you more program instructions to use when you finally take control
of the warehouse and its robots.

The programs can later be transferred into actual robots if they are equipped with the proper sensors and hardware.