About
Team Leader, Project Manager & Senior Software Developer.
19 years' experience in the game development industry in various programming and management roles, delivering market-leading titles to millions of users across multiple platforms.
- Based: Milton Keynes, UK
- Freelance: Available
- Technical Planning
- Determining viability and low-level system requirements of games design proposals and approval of technical design documentation.
- Project Management
- Scheduling and specification of deliverables. Skilled in scrum and agile methodology and experienced in cross-team and external company communication.
- Team Leadership
- Managing and mentoring teams of programmers.
- Software Development
- Proficient in multiple programming languages with experience in the internals of many game engine systems.
Stats
Released Projects worked on throughout my career
Years professional experience
Platforms natively developed for
Programming Languages & Tools
The following is a list of programming languages and tools I have worked with for many years professionally:
C/C++
Nearly two decades working on company proprietary game engines (including my own) and most recently Unreal Engine.
C#
10+ years working on both server and client systems, the later including Unreal Engine and Unity.
Python
Designed and wrote APIs for public facing game backend microservices and internal DevOps tooling for multiple games with competitive online features.
Java
Used during my degree and since then professionally working on an in-house analytics service pipeline and additionally when writing native Android interfaces for proprietary game engines.
Unreal Engine 4/5
Worked in both C++ and Blueprints when shipping a cross platform title on multiple stores. Modified and adapted the UE source in order to deliver a modding tool for content creators. Currently working on another as yet unannounced title.
Unity
10+ years working with Unity delivering multiple titles on desktop and mobile, including a physics based MMO using Spatial OS.
Perforce
As well as using Perforce for software development and setting up branching pipelines for teams, my responsibilities have included migrating an existing project repository to a new Linux server and handling all administration.
Git
Worked on many applications (mostly server-side code but occasionally for projects that were 'light' on assets) where Git was the source control tool of choice.
SVN
Responsible for branching strategies and administration of multiple projects using SVN.
TeamCity
Responsibilities have included setting up automated Continuous Integration/Deployment build pipelines and maintaining the build machines.
Other notable areas of experience include PostgreSQL, Javascript, Clojure, Scala, Swift, Objective-C, Docker, SpatialOS, RealityCapture and Blender.
Platforms
List of relevant platforms that my professional experience has covered:
Steam (PC & Mac)
Epic Store (PC)
Playstation 4
Xbox One
iOS
Android
Linux (Backend)
During my career I have also worked on many of the classic platforms including the Nintendo Gameboy Advance, Gizmondo, Nokia N-Gage and more!
Resume
Whether it be as CTO, lead programmer or as a project manager, I have a proven record of designing and delivering robust, secure and high performing solutions whilst always prioritising the requirements of the business. I have the required focus and initiative to work alone, and the necessary strong communication skills to effectively work in a team. I am comfortable in multiple programming languages and particularly enjoy finding solutions to problems constrained by limited resources.
Professional Experience
Independent Developer and Consultant
May 2015 - Present
Raiden Limited, Milton Keynes, UK
- Freelance software developer and consultant for Unity and Unreal Engine projects.
- Created Virtual Lawn Bowls:
- Based on my own cross native platform game engine, with various systems written in C, C++, Objective-C, Swift, Java, Python and Javascript.
- First released the game on iOS and Android 10 years ago, it still has a strong following and community.
- Run monthly online eSports leagues and tournaments, supporting automated matchmaking of online matches.
CTO
August 2021 - Present
Drone Champions League, Remote/Vienna
- Joined the Drone Champions League as a director to manage the technical aspects of the eSports platform.
- Finding and working with outsource companies to deliver the 'digitization' of our partners' host cities and tourist attractions to bring them into the DCL platform. These locations were captured through on-site photogrammetry and processed through a pipeline consisting of RealityCapture, Blender and Unreal Engine.
- Specified and planned the necessary requirements to modify our existing infrastructure in order to execute:
- Live eSports tournaments that are broadcast on Twitch.
- Weekly episodic content for multiple on-demand broadcasters via a pipeline to capture pilot data and re-create races in post-production.
- Fully automated, 24h live virtual 'AI' drone racing for our betting partners.
Lead Developer & Full Stack Developer, Freelance
April 2019 - August 2021
Drone Champions League, Remote/Ruggell
- Lead development team and delivered DCL - The Game, a drone racing simulator on Playstation 4, XBox One, PC and Mac.
- Developed the track editor tool DCL The Game - Track Editor allowing users to create and upload their own content for other users to play. This required a special Continuous Integration/Deployment pipeline setup to automate building and uploading a modified version of the UE4 editor from source.
- Liaised with my counterpart and the programmers at an external third party development team that worked alongside DCL to build the game.
- Provided support on the direction of the project to company stakeholders.
- Delegated tasks to the 10 members of the development team firstly using Wrike and then moving over to ClickUp.
- Responsible for designing and implementing various backend services in Python and C# to support online features for the game.
- Using Unreal Engine 4, wrote client-side interfaces for the various backend services as well as core game features such as player progression and track editor tooling in C++.
- Managed the DevOps side of tooling, CI and CD. Administered the Perforce server, TeamCity server and multiple build machines.
Full Stack Developer, Freelance
January 2018 - December 2018
Bossa Studios, London, UK
- Responsible for implementing various server-side and client-side gameplay features using the Spatial OS framework and Unity engine for Worlds Adrift; a physics based MMO on PC.
- My features included building location based VOIP chat and migrating the existing monolithic Scala server applications to more scalable C# microservices via an ECS design.
- Completed optimisations across the client and various server applications (Unity, C# and Scala) for performance boosts as well as to reduce cloud architectural costs.
Co-Founder, Lead Developer
November 2015 - December 2017
Fathom, Remote
- Co-founded a tech startup focusing on a middleware solution to empower SME's by providing embedded analytics and DevOps services in the mobile games industry.
- Lead small team of developers in designing and creating highly available, distributed backend services written in Clojure, ClojureScript, Java and Python.
- Wrote C++, Java, Javascript and Objective-C RESTful SDKs providing out-of-the-box live operations support for iOS, Android and HTML5/JS apps. These SDKs were written to support proprietary game engines as well as Unity and Unreal Engine 4.
Senior Game Developer - Freelance
November 2016 - February 2017
Pixel Toys, Remote
- Lead a small remote team responsible for porting the free-to-play game Warhammer 40k: Freeblade from mobile to Facebook Gameroom.
- Remit included various compile time and run-time fixes to our client's Unity 4 based game that needed to be upgraded to use Unity 5. These fixes were made on our own Git development branch to get the game both ready to ship on Facebook and ready for integration with the master branch for the main development team to deploy on the mobile platforms.
- Most of the work done was in C# in Unity however in addition I wrote the required server functionality in Javascript using the GameSparks platform.
Lead Programmer
March 2011 - April 2015
NaturalMotion (Zynga), Oxford, UK
- Lead development team of 15 people to create high end mobile games with millions of daily active users. This success in part lead to the purchase of NaturalMotion by Zynga.
- Mentored the programmers in my team as part of the company's career progression plan.
- Additionally I contributed to the proprietary C++ cross-platform game engine and integrated the in-house physics driven animation middleware 'Euphoria' that is still used in current AAA titles.
- All client applications were written in C++, with any game engine functionality specific to the mobile platforms written in Objective-C and Java for iOS and Android respectively. Backend support for leaderboard requests written in PHP. Graphics shaders and optimisations written in GLSL ES.
- Managed the Continuous Integration of both the Engine and Game teams' work into our development and production branches of SVN.
- Using the Agile methodology, working with the team's producer and product owner I was responsible for planning and delegated sprint work for the team using Jira.
- Released titles include:
Lead Programmer
March 2004 - March 2011
Exient, Oxford, UK
- Lead multiple game development teams and developed 15+ titles across multiple platforms including iOS, Nintendo DS, Gameboy Advance, Wii and the Xbox 360.
- Liaised with both the FIFA producer and lead tester at Electronic Arts to ensure successful delivery of every iteration of the product every year.
- Though I focused mostly on software development in C/C++ for the FIFA franchise, I also contributed to the company's proprietary cross platform game engine.
- Released titles include:
Education
Bachelor’s Degree, Computer Science & Artificial Intelligence
2:1 with honours
1999 - 2002
University of Sussex, Brighton, UK