home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
games
/
egaint.zip
/
DISKMANT
/
EGAINT
/
INFO.DOC
< prev
next >
Wrap
Text File
|
1989-07-13
|
5KB
|
93 lines
A LENGTH DISCOURSE ON FALLING SHAPES WITH
TRANSLATIONAL AND ROTATIONAL MOTION
I guess that when you read about a computer game in Newsweek, there
must be something special about it; of course, I'm talking about that
Soviet falling-shapes-with-translational-and-rotational-motion game known
as TETRIS. According to the opening screen of Spectrum HoloByte's
implementation of the game for the Apple Macintosh family of personal
computers,
TETRIS was invented by a 30-year-old Soviet researcher
named Alexey Pazhitnov who currently works at the
Computer Centre (AcademySoft) of the USSR Academy of
Sciences in Moscow. The original programmer was 18-
year-old Vadim Gerasimov, a student studying Computer
Informatics at Moscow University.
Unfortunately (or fortunately, depending on your point of view) for me, I
don't own a Macintosh, but rather, I own an IBM PC-AT compatible Toshiba
Portable Personal Computer, so I sort of felt left out of the fun of being
able to play TETRIS.
Okay, before everyone starts trying to correct me, I knew full well at
that time that there are several implementations of TETRIS around for the
IBM Personal Computer family; one from Spectrum HoloByte (which looks, to
be honest, absolutely hideous in its three color, low resolution display
mode; I mean, I realize that it's not Spectrum HoloByte's fault, but rather
the fault of the designers of the IBM Color Graphics Adapter), the Son of
TETRIS Project (an obscure program which I no almost nothing about), and
NYET, the public domain implementation by David B. Howorth. In the
included documentation for NYET 1.2, Howorth professes:
I claim no credit for inventing this game; that was
apparently done by A. Pajitnov [sic] and V. Gerasimov
in the Soviet Union. They called the game TETRIS. I
wrote [NYET] ... mainly for the hell of it, but I
improved on the original where I thought it needed it
(NYET has the ability to run on monochrome screens, a
running speed largely independent of processor speed,
and a more responsive feel).
So where does egaint into play? Well, this TETRIS thing all started
for me when I was in the student union video arcade getting quarters so I
could do my laundry with these coin-operated washers and dryers; while I
was there I happened to see this video game with a dense pack of what
appeared to be worshippers: it was the (yet another) arcade implementation
of TETRIS. After staying for about five minutes to catch the basic gist of
the game, I decided that it was probably a deceptively easy program to
write, and that perhaps I should try when I have some free time.
No, I didn't start developing my variation on TETRIS just yet: the
above occurred around four months ago; TETRIS did not seem like such a big
deal to me, so I soon forgot about it.
However, my interest in TETRIS returned one night when, while perusing
the wares of a Bay Area bulletin board system under a false identity, I
came across NYET12.ARC and downloaded it (it must have been a while ago if
they had not yet converted to the .ZIP format); later that night, getting
into a discussion concerning TETRIS and NYET with my two roommates, I
somehow weaseled my way into a challenge: implementing TETRIS in twelve
hours.
Well, in case you're interested, I lost the bet; it ended up taking me
around four days (given that I also needed to attend classes--being that
I'm in college--and also eat, sleep, work out, and just plain have a social
life) and two languages (Microsoft C 5.1 at first and Turbo Pascal 4.0
later) to produce aint 0.0 (actually, it only took me around twenty-four
contiguous hours, but who's counting?).
aint is a recursive acronym for "aint is not TETRIS," and the program
with that moniker was a text-only (like Son of TETRIS and NYET)
implementation. After several bug fixes and rewrites, after getting
comments from my friends and roommates, and after distributing it in a very
exclusive fashion, I decided that a graphics implementation of aint was in
order.
Actually, I more than just a graphics implementation of aint in mind:
rather, I had a truly portable version of aint, one which would compile,
with minimal changes, on different machines with different display adapters
in different graphics and text modes.
Well, it wasn't too long before I dropped that crusade and settled in
for something more at hand: a version specifically for what I had, that
being a Toshiba T5100 Personal Portable Computer with an Enhanced Graphics
Adapter with 256K memory.
Thus egaint ("enhanced graphics aint") was born, albeit slow,
flickery, and in four shades of orange. And from this initial
implementation, I have evolved to here (and let me tell you, that was some
evolution).