Paul Mannering

Work Experience

  • 16 years commercial video games programming experience
  • Lead Programmer on 4 games
  • 26 commercially shipped games
  • PC, Console, Mobile, VR and AR development experience
  • Unreal and Unity Game Engine development experience
  • 23 years C++ programming experience
  • 11 years C# programming experience

Platforms that I have worked on:

Meta Quest PSVR2 Nintendo Switch
Android PS5 3DS
iOS PSVR WiiU
Windows PC PS4 Wii
Xbox One PS3 PS2
Xbox 360


The Story So Far...

Hi, my name is Paul James Mannering and I have been programming video games since the age of 14 (the year 2000). When people ask me why I started doing this, it's quite simple. I loved playing video games so much that I had to find out how to make them.



The Beginning

The first thing that inspired me to take this route in life was when I brought a Sony PlayStation One console (in 1998). It was the first time I'd experienced true 3D game environments, and the idea of creating my own, for the rest of the world to play, was all the inspiration I needed.


Back in the day I started off by trying to learn to program in C++ and created a few simple text based video games. However, starting off with C++ as my first programming language was a bit like being thrown in at the deep end before you can swim. It was really hard, and with no real tangible output (after so much work), I eventually threw in the towel.


However, it wasn't long before we started doing some programming at school with Visual Basic. As a side project I developed a simple card game called Target Cards (the aim was to draw up to 5 cards from a pack, then add them up to get as close to the randomly generated target number as possible).


Target Cards

Target Cards, developed in Visual Basic (2001)


Now with this simpler/higher level programming language under my belt the C++ didn't seem so daunting. So I gave it another shot and this time it made much more sense.


Next came the step up in class. Moving from creating C++ text based video games to creating C++ graphical based video games. I started by learning MFC (Visual C++) to achieve what I'd done in Visual Basic with C++, but it soon became clear that 3D video games went way beyond drawing buttons and dialog boxes.


So then at the age of 16, I brought a book on DirectX 8 (Game Programming All-in-one, 1st Edition) and made the dream of creating 3D worlds a reality...well it was a start anyway (I couldn't model 3D geometry of my own then so use your imagination). Again, the step up in difficultly was hard to get my head around (especially while balancing School work at the same time), but I persisted. As a side project, I also experimented with the Half-Life Hammer Editor to create a few maps for Counter-Strike.


Counter Strike Map Screenshots

Click on this picture for more Counter-Strike map screenshots (2002)



University

Then just as I started University (in 2004) I brought a book called Programming a Multiplayer FPS in DirectX, written by Vaughan Young. Somehow this book made everything to do with the C++ game programming easy to understand, and it was the catalyst I needed to not only create my own simple FPS, but also to develop my own game engine (if you're reading this Vaughan, I can't thank you enough).


Game Programming All-in-One, 1st Edition Programming a Multiplayer FPS

Early books that were a great help along the way


Then time passed (2 years), and the end result was a 3D shader based game engine, which I called Project Realism (written in C++, using DirectX 9.0c and HLSL shader model 2), and an accompanying map editor called the PREditor (Written in MFC...so it did come in handy after all). The only thing missing was a game to show it off. Now at University, I was set a final year showcase project to complete my degree. The only thought in my head was to write a 3D video game.


The game that resulted was called Boy Racer, a 3D street racing game based on bashed up old cars (something not seen very often in the gleaming world of most 3D racers). For this I also teamed up with 3 other people (who worked on the 2D Artwork, 3D Models and Audio). The Boy Racer website is now hosted here.


Boy Racer

Boy Racer, released March 2007



Commercial Job

After completing my degree, I needed a new challenge in life. So I decided to look for a job making commercial video games.


I especially wanted to program games for PlayStation/Xbox/Nintendo games consoles, and I even turned down a really good PC based game programming role because I REALLY wanted the experience of developing for games consoles (NOTE: Game console development was not as open as it is now. Games consoles were not just made of PC components back then. They were challenging to work on!).


My first job in the video games industry was at Zoe Mode as a Junior Programmer, then Staff Programmer, and finally Lead Programmer, between 2007 and 2014. I also did some contracting work for them later in 2015 and 2016. The 20 games I worked on there (that shipped) were:


  • Marvel: Ultimate Alliance 2
  • Marvel: Ultimate Alliance
  • Powerstar Golf
  • Risk Urban Assault
  • Risk Domination
  • Crush 3D
  • Chime
  • Chime Super Deluxe
  • Guitar Hero Live
  • The Voice
  • Office Daze
  • Zumba Fitness World Party
  • Zumba Kids
  • Zumba Fitness CORE
  • Zumba Fitness RUSH
  • Zumba Fitness 2
  • Disney Sing It
  • Disney Sing It: High School Musical 3
  • Disney Sing It: Pop Hits
  • Disney Sing It: Party Hits

For more information about these games, see the games I've worked on page here



Remote Commercial Contracting

At the end of 2014, I learned a very valuable life lesson. No matter how good the work you produce, no matter how hard you try, if the company you are working for runs out of work, you are out of a job.


I had been working non-stop for the past 7 years (since I graduated from University), so I had a few months off to reflect on what todo next. Going forward I wanted to continue making commercial video games, but I did not want to repeat the mistakes of the past. So, I decided I wanted to change the following:


  • No more unpaid overtime
  • No more crunch
  • No more long commuting journeys
  • No more working on games I was not excited about
  • No more working under the fear of losing my job
  • No more working on games with impossible milestone deliveries

Luckily the game development landscape had changed massively over the past 7 years. Back in 2007 (when I started working commercially on video games), it was only PC or Console game development opportunities in the South-East of England that I had considered. But now with fast broadband connections and an explosion in demand for video games (due to the smart phone boom and a lot more people playing video games), a lot of job opportunities had been created.


I quickly realised that demand for experienced programmers had sky-rocketed, and having done the same job for 7 years, I had not realised how underpaid I had been for all my hard work.


But doing another employee-based job was just going to be more of the same. So, I decided to take the risk of starting my own company Mannering Entertainment Limited and only taking on remote contracting work. This would mean no more commuting, invoicing for each hour worked, only working on games that I wanted to, and the flexibility to continuously re-negotiate my contracting terms at the end of each contract.


I am still doing it now, and enjoying helping lots of developers realise their dreams. So things have turned out pretty well!



Game Engine Revolution

Up until 2018, I had mainly been working with proprietary game engines developed in-house. But this was changing fast.


When Unreal Engine 4 had first released, it was not the most cutting edge / fastest game engine available (it also still cost money to license). This had led to many companies continuing to develop their own proprietary game engines. But this was missing the point. Games had become very difficult to make. Having good development tools was now far more important than the maximum performance of the game engine itself.


When Unreal Engine changed to a no upfront development cost model with full source code access available to anyone, the days of mainstream proprietary game engine development was coming to an end. Only the largest AAA publishers were still going to play this game, and everyone else was going to use an off the shelf game engine like Unreal or Unity going forward.


At this point I decided to invest in learning Unreal Engine. But not just how to use it from a game development perspective. I also invested in learning it right down to the source code level, just like you would a proprietary game engine. This turned out to be a very good move, as many game development companies want source code modifications to Unreal Engine so that it better fits their needs, runs faster, or to add a missing feature they need to ship a game.