My name is Stephen McGreal. I'm a freelance programmer, specialising in games and interactive entertainment. I've been designing and programming games since 1989, sold my first commercial game in 1994 and have been working full-time in the industry since 2003.

Read on for more details of my history and the languages, APIs, libraries and platforms I'm experienced with. See the Professional Projects page for a selection of my previous games work, the Personal Projects page for some projects I've undertaken in my spare time, and the Contact page to get in touch with me.


I began programming on a BBC Micro in 1989, aged eight. I was immediately drawn towards games programming because it provided an immediate visual and visceral response to my code, and that sense of wonder remains with me today. Over the years I honed my design skills as well as my programming skills, and in 1994 I released my first game, Blokker on the SAM Coupe (an obscure but wonderful 8-bit computer), followed by several other releases.

In 2000 I studied a BSc in Computer Games Technology (I graduated with a Distinction) at the University of Abertay Dundee - one of the first, and one of the most respected degree courses in computer games programming. I learnt a lot from the course, including programming in C and C++, OpenGL and DirectX, audio programming, design techniques and a famously focussed in in-depth underpinning of mathematics.

In 2003 I led a team which entered Dare to be Digital, an international competition hosted in the university. My team won a prize for "Product with the Greatest Market Potential" for Zoo Crew, a puzzle/platform game featuring a variety of animal characters working together to escape from a zoo. Zoo Crew was also shortlisted for a Scottish Students On Screen award in 2004.

As a result of the Dare to be Digital victory, I was hired by EA, where I worked on a number of projects including two Harry Potter games.

In 2005 I began working for Rockstar Leeds, where I worked on some of the Grand Theft Auto titles, as well as a music generator called Beaterator.

In 2010 I'm making the transition to freelance work, hoping to bring my skills and experience to a wider range of projects and clients.

Languages, Libraries & APIs

  • C
  • C++
  • C# and XNA
  • OpenGL
  • DirectX
  • GLSL
  • CUDA
  • OpenMP
  • Python
  • Lua
  • Flash
  • XML
  • HTML
  • Java
  • Visual Basic
  • Assembly


  • Playstation 3
  • PSP
  • Nintendo DS
  • XBox
  • Playstation 2
  • GameBoy Advance
  • PlayStation (Net Yaroze)
  • PC (Windows and Linux)
  • SAM Coupe
  • ZX Spectrum
  • BBC Micro