


         FFFFFF   AAAA    SSSSS  TTTTTT  LL      II  FFFFFF  EEEEEE
         FF      AA  AA  SS        TT    LL      II  FF      EE
         FFFF    AAAAAA   SSSS     TT    LL      II  FFFF    EEEE
         FF      AA  AA      SS    TT    LL      II  FF      EE
         FF      AA  AA  SSSSS     TT    LLLLLL  II  FF      EEEEEE


                                  version 1.03


        1. What is life?

    Life is, as some people put it, a bitch. However, those people don't 
    refer to the same life I'm talking about. The life I'm talking about 
    is a mathematical game thought up by someone named John H. Conway, who 
    was a mathematician at the University of Cambridge. Life is quite 
    often referred to as a game, which it actually isn't. Life is just a 
    set of rules which are applied to a big field which is filled with 
    cells. Each cell is either dead or alive. Live cells are represented 
    as black pixels, dead ones as white pixels. First of all, the number 
    of live neighbours of each cell are counted.

     1  2  3    The numbers represent the number of neighbours, the X
     4  X  5    the cell. As you can see there is a maximum of 8 live
     6  7  8    neighbours to each cell.

    Then, these rules are applied for each cell:

    - If a live cell has 2 or 3 neighbours, it survives.
    - If a live cell has less than 2 or more than 3 neigbours it dies.
    - If a dead cell has 3 neighbours, it will be born.

    By applying these simple rules, very nice and interesting patterns can 
    be created. The fun part of life is to create a starting scene, and 
    then watch to see what will happen.


        2. What is Fastlife?

    In the beginning life was played by using pencil and paper with a 
    square grid. Of course computers are perfect for this kind of task, 
    and so, over the years, various life-programs were created. I (Doctor 
    Zweistein) have always liked life, and have tried programming life 
    before. As all I can really program in is Gfa-Basic, this turned out 
    to be terribly slow. Then I met Mister Ni!, who had programmed a fast 
    life in assembler. I told him I'd like a copy once he'd put a decent 
    editor around it. He told me he couldn't program a decent editor 
    (which I still don't believe, I think he just didn't want to), so I 
    decided to make one. A few days later I finished the first version, 
    and thus, Fastlife was born. Since that first version a lot has 
    improved, and faster versions of life have been made by Mister Ni! I 
    hope you like the final product. If you have any suggestions or bug-
    reports, send them to us. Our adresses are included at the end of this 
    text.


        3. The guided tour

    This part of the manual should explain to you how to use it globally. 
    After you've read it, you know of nearly all the functions of Fastlife.

        3.1 Drawmode

    After you've first started the program, life will be played with an 
    intro screen. Hit space, and click away the speed-message. On a 
    standard ST it should be about 0.358s per generation.  A Falcon 
    should give you 0.069s per generation. Now you will be put into 
    drawmode. You will be presented with an empty screen, and a mouse-
    pointer which looks like a pencil. The empty screen is the screen 
    which will be used to play life. With the left mouse-button, you can 
    creat and with the right mouse-button you can kill cells. First of 
    all, hit 'R' to randomize the screen. Once the screen is filled hit 
    'F10' to start playing life. Now just relax and watch, to get an 
    idea of what life is like. When you're done, hit space.

        3.2 The zoom function

    Now, press 'Delete' to clear the screen. Press 'F3', and you will be 
    presented with a box, which moves with the mouse. Put it somewhere 
    over the middle of the screen, and hit the left mouse-button. A screen 
    will be shown, with a grid on top of it. With the left mouse-button, 
    you can create a cell. With the right mouse-button, you can kill a 
    cell. Now, make a pattern which looks like this.

        .*.
        .**     The stars should be black, the dots white.
        *.*

    Get back to drawmode by pressing 'Escape'. Now start life by pressing 
    'F10' again. If all is well the pattern should "walk" across the 
    screen. This pattern is called a "glider" or "featherweight 
    spaceship". When you get bored or when the glider hits the side of the 
    screen, hit space.

        3.3 Various functions

    Now, by pressing 'F1', you can load a Degas monochrome picture. If 
    you've got one, do so and play life with it, just for the fun of it. 
    (Or don't just as you please.) Even better, press Shift-F1. This 
    allows you to load an XLife picture of which quite a few should be 
    included with this package. Load and play some to get an idea of what 
    life can be like. By pressing 'F4' you can draw a line. 'F5' allows to 
    draw you an ellipse. With 'F6' you can draw a box. Then, if you've 
    messed everything up completely, you can press 'F7' to erase part of 
    the screen. This function may not be quite clear at first. What this 
    function does is draw a white block. First of all, you can select one 
    corner. Then, you won't be able to see where the mouse is anymore. 
    Move it around, and press the left mouse-button, if the part you 
    didn't like is erased. 'F8' allows you to fill (part of) the screen in 
    black. Try all these functions and see what it looks like if you play 
    life. If you made a mess you like you can save it by pressing 'F2'. If 
    you want to recall the mess which was on the screen before life was 
    started, press 'Undo'.

        3.4 The block function

    Now, let's get onto the most powerful function of Fastlife: blocks. 
    Fastlife can hold 50 blocks in memory, which can be a lot of fun to 
    arrange. Erase the screen, by pressing 'Delete'. Then press 'F9'. 
    There should be some blocks in memory already. You can tell by the 
    names printed on the right of the screen. If the only names you see 
    are "Block number nn", then no blocks or load in memory. Then hit 'F1' 
    and load DEFAULT.LB which should be in this archive.
    Select a block with the mouse, which looks interesting, and press 'P'. 
    You will be put on the draw-screen and the mouse-pointer will be 
    changed into the block you chose. Press the left mouse-button to put 
    it on the screen, and the right mouse-button to got back to blockmode. 
    From blockmode you can get a block with 'G'. It is possible to flip a 
    block horizontally with 'H', vertically with 'V' and diagonally with 
    'D'. Experiment with the various flips to find out what they do. 'F1' 
    allows you to load a block-file, with 'F2' you can save one.'

        3.5 Index mode

    When you're in blockmode, you can press 'I' to go to index mode. Index 
    mode allows you to get a block from any file which is indexed. An 
    index should be loaded already. If not, load DEFAULT.NDX with 'F1'. By 
    using <Shift>-<Arrow key> you can scroll around the list of indexed 
    blocks. Select an "empty" slot on the right of the screen, and then 
    click on one of the indexed blocks, which name attracts you. After a 
    little while the block should be in memory. Press 'I' again to view 
    it, or press 'P' to put it on the screen. If you've changed one of the 
    block files, or made a new one for yourself, you can add this by 
    pressing 'A', and selecting the changed/new file. If you have a block 
    in more than one file, press 'Delete' to delete duplicate entries in 
    the index. With 'F2' you can save your index.
    Finally, the 'Help' key does something in practically any part of 
    the program.


        4. Stuff which isn't in the guided tour

    Here's some stuff which I didn't manage to put in the guided tour. 
    Read this when you're familiar with all the functions, or you might 
    not understand everything here.

        4.1 The zoom function

    It is possible to scroll around the screen, using the arrow keys.

        4.2 Various functions

    With 'S' you can store a screen, which you can recall with 'Undo'. You 
    can also use 'P' and 'G' to put and get blocks. 'M' allows you to move 
    a block. 'Q' quits the program.
    With shift-F10 you can now continue a life picture, which means that 
    the number of generations and time counters won't be reset. This 
    might be useful if you temporarily break a running life pattern to 
    remove some gliders. (Or use remove sideblocks.) Also the Undo-screen 
    won't be stored befor starting. This allows you to jump back to the 
    very start of the pattern in stead of to the point you continued from.
    Remove sideblocks removes the little blocks on the side of the screen 
    which are left by gliders if they hit the edge. If the main part 
    isn't very big this will speed up calculations a lot.

        4.3 Putmode

    In putmode you can use practically any key you can in blockmode. These 
    are 'H', 'V' and 'D'. You can also use the right and left arrow keys, 
    to scroll through the blocks in memory.

        4.4 Index mode

    If you click on an indexed block with the right mouse-button, all 
    blocks from that file will be removed. This function isn't perfect yet.

        4.5 Files

    Fastlife does weird stuff to the following file-types:

    File                                What it is

    *.LB                Fastlife block-file which contains blocks. 
                        DEFAULT.LB is loaded at startup.
    *.LIF               XLife files which contain life-patterns.
    *.NDX               Fastlife index-file. DEFAULT.NDX is loaded at 
                        startup.
    *.PC3               Monochrome Degas compressed picture which may 
                        contain any kind of drawing.
    *.PI3               The same but uncompressed.
    FASTLIFE.OPT        The option-file which contains three settings.

        4.6 General tip

    This version of life is only optimized for the top and the left. It 
    sounds complicated, but it means that if you put something in the 
    bottom right corner, and the rest of the screen is empty, it will be 
    far faster.

        5. Copying, bugreports, and other boring stuff

    You're free to copy this program, as long as you keep all the files 
    with it. You don't have any obligation to send us anything at all. 
    However, we've spent quite some time on this program, and although it 
    was fun, I think it reasonable that if you use this program 
    frequently, you send us some amount of money. This also has the 
    following advantage, that if you've got a suggestion or bugreport you 
    can be sure that we'll have a look at it. (If your amount of money is 
    more than, say, 7.50 NLG.) Also, if a new version is finished, I'll 
    notify you about it, and tell you where it is available.
    Well, that's about it. I hope you enjoy this program as much as we do 
    (or even more)! Here are our adresses:

            Doctor Zweistein                Mr. Ni!
            (aka Tim Newsome)               (aka Hans Wessels)

            H. de Keyserlaan 25             Rohofstraat 116
            1222 NE                         7604 AK
            Hilversum                       Almelo
            The Netherlands                 The Netherlands

            Fidonet: 2:283/504.22
            this is also reachable from
            Internet on:
            Tim.Newsome@p22.f504.n283.z2.fidonet.org

