Technologist and creative leader, passionate about cutting edge technology and making impactful games.

  • 17 years industry experience
  • 10 years in cutting edge XR, Gear VR to Quest 3S / Vision Pro and beyond
  • 4 years in Technical Direction and tech-leaning Project Direction roles
  • Launch titles on many devices, history of working with pre-release hardware and SDKs. Enthusiastic at pushing boundaries
  • Proven track record building and growing technical teams, mentoring engineers and other technical staff, delegating work
  • Strategic delivery on business goals. Feeding into business strategy sessions, responsible for interpreting studio objectives into short and long term technical plans realised by the technical department
  • Passion for optimising both game performance and development workflows
  • Pragmatic approach for new technologies, balancing a push for being at the forefront with sustainable business operation
  • Demonstrated ownership of architecture, toolchains and technical approach
  • Deep multidiscipline team understanding and track record with all departments

Platforms: Quest 1/2/3, Vision Pro, Android XR, Pico, Rift, SteamVR, PSVR, Switch, Desktop, Mobile, Web
Languages: C++, C#, Python, HLSL/GLSL/CG, JavaScript and many others
Engines: UE4/5, Unity, proprietary engines
Automation: TeamCity, Jenkins, GitHub Actions
VCS: Perforce, Git, SVN, Bitbucket, GitHub, GitLab, Helix Swarm
Other: NPM, Maven, MySQL, MongoDB, Redis, Couchbase, 010 Editor, IDA, Web Development
Animation: Skeletal, Morphs, VAT, Facial Animation, Alembic, Ragdoll, Splines
AI: Behavior Trees, EQS, StateTree, HSM, Squad Behaviours, Crowds, Navigation
Physics: Chaos, PhysX, Box2D, SAT, CCD
Graphics: GL ES, DX, Vulkan, Batching, HLODs, Occlusion, Shaders, Optimisation, Lightbaking
Networking: P2P Realtime, Latency Mitigations, Async MP, Client/Server
Tooling: Editor Widgets, Scripted Actions, Simplygon, Geometry Tools, Internal Servers

Experience

nDreams

Technical Director (September 2025 to Present)

Soul Assembly

Technical Director (April 2025 to August 2025)

  • Formalised return to a hands-on technical leadership role on Street Gods (Quest, UE5)
  • Managing engineering team, general code architecture and development practices
  • Roadmapping, estimation and prioritising code tasks
  • Automated headless lightbaking in UE5/TC/P4
  • Automated builds and UGS binaries
  • World building tools supporting environment art
  • Performance issue detection, collation and reporting (UE5, ASP.NET Core)
  • Investigating engine issues and developing workarounds and hot fixes
  • Static decal system
  • Centralised feedback system (VFX, SFX, Haptics, VO, Post Process Effects)

Project Director (February 2024 to April 2025)

  • Led the development of Street Gods (Quest, UE5)
  • Led the development of Soul Spire, launch title for Apple Vision Pro
  • Contract negotiation with platform holders
  • Managing relationship with platform holder production and dev relations
  • Mentoring team members in Unreal
  • Responsible for budgets and milestone delivery
  • Responsible for resourcing, making key hires and selecting outsource companies and contractors
  • Hands on technical work, particularly with GAS, world building tools and gameplay

Studio Technical Director (March 2022 to February 2024)

  • Led the technical side of splitting the company from Pixel Toys into separate infrastructure with minimal disruption
  • Hired the code team for Just Dance VR, as well as leading initial technical planning and collaboration with technical leadership at Ubisoft Paris
  • Managed security compliance and negotiations with partners
  • Hired and managed the IT team
  • Steered company technical direction, adopting Unreal, modernising dev ops
  • Led development of an internal tool for interacting with devices (similar to MQDH or SideQuest)
  • Created a BI tool that builds historical Meta store data that can be queried as well as alerting to featuring and store positioning
  • Initial tech art lookdev on Drop Dead: The Cabin, day/night lighting system and Bakery light baker customisations
  • Provided technical oversight on third party Home Invasion MR mode development

Pixel Toys

