home *** CD-ROM | disk | FTP | other *** search
- The "Game" of Life
- Copyright 1994
-
- Castle Oaks Computer Services
- Post Office Box 36082
- Indianapolis, IN 46236-0082
-
- The "Game" of Life is a computer simulation of a universe where the exist-
- ence or non-existence of "life" follows certain prescribed rules. It was
- developed by Prof. John H. Conway at the University of Cambridge, and it
- was first written up by Martin Gardner in his October 1970 "Mathematical
- Games" column in Scientific American. Although this simulation does not
- depict any real life situation, it is still interesting to see how over- or
- under-population affects succeeding generations according to the rules for
- this environment.
-
- This implementation is a freeware program. It is copyrighted by Castle
- Oaks. You may distribute it freely. However, if you do, you must include
- this documentation file in its entirety. The purposes of this program are
- to introduce you to the "Game" of Life, to entertain you, and to advertise
- other Castle Oaks products. The following lists several Castle Oaks pro-
- ducts:
-
- WORDFIND -
-
- a system to help solve word puzzles. It consists of a vocabulary of over
- 100,000 words and a program to search that vocabulary for words that match
- a template that the user specifies. Suppose that you have the clue "rid-
- dles" and you know the second, fourth, and seventh letters are 'N', 'G',
- and 'S' respectively. You then enter the template, ?N?G??S, and the pro-
- gram returns these words that fit the template.
-
- ENIGMAS KNIGHTS ONAGERS
-
- Wordfind includes a special feature that is useful in solving cryptograms.
- The wild cards '-', '+', and '=' are reserved to indicate duplicate but un-
- known letters. Thus, the template, -+=+=B-???+, means to find all words
- where the 1st and 7th letters are the same, the 2nd, 4th, and 11th letters
- are the same, the 3rd and 5th letters are the same, and the 6th letter is a
- 'B'. WORDFIND will return "REMEMBRANCE" which is the only word that fits
- that template.
-
- Utilities are provided for modifying the vocabulary or for creating addi-
- tional vocabularies. Also, three auxiliary vocabularies are available at a
- cost of $15.00 per set. Set A has over 174,000 unusual words and words of
- variant spellings. Set B has over 135,000 entries which consists of expres-
- sions, all words in the old and new testaments, armament terms, and places
- names. They are divided into seven subsets. Set C has over 167,000 entries
- in subsets of Latin, German, Spanish, French, Italian, Jewish, and Literary
- terms.
-
- WORDFIND contains a feature called UNAGRAM which unscrambles anagrams.
- Registration fee for WORDFIND is $15.00.
-
- CROSSWORDS PUZZLE SOLVER -
-
- This is a credit card size device that provides some of the same features
- as WORDFIND. It is handy to carry with you when you do not have access to
- your computer. This is a product of Franklin Electronic Publishers, Inc.
- The suggested retail price is $49.95. You may order it from Castle Oaks for
- $40.00 plus $5.00 shipping and handling.
-
- CLUEFIND -
-
- Similar to WORDFIND but the user builds his own vocabularies with clues
- included with the words. Cost is $10.00.
-
- TEXTFIND -
-
- This program allows you to provide a template with known characters (even
- non-alphabetic ones) and wild cards for unknown characters. Then using
- this template, you may search any file (even executable ones) for character
- strings that match the given template. TEXTFIND registration is $10.00.
-
- HINTHUNT(TM) -
-
- a program to generate word search puzzles. Great for teachers. Includes
- options for simpler puzzles and the capability for the word list and puzzle
- words to be different. Particularly useful for foreign language vocabulary
- drills. Cost of HINTHUNT(TM) is $15.00.
-
-
- TRAC/TRAP -
-
- a tutorial on the machine and assembly languages of a pseudo computer.
- This provides an introduction to these concepts. The package includes the
- pseudo computer simulator and assembly programs; lessons in their use;
- example TRAC and TRAP programs; and exercises with answers. Registration
- fee for TRAC/TRAP is $10.00.
-
- TO - FROM Utilities -
-
- programs to convert files of 8-bit characters to files of 7-bit characters
- and vice versa. If you ever need to upload a file to a host computer that
- cannot accept 8-bit characters (for example, MCI Mail), this system will
- allow you to do so. Also, some communication packages will only allow
- ASCII characters (7-bit characters) to be transmitted. Perhaps you have a
- spreadsheet or a database that you wish to upload to a host for repository
- and for later downloading to your own or other computers. You can use
- these utilities and the only penalty will be a slight increase in file size
- (approximately 33%). Registration fee for the TO - FROM Utilities is
- $10.00.
-
- GAME PACKAGE -
-
- TOWERS - This is a game and more. It is the Towers of Hanoi puzzle. In
- this puzzle you have 3 towers; on one tower are disks of different
- sizes. The object of this puzzle is to move all the disks, one at a
- time, to another tower such that you never place a larger disk on top
- of a smaller disk. With this package you can try to solve the puzzle;
- you may watch the program give the minimum move solution; and the
- package provides a selection of 5 screen savers.
-
- CARD MATCH - A concentration type game. It uses a standard deck of
- playing cards. These are to be matched in pairs. Three levels of play
- are provided and you may play alone or against an opponent. Although
- there are many games like this available, this one does not require an
- advanced graphics card. It will run on CGA.
-
- HURKLE - A game to find the "Hurkle" in a 15 x 15 grid.
-
- The game package is freeware. It may be obtained for a shipping and han-
- dling fee of $5.00.
-
- You may obtain the latest copy of 'The "Game" of Life' by sending a ship-
- ping and handling fee of $5.00 to Castle Oaks.
-
- OTHER ARTICLES -
-
- There have been several articles written about the "Game" of Life. Two
- articles were published in the December 1978 issue of Byte magazine and
- another one in the January 1979 issue of Byte magazine. The latter is only
- of historical interest. That article explores methods of writing a program
- to minimize the amount of memory required. In those days, personal
- computers only had a few K of memory.
-
- The other two article in Byte give a very good description of the simula-
- tion and they analyze and name various starting patterns and what results
- from those starting patterns. Included in this package are 14 starting
- patterns that were described in those articles. Other patterns also were
- described but I will leave it up to you to look up those patterns and/or
- create patterns of your own. Later, I will describe the patterns included.
-
- INTRODUCTION -
-
- In most implementations, it is assumed that the environment of the simula-
- tion is a two-dimensional plane that is infinite. This, of course, is not
- practical. Due to computer limitations, there are edges to the plane. In
- order to avoid that, this implementation uses the surface of a torus as the
- environment. In this way, the environment is finite, but unbounded. Fur-
- thermore, so that this program can be run on a minimal machine, CGA charac-
- ter graphics are used.
-
- On the screen, you will see a window that is 21 lines tall and 38 columns
- wide. You must visualize the environment as having the top of the window
- joined to the bottom of the window; and the right edge of the window joined
- to the left edge of the window. In some simulations, you will see groups of
- occupied cells leave one edge of the screen and re-appear at another edge
- of the screen. Although the window is not very large, it is usally large
- enough for most purposes.
-
- RULES -
-
- 1. If a cell (occupied or not) has exactly 3 neighboring cells occupied,
- then the given cell will be occupied in the next generation.
-
- 2. If a cell is occupied and has exactly 2 neighboring cells occupied, it
- will remain occupied in the next generation.
-
- 3. If neither (1) nor (2) apply, the cell will not be occupied in the next
- generation.
-
- PATTERNS -
-
- The "Game" of Life has been analyzed by various researchers and they have
- published their finding of what happens with some starting patterns. In the
- Byte article written by David J. Buckingham, he has described 5 classes of
- objects.
-
- Class I is still lifes. These are objects that do not change unless dis-
- turbed by other objects.
-
- Class II is oscillators. These are objects that after a number of genera-
- tions return to their starting pattern. They may be rotated or inverted at
- the end of a cycle.
-
- Class III is spaceships. These objects move across the environment.
-
- Class IV is uniform propigators. They are objects that move and may produce
- other objects.
-
- Class V is random. It is anything that does not fit one of the above class-
- es.
-
- SUPPLIED PATTERNS -
-
- I have not includes any still life objects by themselves since I think you
- will not find them very interesting. However, you are bound to stumble on
- to some of these yourself.
-
- A block and a beehive are both still lifes. The file BLCKBEEH illustrates
- how a block can destroy a beehive.
-
- The files 3EATER and 6EATER illustrate other still lifes that "eat" other
- objects.
-
- The files OSCPER5, PULSAR, TUMBLER, and PENTADEC are oscillators of various
- periods.
-
- A subclass of the oscillators are shuttles. BSCSHUTT and TWINBEES show
- objects that shuttle back and forth while eaters cleanup debris.
-
- Spaceships are depicted using the files: 3GLIDERS, SPACSHIP, and GLIDEGUN.
- These are objects that keep moving. GLIDEGUN ejects a projectile.
-
- The file SCHICK is of class IV. It is called a puffer train. Two spaceships
- appear to be pulling another object. Another is SNWFLKS. A snowflake (3 in
- this file) will generate a honey farm which is a group of 4 beehives.
-
- INSTRUCTIONS -
-
- When you run the program, some instructions will appear in a series of
- screens to guide you through the process. The opening screen gives a brief
- description of the rules and the environment.
-
- The next screen asks you if you want to load a pattern from a file. If you
- respond "yes", you will be asked for the name of the file to be loaded. If
- the file is not in the currently logged directory, you must include the
- path to that file. If the file cannot be found, the program will pause
- until you press a key. It will then continue without loading a file.
-
- Next, the program determines if you have a mouse. If you do not have a
- mouse, you are advised of that and when you press any key, the program will
- continue and you must position the cursor using the cursor keys. If you
- have a mouse, you are given the option of using the keyboard or the mouse.
- If you load a pattern from a file and do not intend to modify it, this
- question can be answered either way.
-
- After selecting either keyboard or mouse, a grid of cells will be displayed
- and if you have loaded from a file, some of the cells will be occupied. At
- this point, you can insert occupants into empty cells and erase occupants,
- even if you loaded from a file. The method of doing this depends on which
- option you chose. The upper border will display "Generation is 0".
-
- If you chose the keyboard, you use the cursor keys to move the cursor to
- any cell you desire. Pressing any key (except ESC) will enter a rectangle
- in the selected cell. Repeat this procedure for all the cells you want
- occupied. You can erase a rectangle by positioning the cursor on it and
- pressing any key (except ESC). When you are done loading all the cells
- you want occupied, press ESC to terminate entry mode.
-
- If you chose the mouse, use the mouse to move the mouse cursor to any cell
- you desire. Clicking the left mouse button will enter a rectangle in the
- selected cell. Repeat this procedure for all the cells you want occupied.
- You can erase a rectangle by positioning the cursor on it and clicking the
- left mouse button. When you are done loading all the cells that you want
- occupied, click the right mouse button to terminate entry mode.
-
- After terminating the entry mode, you will be asked if you want to save the
- starting pattern to a file. If you respond "yes", you will be prompted for
- a file name. Include a path, if necessary. After responding "no" or giving
- a file name, the screen will clear and the next generation will be dis-
- played. (Note: If you wish to create or modify a starting pattern file, you
- can do so with a text editor. Such files consist of 21 lines of 38 charac-
- ters. Each line is terminated with a carriage return and line feed. Unoccu-
- pied cells are denoted with a period. Occupied cells can contain any other
- character. Although such editing is possible, it is unnecessary since
- editing can be done within the program and the result saved.)
-
- Pressing any key, except ESC or Q, will advance the display to the next
- generation. The generation count in the top border will increment. If you
- want the display to change rapidly, you can hold a key down and the display
- will advance generation after generation. If your machine is too slow to
- process each generation at the typeamatic speed, you will overflow the
- keyboard buffer and the computer will beep at you. Just release the key
- until the computer catches up.
-
- When you have seen as many generations as you want to see, or if the dis-
- play stabilizes, you can terminate by pressing either ESC or Q. The screen
- will clear and you will be asked if you want to exit the program. If you
- respond by pressing E, the program will terminate. If you press anything
- else, the program will restart at the opening screen.