Download CV (PDF)

Samuel Jones

Experienced C++ Engineer · years experience

United Kingdom

Profile

Software engineer with years in large C++ codebases at TT Games. I’ve designed, shipped and maintained core systems across two AAA titles, keeping them stable for millions of players through live patches, DLC and a new platform launch. A fast learner who adapts quickly across technologies, teams and disciplines, I build systems to be testable from the start, with automated and regression tests, and use coding agents to make my workflow faster and more reliable.

Skills summary

  • Languages: C++ (proficient, overall, in industry). C# (experienced, in Unity). Kotlin and Go on personal projects.
  • AI-assisted development: proficient with Claude Code, Cursor, GitHub Copilot and JetBrains Junie, including agent-driven development with automated test pipelines.
  • Testing and stability: automated testing, code review, safe changes to live production code, debugging and maintaining unfamiliar code, reducing technical debt.
  • Systems: system design and architecture, modular data-driven architectures (Unreal's Gameplay Ability System), shared-state systems for multiple concurrent players, AI and decision systems (behaviour trees, utility AI, state machines).
  • Engines: nTT (TT Games' proprietary C++ engine), Unreal Engine 5 including reading and changing engine source, Unity, SDL2.
  • Tooling: Perforce, Git and GitHub, SVN. JetBrains Rider, Visual Studio, Android Studio.

Experience

Gameplay Programmer, TT Games

June 2022 to present

Projects

  • LEGO Batman: Legacy of the Dark Knight · Unreal Engine 5 · C++ · Gameplay Ability System · PC, PS5, Xbox Series X|S, Nintendo Switch 2
  • LEGO Batman: Legacy of the Dark Knight, Mayhem Mode · Unreal Engine 5 · C++ · Gameplay Ability System · PC, PS5, Xbox Series X|S, Nintendo Switch 2
  • LEGO Star Wars: The Skywalker Saga · nTT engine · C++ · behaviour trees · PC, PS4, PS5, Xbox One, Xbox Series X|S, Nintendo Switch

Achievements and responsibilities

  • Designed a core system from scratch. A generic, expandable, state-driven animated-object system in C++ for a new Unreal Engine 5 project, used throughout the game. I architected the new version around lessons from earlier environments, fixing long-standing issues across every discipline and pioneering a new way forward.
  • Built signature player mechanics. Created the Batclaw, one of Batman's main gadgets, architected the data-oriented projectile system, and helped co-develop other gadgets including Gordon's Rebound Launcher. I worked with animation, audio and design until they felt right, and took a number of them from initial conception through to release and into post-release.
  • Automated testing on every build. Automated tests were built to run constantly, giving early warning of failures or problems. To ensure and improve stability, new tests were implemented for recurring issues, and test-driven development was adopted so tests could be written before features to ensure the best outcome.
  • Kept a live product stable. Shipped patches, DLC and a launch on a brand-new platform (Nintendo Switch 2) without destabilising the live game.
  • Data-driven design for reuse. Built systems that designers can configure and reuse without engineering time.
  • Performance and memory. Profiled and optimised to memory, CPU and GPU budgets, including object pools that can be reconfigured for new uses, with tests proving each optimisation worked.
  • Modular abilities and shared state. Built reusable abilities and effects on the Gameplay Ability System for players and NPCs, and made sure the systems work with the LEGO games' local co-op drop-in, drop-out, where several players act on the same world.
  • Cross-team problem solving. Joined unfamiliar systems across many teams, quickly becoming familiar with the work, workflow and systems and becoming integral to the process.

Junior Gameplay Programmer, TT Games

June 2019 to June 2022

Project: LEGO Star Wars: The Skywalker Saga · nTT engine · C++ · behaviour trees · PC, PS4, PS5, Xbox One, Xbox Series X|S, Nintendo Switch

  • Decision-making systems. Utility-based AI using C++, behaviour trees and scripting, for bespoke encounters and general NPC behaviour.
  • Ownership. Designed new systems and saw them through production and long-term maintenance.
  • Moved across teams where needed. Optimised, fixed and maintained features owned by other teams, learning their code and ways of working quickly.
  • Live support. Maintained a live codebase through post-release patches, using thorough testing to keep complex systems stable.
  • Cross-generation delivery. Shipped on six platforms across two console generations, adapting systems to very different processing power and memory limits.

Senior Demonstrator, Games Programming, University of Central Lancashire

November 2018 to April 2019

  • Coached students through C++ theory and practice, reading unfamiliar code quickly to diagnose bugs and explain fixes in a way that built understanding.

Education

MComp (1st), Computer Games Development, University of Central Lancashire

2015 to 2019

Modules: Advanced Games Development, Computer Games Engineering, Computer Games Team Project, Computer Games Masters Project (Hierarchical State Machines in Enemy NPC Stealth AI Behaviour).

Personal projects

  • Android music player (Kotlin). A local music app built with AI coding agents and an automated testing pipeline, to explore how far agent-driven development can go while keeping quality high.
  • YouTube Queue Manager. A published Firefox add-on on addons.mozilla.org, built with Claude Code as a guide, including optimisation of stored data and syncing with the user's Firefox profile.

Interests

  • AI agents and automated testing. How far agents and test pipelines can go towards production-quality apps.
  • Independent development. Small games and other projects to try new engines, techniques and ideas.
  • Photography. Composition and visual principles from games, film and art, and editing to take shots further.
  • Languages and travel. Learning Japanese and finding out about Japan's culture.
  • Staying active. Snowboarding, bouldering, archery, cardio and weights.

References available on request.

Technical skills and Tools Experience