WinAnts V1.0g 
An Artificial Life program by Anthony S. Napier
April 1999, asnapier@juno.com, Freeware

This program is based on a description of Ant Cellular 
Automata published in Scientific American, July 1994.  
Each Ant follows a simple set of rules, but complex 
behavior emerges from that system.

THE RULES: Imagine the pixels on your screen are like squares
on a chess board.  An Ant is on a square facing in a 
random direction.  It moves to the square in front of it.
If the square is black, it changes it color and turns 90 degrees left.
If the square is color, it changes it black and turns 90 degrees right.
That's it.

Runs on Win9x and NT.  Binary distributed as freeware.
Note: This program requires the Visual Basic 5 runtime 
libraries, which cannot be included with the program due
to Simtel requirements.  VB5 runtime libraries can be 
downloaded separately from Simtel.
see:  /simtelnet/win95/dll

Modes are activated by parming in the specified number 
of Ants on the command line.  e.g.  "WINANTS.EXE n" 
    

- DEFAULT NUMBER OF ANTS if none are parmed in: 15
 

- 14 ANTS: Autoredraw on.  This is a Visual Basic Thing.  Normally
Autoredraw is set to off due to its performance overhead.  The 
drawback is, if you minimize the window or the screen blanker kicks
in, the only thing retained for the screen redraw is the current Ant
positions - not their trail of past moves.  If you really want to 
minimize the program and let it run, use this option.  Just note that
it will run slower.  Circle Mode on.  Random Ant initialization.


- 15 ANTS:  Circle Mode.  A centered circle acts as if filled 
with fluid.  The Ants float through the circle to the other 
edge.  If two Ants collide in the circle they may get stuck 
until another Ant knocks them out.  This is the DEFAULT option if
an Ant number is not parmed in.  Random Ant initialization.


- 16 ANTS:  Natural Selection Mode.  If an Ant is stepped on by another 
Ant, it makes a sound {ouch!} and is then turned the other Ants color.  
Colors are eliminated until there is a winning Ant color.  Interestingly,
sometimes this happens quickly, sometimes not.  
Circle Mode on.  Random Ant initialization.


- 18 ANTS:  Two Step Mode.  Ants will increment two squares each move
instead of one.  This creates an interesting 3-D effect where Ants seem
to be on different "frequencies" (actually they are - some patterns are
staggered and never overlap).  
Circle Mode on.  Random Ant initialization.


- 19 ANTS:  Snapshot Mode.  This will record initial Ant positions, color 
and direction for later replay.  This is useful to study a particular 
configuration.  Circle Mode on.  

Here's how it works: It depends on if the file snapshot.txt exists.
FALSE: An Ant array is randomly generated and stored in a new
snapshot.txt file.
TRUE: The Ant array is loaded from the existing snapshot.txt file.

The included snapshot.txt file contains an interesting repetitive pattern 
similar to artifacts in Conway's Life.
 

- 20 ANTS:  Benchmark Mode.  Ants start in the same position 
and direction each time to ensure that benchmarking is valid. 
After 25,000 cycles elapsed wall-time in seconds is displayed.  
Circle Mode on.   NT Use: START /REALTIME WINANTS.EXE 20


- ANY OTHER # OF ANTS: Generic configuration as described in the
SciAm article.  No Benchmark or Circle.  
# of Ants is only limited by CPU and Memory.  
Ants are randomly assigned position, direction and color each execution.


Cheat: Pushing enter will turn one (random) Ant black.  Actually an 
almost-black color, so the Ant rules still apply.


- Winants.exe /? gives a help screen.
    

History
--------------------
V1.0c	initial public release
V1.0d	problem fix for benchmark mode
V1.0g   added Natural Selection, Snapshot and Two Step.
