Short selection of technologies I've owned & used over the years and some memorable moments.
Here's the best I can remember:

  • 1986 - COMAL on the BBC Micro at the end of Primary School. Started taking an interest in computers.
  • 1987 - Spectrum 48k Dad picked up a second-hand shop. Needed a piece of card to stop the power cable falling out the socket, but apparently that wasn't rare. First game programmed on this in BASIC, and it used the joystick! Game was 'running-around-the-forest-collecting-treasure-avoiding-water'. Loading games from tape. Skipping to the next level by just pressing play and not rewinding to reload!
  • 1990 - 8086 (XT) with a turbo button. The Secret of Monkey Island on a monochrome EGA monitor, that made hunting for those 'yellow' flowers in the forest a serious challenge! Used PathMinder and GEM shells. GEM was good for its built in DTP (Desk-top-publishing) and art packages.
  • 1991 - Colour EGA monitor! No longer have to use cross-hatching to represent shades of grey.
  • 1992 - Pretty sure Wolfenstein 3D made an appearance on the old 8086 box at this time. It ran on almost no resources at all by today's standards and the sounds were forced out the in built PC speaker (and sounded terrible)
  • 1993 - QBasic (MS-DOS). Examining the code behind nibbles and gorilla to tweak the existing games and make very simple new ones.
  • 1993 - 486 encounters of the best kind: Walked into a computer store to see a demonstration model 486 486DX2 66 MHz (the only one in the shop) running a copy of Doom. Demo of E3M1 was running, plasma rifle was firing and I was standing in the store with my jaw open. Picked up a box with the shareware 3.5" floppy disks inside but don't think I got it working...
  • 1994 - Sure I found a way to justify a 486DX2 66 MHz. Probably something about education. Probably nothing about Doom. Or Doom level editing. DEU and linedefs and sectors and many many late nights.
  • 1997 - School coursework was to write a small computer program that demonstrated logic and your understanding of the language. Everyone else in the class handed in COMAL programs for the BBC Micro, e.g. press-a-button-increment-the-number. I handed in my version of Chess (with graphics and AI) in QBasic on 3.5" floppy. Started to realise what to do after high school.
  • 1998 - Visual Basic, C++ and ANSI-C algorithms as a fresher at Napier University.
  • 1999 - Assembly language (ASM) and SQL in second year of University.
  • 2000 - Introduction into Java, and JSP (Java Server Pages), and UNIX, including C shell (csh), Korn shell (ksh) and Bourne shell (sh) with Sun Microsystems.
  • 2001 - 2.5D Java Maze (software renderer). Because when you have a full time job AND a University course to complete, a software renderer is what you need.
  • 2002 - Created a Lexical interpreter and neural network, to learn about building up word associations and training data. Front-end was a strange mix of JSP, Javascript and Flash.
  • 2003 - GL4Java (thanks Sven Gothel), OpenGL bindings for Java as early M.A.C.E. version developed. First proper foray into OpenGL. Picked up Milkshape3D and Terragen.
  • 2004 - Swish flash creation and flash-to-java, java-to-flash interactions. Swishzone closed October 2016.
  • 2007 - JOGL, developed by Sun Microsystems Game Technology Group - more OpenGL bindings for Java, used for Eternity II puzzle solving. Also heavy use of MySQL for offline generations of pre-cached tilesets.
  • 2008 - Grid computing, and distributed computing as part of the Eternity II puzzle solving attempt.
  • 2009 - Genetic algorithms, used as part of the Eternity II puzzle solving attempt.
  • 2010 - Graphics card programming and hi-performance tuning as part of the Eternity II puzzle solving attempt.
  • 2011 - Zombies in mah house, Global Game Jam. Multiplayer network code, animations and game logic. Hi-scores! Fun!
  • 2013 - Hunt The Wumpus: Global Edition, Global Game Jam. Java client, nodeJS + coffeescript server for many global players.
  • 2014 - Jail Break, Global Game Jam. In-jam learning of Android game development. Nothing like the deep-end!
  • 2015 - Village Pillaging, Global Game Jam. In-jam learning of LibGDX, used for the first time. Dual-platform game (Desktop + Android).
  • 2016 - Pentagram, Global Game Gam. Better engine built for LibGDX framework, with controller support. How to deal with 21:9 ration screens and (separately) 4K resolution.
  • 2017 - Project (Y,X), Global Game Gam. Tower defence from a heavily refactored 'Mace Dungeons' project for the tilemap and AI work. Named due to confusion about 2D arrays being [x][y] or [y][x]. (rows then columns = [y][x])