
       
                                 SPECIAL NOTE
       
            This is a pre-release version of egaint!  The program is not
       yet complete, but is finished enough to be distributed.  Also
       note that when completed (i.e., egaint 1), it will abide by the
       GNU General Public License, Version 1; however, since this is
       pre-release version of egaint, it abides by the above except that
       source code is not being distributed (but can be obtained ... get
       into contact with New More Order for details).
       
       
                                 INSTRUCTIONS
       
            To run egaint, simply type "egaint" at the command prompt;
       if you have either a black-and-white or gas plasma display,
       suffix an "m" or "p" respectively (that is, type "egaint m" and
       "egaint p," not "egaintm" or "egaintp").
       
            After the title screen, you will come to an options screen;
       a brief explanation of each option follows.
       
       Tournament Game          There are two hundred and fifty-six
                                possible tournament games built into
                                egaint; each tournament game will run
                                exactly that same, which is ideal for
                                competing two egaint players against
                                each other.  Note that all conditions
                                must be exactly identical for the games
                                to be identical; i.e., the same initial
                                level, the same initial height, the same
                                version of egaint, the same computer,
                                etc.  Initially turned off.
       
       Tournament Game Number   Allows you to choose which particular
                                game (out of two hundred and fifty-six
                                possible) you wish to play.  Initially
                                set to game zero.
       
       Initial Level            one is the easiest while level ten is
                                the hardest.  In addition, level
                                advancement before level ten is also
                                automatic; you will be advanced, if
                                necessary, to level x after clearing ten
                                times x rows (i.e., level 2 after 20
                                rows, level 3 after 30 rows, etc.).
                                Initially set to level five.
       
       Initial Height           Specifies how high (in blocks) an area
                                should be filled with randomly placed
                                blocks (ranges from one to twelve).  In
                                addition, you can also specify that the
                                blocks be hidden (i.e., invisible).
                                Initially turned off.
       
       Show Next                Specifies that the next piece be shown
                                in a window on the upper-left corner of
                                the screen.  Initially turned on.
       
       Show Shadow              An yet-to-be-implemented feature, this
                                is still being worked on; the gist of
                                this idea is to have a "shadow" cast on
                                the area where the block will fall,



                                which should, in theory,  make it easier
                                to line up the pieces.  Initially (and
                                permanently) turned off.
       
       Extended Shapes          Allows you to specify which set of
                                pieces to use (Classic, Easy, Medium,
                                and Hard).  Initially set to Classic,
                                which are the original seven pieces).
       
       Block Style              Allows you to specify which style of
                                blocks to use, which ranges from New to
                                Old (the original egaint style) to
                                Pumped Full of Drugs to Really Pumped
                                Full of Drugs (a combination of all
                                three).
       
            Note that you are awarded bonus points for not using Show
       Next and Show Shadow.
       
       
                             MACHINE REQUIREMENTS
       
            The machine used for development was a Toshiba T5100
       Portable Personal Computer; it had a 16 MHz 80386 processor with
       2 megabytes of RAM, an EGA card with 256K, and a 40 megabyte hard
       disk.  In addition, Turbo Pascal 4.0 running under MS-DOS 3.30
       was used to compile this particular version of egaint (later
       versions will probably use Turbo Pascal 5.5, which I am in the
       process of obtaining).
       
            What does this mean to you?  Well, for starters, a one
       hundred percent IBM Personal Computer compatible with an EGA card
       with 256K is strictly required.  I also recommend having
       something faster than a stock 4.77 MHz 8088; an 80286 running at
       8 MHz or so should do quite nicely (but I wouldn't know; I
       developed this at 16 MHz).
       
            Theoretically, egaint should work with a VGA card, being
       that it was coded to use a VGA if one was found, but because I
       did not have access to one at any stage during development, I
       cannot guarantee compatibility with it.
       
       
                               REVISION HISTORY
       
       aint 0.0       (19-Apr-89) The original, bare-bones version of
                      aint, it represented a falling object game, though
                      not much else.
       
       aint 0.1       (20-Apr-89) The first version of aint to
                      adequately capture the basic essence of TETRIS
                      (i.e., constructing rows) without possessing any
                      really major bugs; it, in turn, lacked the
                      "standard features" of generic computer games
                      (scoring being one notable example).
       
       aint 0.2       (20-Apr-89) The alpha-test version of aint:  the
                      really major bugs that were later discovered were
                      fixed and "standard features" like scoring and
                      levels were added.  The very exclusive alpha-test
                      group received copies tailored specifically for
                      their machines, and the general response was
                      excellent (and addicting).



       
       aint 0.8       (21-Apr-89) The beta-test version of aint:  pretty
                      much rewritten, it used more reliable machine-
                      independent timing functions and more realistic
                      scoring functions while show next piece, show
                      statistics, initial height, (not particularly
                      reliable) tournament games, an options screen, and
                      a true high score list were added.
       
       aint 0.9       (26-Apr-89) The pre-release version of aint:  a
                      major bug which caused a fatal system crash at
                      peculiar moments was fixed while debug features
                      like smart bomb, polymorph, and nuke were added.
                      This was the first version to be issued beyond the
                      initial alpha/beta-test groups, though its
                      distribution was still quite limited.
       
       egaint 0.9     (02-May-89) The initial version of egaint
                      ("enhanced graphics aint"):  written specifically
                      for EGAs with 256K, it, unfortunately, didn't take
                      advantage of the full sixteen colors which the EGA
                      could offer in 640x350 mode (but rather, took
                      advantage of the four shades of orange on the
                      Toshiba T5100's gas plasma display).  Originally
                      conceived as a rewritten, portable aint, it slowly
                      evolved (due to laziness) into a hideously slow,
                      flickery, EGA-specific version.
       
                      Certain modular programming aspects which were
                      built into egaint originally were abandoned for
                      some faster, less elegant, less flickery code.  In
                      addition, all the cheap bells and whistles (like
                      smart bomb, polymorph, and nuke) were removed in
                      favor of more professional-looking bells and
                      whistles, like actually drawing the shapes in the
                      statistics window, not calling them funny names
                      like "ell" and "lel."
       
       egaint 0.91    (02-Jun-89) A kludged version of egaint, it added
                      color, but only because I left college for summer
                      vacation and came into the possession of an old
                      IBM Enhanced Color Display; still very flickery,
                      but at least flickery in color.
       
       egaint 0.92    (13-Jun-89) "The Lost Version" of egaint:
                      conceived as an idea on paper, this was the start
                      of a complete rewrite of egaint which would add
                      support for CGAs, EGAs with only 64K, HGCs, MCGAs,
                      and VGAs.  In addition, the "flagship" version of
                      egaint for EGAs with 256K (and VGAs) would employ
                      the use of video page switching (in an attempt to
                      remove the flicker).
       
                      Unfortunately, this version is still that, an idea
                      on paper.
       
       egaint 0.91.99 (18-Jun-89) Being too lazy (and busy) to actually
                      rewrite egaint at this point and time, this
                      version was a kludge to include specific
                      improvements from egaint 0.92.  The most important
                      fix was the test of video pages in the title
                      screen (which, after several almost hilarious
                      attempts, turned out great).  In addition,



                      extended shapes were added, though many of them
                      were quite ridiculous.  Also, minor fixes, like
                      the usage of Esc as an editing key while entering
                      high score names and the deletion of the wilder
                      block styles came into effect.
       
                      A major change was the removal of the Show
                      Statistics code, brought about in part by the
                      implementation of extended shapes and the notion
                      that no one really looks at them, anyway.
       
       egaint 0.92.01 (18-Jun-89) Still no rewrite:  however, since so
                      many of 0.92's features were implemented, it's
                      namesake was used.  Shadowing, a feature seen on
                      an implementation for UNIX by Adam Margulies was
                      begun (and later scuttled).  In addition, the use
                      of Esc to pause, double Esc to quit was added, as
                      was the ability to toggle features during play.
                      Also, initial height blocks were given their own
                      special, muted-color style (in order to
                      distinguish them from "real" blocks).
       
       egaint 0.92.02 (18-Jun-89) This version added true shadowing
                      (though very, very flickery).  In addition, an
                      attempt to use video pages in the actual play
                      itself (the only portion of egaint which does not)
                      was attempted and (as always) abandoned.
       
       egaint 0.93.01 (24-Jun-89) The actual rewrite of egaint began
                      with this version:  however, due to laziness, it
                      turned into a half-rewrite, half-recopy.  On the
                      other hand, all of the rewrite code turned out to
                      be code which needed to be rewritten (i.e., the
                      options screen code remained the same).  A more
                      elegant video paging scheme was implemented
                      throughout the entire program.  Shadowing code
                      was, at the very last moment, commented out due to
                      an inability at this point in time to implement
                      this feature in an elegant (or at least efficient)
                      manner.
       
                      Also, code was added which allowed the user to
                      determine which shape set was currently in use.
                      In addition, the "New" block style was introduced,
                      though not for game play, but rather for the title
                      screen and the game over screen.  Finally, the
                      game screen was changed:  the score window was
                      moved over to the upper-right hand corner, and two
                      help windows were introduced.
       
       egaint 0.93.02 (25-Jun-89) This version mainly consisted of
                      improvements upon the previous version; the most
                      notable was the addition of the "New" block style
                      as an alternative to the "Old" block style.  Also,
                      the score window was updated after each toggle,
                      making it less confusing (originally it was
                      updated only after each shape).
       
                      The game over code was removed because the "New"
                      block style was being used within the game itself.
       





       egaint 0.93.03 (25-Jun-89) The pre-release version of egaint:  it
                      added minor features, like the "Pumped Full of
                      Drugs" and "Really Pumped Full of Drugs" block
                      styles, a new game over screen, and a completely
                      re-implemented extended shape set.  In addition,
                      the "Value" entry in the score window was added to
                      show what the particular shape was worth in
                      points.  Finally, the format of the high score was
                      changed to also include the version of egaint
                      used.
       
                      This version also featured pre-release
                      documentation, a hastily put-together mish-mash of
                      old aint documents with egaint modifications.
       
       
                           STILL TO COME (HOPEFULLY)
       
            Realistically, there is still a long way to go before egaint
       1 can be released; the following are only a few of improvements
       which must be implemented before that release becomes a reality:
       
            * Support (via different versions, like cgaint, hgaint,
              mcgaint, etc.) for different graphics cards, including the
              EGA with only 64K.
            
            * Shadowing.
            
            * More efficient code, allowing egaint to be run on slower
              machines.
       
       In addition, there are ideas which are being considered, such as:
       
            * Background screens:  I've been looking at the idea of
              loading .GIF or .MAC screens onto the background so that
              each user can customize his/her backgrounds to fit his/her
              individual choices.  Another idea is to obtain digitized
              pictures of Berkeley so that we don't have stupid cartoons
              of Russian activities on our screens.
            
            * A different game premise (I mean, this is getting kind of
              boring).