Principal Programmer (April 2018 to March 2022)

  • Following contract work joined as FTE
  • Developed prototype multiplayer code into a robust production implementation for Drop Dead: Dual Strike’s release as a launch title for Oculus Quest
  • One of two principal programmers on Battle Sister, a launch title for Quest 2. Led areas of performance, world building and design tools, graphics, cinematics and many others.
  • Created BLAST for Battle Sister, a rendering engine designed for Quest supporting extreme levels of batching, fine levels of occlusion and sorting, streaming meshes and textures in and out. Consisting of an editor baking tooling and a runtime engine using Jobs with Native Mesh Access and texture arrays. The majority of static environments in Battle Sister render in just 4 drawcalls and are aggressively optimised compared to other typical approaches.
  • Created a standalone VR friendly static decal system
  • Optimised loading stalls so that levels can be streamed in with no frame rate impact
  • Created a VAT baking and playback system/shaders with three modes for facial animation, skeletal animation and debris
  • Heavily involved in all areas of graphics and special effects
  • Created compute shader based colour grading
  • For an unannounced mobile title, created a highly performant stadium crowd simulation in ECS for thousands of agents with interest points and dynamic population management. Rendered using instancing and VATs
  • Created an internal Build Browser using ASP.NET Core
  • Led much of the development of metagame systems for Age of Sigmar: Realm War (iOS)
  • Developed architectural approaches to handle large JavaScript codebases in GameSparks and server synchronisation
  • Full stack development across both client and server code
  • Custom HLOD solution in Unity using customised Simplygon integration for generating proxy meshes for cancelled Apple platforms game.

Sabresaurus

Director (December 2014 to March 2018)

Client Work:

  • Contract programmer for Pixel Toys on Drop Dead for Gear VR, working on the initial Score Attack multiplayer mode using Oculus P2P as well as significant optimisation for the US Galaxy S7. I also added the Gear VR Controller support in an update, as well as improvements for the Rift version such as distance grab interfaces
  • Contract programmer for Pixel Toys on Warhammer 40,000: Freeblade, carrying out much of the iOS to Android port, particularly around third party libraries and monetization
  • Contract programmer for Pixel Blast on Super Powerboy (iOS), primarily working on UI, localisation (including Arabic mixed direction support) and tutorials

Other:

  • Created non-destructive level design tools SabreCSG for the Unity Asset Store, using my own CSG algorithm. Significant editor extension to integrate different workflows as well as texturing tools, compound brushes and experimental realtime CSG support
  • Revengard - Cancelled wave survival game built in Unity, working with contract level design, art and audio.
  • Created several other tools, including PlayerPrefs editor, advanced inspection tools and remote debuggers

Kwalee

Team Leader / Programmer (September 2012 to December 2014)

  • Lead Programmer and designer on Wave Champions (iOS), managing a small cross discipline team
  • Created racing gameplay, including abilities and stunts
  • Track drawing and editing/prop placement interfaces
  • Engineered much of the client network code
  • Custom iOS crash detection for Unity
  • Multiplayer systems work on async game Farm Fighters (iOS)
  • Graphics and weapons implementation on Time Monkeys (Apple TV)

Neon Play

Games Programmer (September 2011 to August 2012)

  • Main developer on Bravo Force: Last Stand, a Time Crisis Strike style game for iOS
  • Created custom spline implementation for Unity
  • Developed all gameplay, including wave spawning, enemy pathing, ragdoll behaviours and weapons
  • Created a mission system used for Bravo Force, as well as Traffic Panic: London, Carpark Challenge and Jewel Jumper
  • Added local network multiplayer to racing adgame Mobil 1: Track Challenge (iOS)
  • Created the initial version of Draw Story, a Drawception style game for iOS. Full stack development from server code working with NoSQL Couchbase database to the Unity client, including drawing on the touchscreen, optimisation around shared images and the full client code

Four Door Lemon

Junior Programmer (May 2011 – July 2011)

  • Solo engineer porting International Cricket Captain 2011 (PC) to Mac
  • Ported game code from proprietary Childish Things engine to in-house Lemon engine
  • Primarily C++, some Objective C and GLSL
  • Fixed compatibility issues in the Lemon engine with Mac support, particularly around DirectX versus Open GL ES rendering issues and platform differences
  • Assisted a colleague with the iOS update of Cricket Captain

Junior Programmer (Placement August 2010 to October 2010)

  • Ported the iPhone game QuizQuizQuiz from the in-house C++ Lemon engine to Windows Phone 7 (C#/XNA)
  • Working with prototype hardware and in-flight APIs
  • Implemented visual refresh of the interface
  • Incorporating WP7 features such as tombstoning (instead of multitasking) and back stack support

Canalside Studios

Games Programmer (Placement June 2009 to July 2010)

  • A number of games developed for clients such as the Royal Armouries and the Frazier History Museum
  • Developed in-house engine on top of XNA
  • Created several tools for material setup/preview, ship rigging and level design

Education

First Class - BSc Computer Games Programming

University of Huddersfield (2007 – 2011)