SOME COMMONLY ASKED QUESTIONS ABOUT EGAINT

Below are a few of the more commonly asked questions about egaint
(though don't let these answered queries prevent you from getting into
contact with me):

 Q: Why do your blocks rotate different from Tetris?
 A: Because when I first wrote aint, the text-based predecessor to
    egaint, and later when I wrote egaint, I randomly chose a direction
    for rotation (clockwise seemed more "unified" at the time); this was
    because I was not very familiar with Tetris (being that I had only
    seen it a couple of times).

    Later versions of egaint incorporated bi-directional rotation (i.e.,
    clockwise and counter-clockwise), a "feature" picked up from a UNIX
    rendition by Adam Marguilies.

 Q: Why don't you modify egaint so that it rotates like Tetris?
 A: Ever since bi-directional rotation was incorporated, egaint has been
    able to rotate "like Tetris."  In fact, the Russian and Finnish key
    bindings were specifically to provide "Tetris compatibility" after
    several constructive criticisms were received concerning this.

 Q: How did you pick the name "egaint"? the names for the block styles?
    the names for the key bindings?
 A: "Egaint" stands for "enhanced graphics aint" where "aint" stands for
    "aint is not Tetris" (it's recursive).

    As for the block styles:

    Classic                  The original block style with which egaint
                             was created with.

    New                      A block style created solely for the title
                             screen, it quickly ushered in the block
                             style option.

    Pumped Full of Drugs     This was named after a (lethargic) New
                             Order concert video.

    Barbed Wire Kisses       Originally named Psychocandy (after The
                             Jesus & Mary Chain's first album), it was
                             changed to the name of their third album
                             after it was found that it caused problems
                             for the configuration file parser.  This
                             was what Pumped Full of Drugs was intended
                             to be.

    Arpeggiator              This moniker came from a Durutti Column
                             song; this and Elephant Stone represented a
                             later return to simplicity.

    Elephant Stone           By far, this block style is everyone's
                             favorite:  it sort of reminds me of some of
                             Jackson Pollock's works.  The name came
                             from a (very good) song from The Stone
                             Roses.

    Really P.F.D.            Again, "P.F.D." stands for "Pumped Full of
                             Drugs"; this is just a random combination
                             of all of the above block styles.

    As for the key binding names:

    Classic        The original key binding with which egaint was
                   created with.

    Russian        A Tetris-compatible key binding, it "fixes" the
                   reverse rotation problem which many former Tetris
                   players complain about.

    Berkeley       A UNIX vi-compatible key binding (named, of course,
                   after the university which forced both BSD UNIX and
                   vi upon the world).

    Left-Handed    The classic key binding, except for left-handed
                   players (it should be fairly obvious).

    Finnish        The Russian key binding, except for left-handed
                   players.

    San Francisco  The Berkeley key binding, except for left handed
                   players.

                   When looking at maps, both Finland and San Francisco
                   are to the "left" of the Soviet Union and Berkeley,
                   respectively.

    Arrow          The number-pad-with-Num-Lock-on key binding (again,
                   this should be fairly obvious).

    User-defined   The user-definable key binding (this also should be
                   fairly obvious).

 Q: Why do the shapes rotate even when they're not supposed to rotate
    (in other words, why do they have a definite center of mass, not in
    the center)?
 A: The reason why the "box" rotates around one of its corners is
    because of the way I implemented rotation.  The shapes are stored in
    terms of their individual blocks as x and y coordinates (i.e.,
    {(-1, 0), (1, 0), (2, 0)} for the "bar"), with the exception that
    one block is implied (i.e., (0, 0)).  This implied block is then
    deemed the axis of the rotation by the routine which generates the
    rotated images (being that I only have them stored once).

    On an aside, this will probably be "fixed" in a later version (or at
    least made into a option).

 Q: Why does egaint take so long to load? go from the game over to the
    high score screen? in general?
 A: Several reasons.  The reason why egaint takes so long to load is
    because it's generating all of the images for all of those damned
    block styles.  This will be improved upon in later versions with the
    advent of prefabricated images (except for those "random" block
    styles).

    The reason why egaint is so sluggish elsewhere is probably due to
    the fact that video page switching has been implemented to reduce
    flicker.  Of course, there's a tradeoff:  reduced flicker means
    slower execution time.

    That or my code is just plain inefficient!
