After experimenting with programming for a number of years on the ZX Spectrum progressing onto the MSX, then in 1986 I started to work professionally in the games industry with Maelstrom Games. Now in a professional environment I started to seriously focus on games, from the early planning stages through production and then the finished product on the shelf, my first published game being Dark Sceptre for the ZX Spectrum. From this lowly beginnings as a junior programmer I have progressed through every aspect of games development touching on every programming discipline, from the low level hardware programming to AI, collision, camera, player controls, sound driver, disk OS, 2D graphics, 3D graphics, networking and general game play, I have even had to do some art work. I have also taken charge of a number of teams in various capacities, from simply taking care of production builds to Tasking, scheduling, inter-department collaboration and reporting directly to management on a daily basis with project updates and issues.
The reason I first got into the games industry was because of the excitement of all that could be achieved on the ZX Spectrum and I am still just as excited with every new piece of hardware that appears, be it high quality graphics boards on the PC to the Kinect on the Xbox 360 which has filled my mind with all sorts of ideas for new ways to control and interact with games. Right now I am working on a number of demos and projects using the Unity engine, this gives me a great opportunity to learn the system.
- Excellent knowledge of C/C++
- Excellent Knowledge of C# on both XNA and Unity systems
- Working knowledge of Java and HTML
- Understanding of modern shader language
- Extensive knowledge of machine code and assembly language for the Z80/6502/8086 family
- Worked many computer and games systems from ZX Spectrum / Commodore 64 / MSX / Atari ST / Amiga / Mega Drive
- Extensive knowledge of PC architecture both in building systems and programming the hardware
- A strong understanding of the console hardware including PSX / Dreamcast / PS2 / Xbox / Xbox360 and PS3
- Created Audio and Visual environment effects systems, playing of 3D sounds and the queuing of visual effects
- Experience with camera systems, design and implementation
- Design and implementation of data driven particle systems and standalone editor
- A good knowledge of Unity3D and its general systems
- An understanding of the Unity character animation
- Standard unity networking and server coding
- Working knowledge of the unity particle system(I shall be exploring this system more when I get the time)
- Good knowledge of the Unity physics system (again I will be exploring this in more depth as time progresses)
- Use of Unity GUI system
- Unity3D game environment, Monodevelop
- All versions of Microsoft Visual Studio up to the current 2010 release for PC, Xbox and Xbox360 development, and also in conjunction with SN Systems products for developing for the Playstation, PS2 and PS3
- Codewright editor in conjunction with SN systems development hardware for the development of Commodore Amiga games
- HiSofts GenAm for Atari ST development
- Z80 Assembler for ZX Spectrum development
- Over the years I have used a number of source control systems but i am most familiar with SourceSafe, Perforce and SVN, more recently have started to use a product called GitHub although not my particular favourite it does have the advantage that all server setup and administration is handle remotely by their system administrators.
- I have used a number of art packages, although no expert in any of them I am fairly proficient enough to complete the more simple 2D art tasks, DPaint, Paint Shop Pro, All versions of Photoshop up to CS5
- I have also used both Maya and 3DS Max, allowing me to make tweaks of models as required.
- I have become quite accustomed to editing both video and audio, video editing with Adobe Premier and usually Audacity for audio editing
- Cobol Programming and Systems analysis distance learning course with Computeach International 1984 – 1986
- On the job training, and still learning