About me

Vladimir Nabokov

Books
Programming
Biochemistry
Aim | Communicate

Search
 


 
 

 

     
Letters from Terra - Life in water warmed by sunlight
 
 

Programming history

I have always been beguiled by computer programming. When I was 6 I used to fruitlessly probe the ancient BBC computers at my primary school to see what they, and I, was capable of. I was repeatedly frustrated by any efforts to create a functional program for several years: I tried using batch files to program an 8086 running DOS, I experimented with dog BASIC and even LOGO, I invented my own protocols and was continually trying to force simple graphics, animation and file control out of these systems. I finally got a hold when I discovered QBASIC on my 486- but soon my ambition had grown to the degree where the speed and lack of graphical libraries frustrated me. Pascal was the solution to all my problems- it was incredibly fast compared to BASIC, had a simple syntax, and offered such a degree of control that I mashed my hard drive on several occasions. I made a copy of the program (still not available free from Borland- but on offer here) off of the school servers, and taught myself purely through intuition and examples downloaded from the internet. Within a year I acquired some knowledge of assembler and was putting together my own libraries for graphical control. Prior to this I had already completed a number of minor projects using the versatile MCGA 320x200x256 mode- namely Trooper I and Faculty: which I now consider a training period where I acquired sufficient knowledge to put together my largest project, Trooper II. This was a platform game of massive scope, using an object-orientated approach to define objects that appeared in the game. This allowed objects to be designed and defined by the player using a level editor that I constructed early in the game's history to allow myself to put together complex levels; and completely original levels to be put together in seconds. The engine considered each object individually, manipulating all the game variables in real time: so any combination could be designed, and the engine could normally treat the combination as a unified whole. Since MCGA was used for the game, and all the artwork was produced by myself and my sister, Trooper II is, quite frankly, not too graphically impressive: but, accordingly, the graphics run extremely fast (60 fps) even on my 486, and the game is frantically fast paced, and has a strange, almost impalpably complex rhythm. I eventually had to force myself to stop adding extra features and levels to the game when it was sold as part of our schools's young enterprise- the full (technical) construction history of Trooper II can be found in its section of this site. As well as this, I have perfected units for most aspects of sound, music, XMS and EMS memory management, my own hi-res graphics engine written exclusively in assembler, copious imaging tools including a compressor, a 3D modeller, and have recently completed a working texture mapped 3D world. I occasionally do work in Delphi, particularly when making tools for my own use; but have also put together a 32-bit level editor for Trooper II, and several fractal generators, including the Mandelbrot set.

Page 2 - The appeal of programming

 
 
Letters from Terra | Updated 15th December 2004 | By Jonathan Ayling