Welcome to the ICES project homepage.
ICES is a computational engine for creating
evolutionary systems on a controlled reality. This a list of some, but
not nearly all, of it's features (some of them are not yet complete,
but a lot of work is being put into it):
- completely
configurable climate; user determined climatic conditions that can
affect the way the simulated living being interact with each other
and with the environment.
- living beings
have a genotype which is copied during reproduction. This process is
quite similar to real life DNA duplication as it is subject to many
different possible alterations, such as mutations, crossing over,
etc...
- each living
being has a phenotype, determined by the expression of its
genes. There are no hard-coded body structures, each of the
element's phenotypic expressions are represented by an abstract
structure, giving the user absolute freedom to simulate any kind of
system, be that a simple simulation of few unicellular species on
very restricted conditions, a large scale environment with many
living beings competing for natural resources, an evolving traffic
lights control system or a robot soccer game, where robots can
reproduce with one another.
- the determination
of what kind of abilities will the simulated living beings have is
what will determine, on each case, what actually is being
simulated. The user is free to completely configure a new set of
skills from scratch, but we expect to provide many useful add-on
packages.
One of the most interesting aspects of ICES is that the skills do not belong to a
living being, they are a characteristic of the simulated
environment. Recently born living beings can acquire a certain skill
if its phenotype (not its genotype) would allow.
- living beings
may need certain substances to survive. ICES provides a complete framework for
substances carrying, obtaining and disposing. Chemical reaction may
be configured to occur, which brings this aspect to a much more
interesting level.
- there
isn't a single line of code in ICES
related to how evolution should work. All we do is put simulated
living beings interacting with each other on a simulated
environment. Evolution naturally emerges from it.
Evolution is NOT simulated.
ICES is entirely written in SmallTalk, a
purely OO (Object Oriented) programming language and the working logic of
ICES is intensively based on the
capabilities of such technology.
We feel that SmallTalk freed us from dogmatic programming models and
allowed us to explore all possibilities without fear. If it hadn't
been for this great language, maybe ICES
would have never got where it is today