home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / utilities / utilsf / gol / !Gol / !Help < prev    next >
Text File  |  1995-01-21  |  6KB  |  151 lines

  1.     Copyright © 1993 Michael R Brown
  2.     Release version: 0.01 (Oct 24 1993)
  3.     If the following conditions are met then this software may be copied:
  4.        a) No charge is made for this software.
  5.        b) This software is not used to add value to other products.
  6.        c) All files listed below are included in any copies or distributions
  7.           of this software.
  8.        d) All files listes below remain unaltered.
  9.        e) The auther will in no way be held responsible for any damage caused
  10.           by this product or the use of this product.
  11.     If you wish to distribute this software, but cannot meet the conditions,
  12.     write to the copyright holder at the address below, and ask for permission.
  13.  
  14. ********
  15.  
  16. File listing, please check you have the correct files.
  17.   !Gol.!Boot          82 Bytes, filetype &feb
  18.   !Gol.!Help        5793 Bytes, filetype &fff
  19.   !Gol.!Run          263 Bytes, filetype &feb
  20.   !Gol.!RunImage   57412 Bytes, filetype &ff8
  21.   !Gol.!Sprites     1248 Bytes, filetype &ff9
  22.   !Gol.!Sprites22   1588 Bytes, filetype &ff9
  23.   !Gol.!Sprites23    916 Bytes, filetype &ff9
  24.   !Gol.Templates    3575 Bytes, filetype &fec
  25.   !Gol.c.fcntl      1964 Bytes, filetype &fff
  26.   !Gol.c.Gol       39287 Bytes, filetype &fff
  27.   !Gol.c.life       2466 Bytes, filetype &fff
  28.   !Gol.h.fcntl       963 Bytes, filetype &fff
  29.   !Gol.h.life       1067 Bytes, filetype &fff
  30.   !Gol.s.slife     11359 Bytes, filetype &fff
  31.   !Gol.s.slife_f   14063 Bytes, filetype &fff
  32.   Sugestions        2180 Bytes, filetype &fff
  33.  
  34. ********
  35.  
  36. What is life?
  37.   Life isn't a game. It's a set of rules applied to a matrix of cells.
  38.  
  39. What happens?
  40.   Start with a matrix of cells, where each cell can have the states 'On/Off'.
  41.   Apply a simple rule to all of the cells in turn.
  42.  
  43. What are these rules?
  44.   Count the number of neigbouring cells in the On state.
  45.   Look that number up in a table, where you will be told a rule to apply.
  46.   According to the rule the cell can be 'Cleared', 'Set', or 'Left' as it is.
  47.  
  48. So what's so special about about 'GOL'?
  49.   Every (not many) game of life i've seen only lets you use the standard rules,
  50.   and then when i run it, it's sooo slow, and the matrix is soooo small.
  51.   'GOL' isn't either. The heart of this program is REALLY fast. Part of that
  52.   speed is the fact that i use practically every register for a local variable
  53.   (actually, the only one i didn't use was the program counter).
  54.  
  55. ********
  56.  
  57. How to use 'GOL'?
  58.   Double click on the '!Gol' application.
  59.   Click 'Select' on the 'GOL' icon, or select setup on the icon menu.
  60.   A setup box will be displayed.
  61.  
  62.   AREAS
  63.    >Pixels
  64.     This controls which cell neighbours are counted.
  65.     The central button representes the pixel to be processed.
  66.     Any of the nine buttons that are pressed will cause that
  67.     cell to be included in the count.
  68.    >Actions
  69.     What rules to apply for each count of 'On' cells.
  70.     Click of a button to cycle between the three rules.
  71.    >Life field size
  72.     The size is kept to multiples of 32 for speed reasons.
  73.     The range is '64 to 8192'.
  74.     The actual size of the life field is '2' less on each axis,
  75.     leaving a one cell boarder around the life field.
  76.    >Display
  77.     This control's two of the display features.
  78.       >Faster life
  79.        If the life rules you are using leave most of the life field clear, 
  80.        this option should speed things up a little bit.
  81.       >Wrap Around
  82.        Opposing edges of the life field are linked when this option is selected.
  83.        This is the nearest a finite computer can get to an infinate life field.
  84.    >Initial
  85.       >Paused
  86.        Start the game paused.
  87.       >Clear All, Set All, Random
  88.        These control how the life field is initialised.
  89.  
  90.   Run time menu.
  91.    >Info
  92.     About the program and authur.
  93.    >Zoom
  94.     Obvious!
  95.    >Save
  96.     Save the currently displayed life field as a sprite.
  97.    >Pause
  98.     Pause the game of life, and unshade the single step option.
  99.    >Single step
  100.     Advance one frame.
  101.    >Close
  102.     Close the currently selected window, ending that life field.
  103.    >Quit
  104.     Quit out of 'GOL' completely.
  105.  
  106.   Other run time actions.
  107.    >Click 'Select' or 'Adjust' in the window.
  108.     You can draw directly onto the life field.
  109.     You are advised to pause and zoom in before doing this.
  110.    >Drag and drop a sprite onto the life field.
  111.     This will replace the current life field with the contents of the sprite.
  112.     The size of the life field will not change. 
  113.     The sprite must be monochrome (1 bit per pixel).
  114.  
  115. ********
  116.  
  117. Final notes.
  118.   Most of the code for the front end is pretty ineffecient, but that doesn't
  119.   matter since it doesn't do much. The heart of the program is a routine to
  120.   apply the life rules quickly, and that's fast.
  121.  
  122.   Most of the program time is spent inside 'SpriteOp 52 (Put Sprite Scaled)'.
  123.   If you don't want this to be the case, change the desktop to a monochrome
  124.   mode with a square pixel aspect (mode 18 maybe), and set the zoom factor
  125.   so that one life cell matches up to one display pixel. The program will
  126.   then use 'SpriteOp 34 (Put Sprite at user coordinate)' instead.
  127.   Much faster.
  128.  
  129.   You can have multiple windows, but don't go thinking you'll fill the screen.
  130.   There is a maximum of 16 windows, but you won't reach that unless you have
  131.   5Mb of free memory.
  132.  
  133.   Don't just try one set of rules, and then forget it, there are lots of
  134.   interesting rules out there.
  135.  
  136. ********
  137.  
  138. To do.
  139.   Add rules that allow for newly born cells.
  140.   Somehow reduce memory usage so that larger life fields can be used.
  141.    (The largest i've managed is '3680x3680', with a two second interval 
  142.     between frames, fully multitasking)
  143.   Regression, that is find all possible previous frames for a given life field.
  144.   Any sugestions?
  145.  
  146. ********
  147.  
  148.  
  149. NAME:  Michael R Brown
  150. EMAIL: michael@arrakeen.demon.co.uk
  151.