I graduated from the University of Teesside in June 1995 with a BSc (Hons) in Software Engineering.
I spent the third year of the course working for AT&T in Malmesbury, Wiltshire. It’s a lovely little town and I worked with some really great people, but I quickly realised that developing tools and test suites for telephone exchanges wasn’t my career goal.
I was a regular reader of Edge magazine throughout university and after realising they had actual games programming jobs in the back of each issue, I decided to spend my fourth and final year aiming for a career in the games industry.
Wolfenstein Engine and Linux VGA Drivers
The tutor I was assigned to for my final year dissertation wasn’t fully on-board with my decision to write a game engine but he agreed on the condition that I also wrote a VGA driver for the Linux Operating System that he championed.
I decided to develop my own implementation of the raycasting engine from Wolfenstein 3D that was popular at the time. Although Doom had also been released with a superior engine that could handle angled walls and differing floor heights, there were just enough technical articles available in the early days of the world wide web to understand the process of the Wolfenstein engine. Besides, I still had a Linux VGA driver to write.
The VGA driver proved to be hazardous. The tricky thing was to use 80×86 assembly language to switch the graphics into VGA mode, setting up the timings for the monitor’s vertical and horizontal sync. Since there was little documentation and my small CRT monitor was cheap, there were a few occasions when I had to quickly turn off the screen and reboot the computer before the whistling noise turned into something more dangerous.
The engine itself turned out quite well and after adding an intro screen with a few sprites and palette cycling effects, I had an effective demo that I used in my search for a games industry career after my graduation. Although by then, I had ported it to DOS.