← Back to CV

Engine Experience

Native Engines

Three engines of my own written from the ground up in C and C++ — GLToy, then Cerebro, and now Una. Renderers, resource pipelines, physics integration, platform layers and the tools around them, across 28+ years of C++ on consoles, desktop, mobile and VR.

28+ Years with C++
7 Platform Families
8 Shipped Titles
3 Engines Of My Own

What I Build

🎨

Rendering

Renderer architecture and graphics features from the API up — OpenGL, Direct3D and console-native pipelines. Dynamic lighting, special effects, post-processing chains and shader authoring in HLSL and GLSL.

OpenGLDirect3DHLSLGLSL
🧩

Engine Architecture

Subsystem and module design, asset and resource pipelines, serialisation, memory management, and the platform abstraction layers that keep one codebase running on very different hardware.

C++SystemsCross-platform

Performance

Optimisation under shipping deadlines — including a whole-codebase pass across the final eight weeks of Bodycount. Visible surface determination, draw call reduction, cache-aware data layout and GPU profiling.

ProfilingVSDMemoryGPU
🌐

Physics & Maths

Physics integration, collision and simulation, plus the mathematics underneath it — implicit surfaces, procedural generation and numerical methods. Maths and physics are the hobby as well as the job.

PhysicsProceduralMaths
🛠

Native Applications

Native work well beyond games: compositing software at The Foundry, an infinite-canvas drawing renderer at Mischief, data profiling tooling in MFC/ATL/WTL, and native iOS and Android layers.

NUKEMischiefMFC/ATL/WTLObjective-C
🖥

Platforms

Windows 3.1 through 11, most console generations, Linux, Mac OS X, iOS, Android and various VR headsets — including bring-up and early tech work on then-unreleased hardware.

ConsoleDesktopMobileVR

Shipped Titles

Games and applications built on in-house and custom engines rather than a commercial one. Release years are shown — on several of these the work was done well before ship.

2010

Aliens vs. Predator

PC · Xbox 360 · PS3 · Rebellion

Graphics and special effects work, plus engine features and fixes on Rebellion's in-house technology.

2009

Rogue Warrior

PC · Xbox 360 · PS3 · Rebellion

Engine features and fixes as required through development.

2012

NeverDead

Xbox 360 · PS3 · Rebellion

Design and implementation of graphics and special effects, plus key gameplay features.

2012

Sniper Elite V2

PC · Xbox 360 · PS3 · Rebellion

Rendering and engine-level work on Rebellion's in-house technology.

2014

Sniper Elite III

PC · Consoles · Rebellion

Rendering and engine-level work on Rebellion's in-house technology.

2011

Bodycount

Xbox 360 · PS3 · Codemasters

Graphics and special effects, the visible surface determination solution, and a whole-codebase optimisation pass over the final eight weeks.

2011–13

Star Chart

iOS · Android · Windows 8 · Escapist Games

Augmented reality stargazing on a custom cross-platform engine — audio, rendering, networking, systems, gameplay and UI. Rated #1 educational product on Google Play.

2011–13

Pogo Guy

Mac OS X · iOS · Escapist Games

2D procedural platformer on the same custom technology. Reached #1 free kids game on the Mac App Store.

2009–11

Unreleased

Rebellion · Codemasters

Two further Rebellion projects cancelled before release, and early tech work on then-unannounced platforms at Codemasters.

Selected Work

Una

Current engine — the Unreal killer

Current
  • A new engine with AI woven through it rather than bolted on afterwards
  • Built to compete with Unreal on its own ground, not to sit alongside it
  • Modern C++, with rendering and tooling designed around fast iteration

Cerebro

Cranium Software

2013 onwards
  • The engine behind Known Space, the iOS astronomical visualisation app
  • Successor to GLToy — the second of the three engines, and the one that had to ship

GLToy

Personal engine project

Earlier
  • Cross-platform C++ game engine with advanced rendering, physics integration and dynamic lighting
  • The first of the three, and where a lot of the ideas in the two above were worked out

Senior Software Developer – NUKE

The Foundry

Feb 2016 – Jan 2017
  • Native C++ development on NUKE, an industry-standard compositing application

Senior Software Engineer

Made With Mischief, Inc.

Jun 2014 – Feb 2016
  • Mischief — an innovative infinite canvas drawing application built on custom native rendering technology

Programmer

Escapist Games Limited

Nov 2011 – Apr 2013
  • Programming across all disciplines on custom tech — audio, rendering, networking, systems, gameplay and UI
  • Star Chart — augmented reality stargazing app for iOS, Android and Windows 8
  • Pogo Guy — 2D procedural platform game for Mac OS X and iOS
  • Wrote articles on planetary rendering and atmospheric effects for Intel Software Adrenaline

Experienced Programmer

Codemasters

Nov 2010 – Nov 2011
  • Design and implementation of graphics and special effects in an in-house AAA engine
  • Visible surface determination solution for Bodycount
  • Optimisation across the whole codebase during the last 8 weeks of the Bodycount project
  • Early tech work on future platforms for other Codemasters projects

Junior Programmer

Rebellion

May 2009 – Mar 2010
  • Graphics, special effects and gameplay code on PC, Xbox 360 and PS3 using C++ and shader languages
  • Implementing in-house engine features and fixes for Rogue Warrior, Aliens vs. Predator and NeverDead

Other Engines