Well, here it is: version 4.0 of the CRITTERS program (from
issue #49 of Micro Cornucopia). This is the program which is
discussed in Cing Clearly #50, but only partially listed in
the magazine due to space limitations.
I optimized CRITTERS and then added lots of new features.
Read my column in issue #50 for some interesting details on
how I analyzed and optimized the program. It now runs on an
8088- or V20-based PC at a reasonable speed. Future versions
may require faster hardware; as I add new algorithms and
critter behaviors, the program will become more complex.
Currently, CRIT4 will generate about 150,000 moves in an 8-
hour period on my 20Mhz 80386, and about 20,000 moves during
the same period on my 10Mhz V20. This is more than
sufficient to see the evolution of the creatures.
Feel free to play with the program. It's operation is self-
explanatory; when the program begins, it asks if you want to
load a CRITTERS configuration file. It then allows you to
modify whatever the values are (either loaded from a file or
the defaults). If you make changes to the parameters, the
program if you want them saved to a configuration file. It
then runs the simulation, which ends when you press any key.
CRIT4's C-language modules will compile with the Zortech,
Microsoft, and Borland compilers. Both MASM and TASM can be
used to assemble the CRIT_EGA module. Also included is the
CRIT_HGC module, which allows the program to run on a
HERCULES adapter. Compile CRIT4.C with the -DHERC switch,
and then link CRIT_HGC instead of CRIT_EGA. The version of
CRIT4 supplied in the archive was created with Zortech C
1.07e and MASM 5.10.
CRITTERS is not a static program; future extensions are
already in the works. My goal is to create a complete
ecosystem within a computer. This will include "carnivores",
"omnivores", maybe terrain (i.e., the world will have a
variable surface), different food types, bisexual
reproduction (!), disease, and natural disasters.
Information on contacting me is found in the header for
CRIT4.C. Please feel free to contact me via FidoNet or MCI
Mail, or you can write to me at my home address.
And, most of all... have fun!