Letters from Terra - early projects
My very development as a programmer
is catalogued in the history section; in this
area of the site I will attempt to provide a
record of the major projects that absorbed me
as I was starting to acquire a more secure grasp
of the language, and use this as as evidence
of my development as a programmer and the increased
sophistication of the programs I attempted to
formulate. My first major project employing
graphics was Trooper I, which I presented as
a full game, with menus and high score files.This
consisted of one background screen, with a device
moving sprites in a simply animated fashion
over it: and although Trooper I was infinitely
less complex than Trooper II or my 3D engine,
it required a similar duration of programming,
due to my unfamiliarity with both the language
and standard form of game programming. However,
during this process I acquired the confidence
of using MCGA sprites, and simple tools such
as Canvas, my home made drawing program that
allows simple design of unformatted images (img
files), and allowed me to effectively edit my
home made animation sprites. I also included
a PCX file loader for the background, and manually
converted the palette for the sprites. Once
the game was finished, the addition of mouse
control, and my own understanding of the image
routine libraries allowed formed a natural progression
to Faculty, which operated in much the same
way: images moving in front of a static background,
with simple mouse control allowing interaction.
However, in order to include images of different
size, for the first time I had to almost completely
rescript the pascal image routines, inventing
my own means of storing image data, as well
as my own records for the registering of images
within the program. It also raised issues pertaining
to the memory in use: Trooper I had used exclusively
Data segment defined arrays for the storage
of sprites, but this was no longer sufficient,
and pointers to other areas of the heap had
to be employed.
Back
to Early Projects | Next
page