Joseph Morton

Senior Programmer · Tools, Graphics & Engine · Unreal Engine 5, C++

Newcastle upon Tyne, UK jmorton06@live.co.uk github.com/jmorton06 CV (PDF)

Senior programmer with 10+ years in games and real-time graphics. I specialise in procedural generation, editor tools and build pipelines. Currently at Raw Power Games on Chronicles: Medieval, where I own the procedural settlement generator and the map generation pipeline.

// Experience

Raw Power Games · Senior Programmer

Jan 2025 to present

Chronicles: Medieval · Unreal Engine 5, C++

Procedural settlement generator (owner)

  • Built the Unreal Engine 5 version from the team's Houdini prototype.
  • Generates villages, towns and cities from designer-authored zone rules: Voronoi layout, A* main roads from entrances, zone placement by centre, road frontage or perimeter, walls, rivers and bridges.
  • Outputs gameplay data for each settlement: playable area, player start, nav seed points, AI road graph and zone routes, with building IDs kept stable across regenerations.
  • Walls that fit the terrain around designer chosen zones, with modules selected by landscape height.
  • Custom editor mode with viewport overlays, a zone panel and one-click regeneration. Designers built 100+ settlements with it in a few months.
  • Collaborated with Environment Artists to improve both the interface of the tool and the output.
Radial layout around a central market
Linear layout along a main road
Editor debug view of Voronoi cells coloured by zone, with houses placed inside split cells
Editor overlays: zone cells, split cells and road frontage
Aerial view of a procedurally generated walled town on a river
Generated walled town with river crossings

Building composition system (contributor)

Prefab style groups of meshes and actors placed into the world.

  • Fitting compositions into generated cells, and placement correctness.
  • Runtime material overrides for gameplay-driven changes.
  • Optimised editor by batching updates, added drag and drop, undo and thumbnails to the composition editor.
Modular building kit laid out: wall sections, corners, roof pieces and door frames
Modular kit
One house regenerated with different seeds

Map generation pipeline (owner)

  • Step-based pipeline, around 30 step types, that runs terrain, settlements, buildings and roads, then saves, map-checks, cooks and submits to Perforce.
  • Runs from an editor button with live progress, or headless as a commandlet on TeamCity with a per-map JSON report.
  • Nightly runs regenerate every settlement that uses an updated building composition.
  • Submit safeguards: a failed step or logged error blocks the submit. Fixed in-editor runs never saving, and a stall caused by editor CPU throttling PCG.

Other tools

  • Audio Usage Finder: shows where an FMOD event is used, following indirect references through gameplay tags, and other references.
Aerial view of a dense, procedurally generated medieval city Generated town street lined with timber-framed houses and market stalls Town square with a raised timber hall and a stone cross

In-game settlements. Art by the Raw Power Games art team. More in the studio's dev blog: Crafting believable worlds in Chronicles: Medieval.

XR Games · Senior Programmer

Oct 2022 to Dec 2024

Hitman 3 VR: Reloaded (Meta Quest 3) · Glacier 2, C++

  • Led an in-house mesh reduction tool (C++, OpenGL, Simplygon API) that loaded meshes straight from Glacier 2 scene data.
  • Added wireframe views and debug rendering to the Glacier 2 editor, and fixed editor crashes.
  • Built gameplay features with designers: dual wielding, weapon firing, interaction, throwing and keypad mechanics.
  • Integrated controller haptics via OpenXR; profiled and optimised with RenderDoc.

Lockwood Publishing · Software Developer

Jan 2018 to Oct 2022

Avakin Life, Rendering Tech team · Unity, C++, C#

  • Updated the C++ asset conversion plugin and software renderer that generate avatar meshes and textures at runtime.
  • Added PBR clothing and body-shape displacement; optimised shaders for lower-end devices.
  • Built a quality-settings system scaled to device GPU and RAM limits.

Whispering Gibbon · Junior Technical Engineer

Apr 2016 to Dec 2017
  • Cut physics analysis time for 3D printing by 80% with adaptive Finite Element Analysis.
  • Built automatic mesh manipulation and optimisation using signed distance fields.
// Projects

Lumos · open-source C++ engine

github.com/jmorton06/Lumos
  • Cross-platform engine on Vulkan and OpenGL with PBR rendering, post-processing, an SSE-optimised maths library, Lua scripting and a custom physics engine. Over 1,600 GitHub stars.
  • Editor built on the engine's own immediate-mode UI.
Lumos editor showing the Sponza scene with a spot light selected, hierarchy panel on the left and light properties on the right
Lumos editor: Sponza with shadowed spot lights, hierarchy and inspector

Orion · made with Lumos

A space trading and exploration game written entirely in Lua on Lumos, set among the real stars of the HYG catalogue. It ships to desktop and iOS from the engine's prebuilt templates. Read the devlog.

Orion system map showing Saturn and its moons with travel and cargo UI
Saturn and its moons
Orion: the player's ship in the Sol system
Your ship in the Sol system

Native iOS and macOS apps

joem.app

I design, build and ship my own apps on the App Store, including LabPal and a suite of macOS menu bar utilities.

// Skills
  • Languages: C++, C#, Python, Lua, GLSL
  • Graphics: Vulkan, OpenGL, OpenXR, RenderDoc
  • Unreal Engine 5: PCG, editor modes and Slate, commandlets, World Partition
  • Pipeline: Perforce, TeamCity, Jenkins, Git
// Education
  • MSc Computer Game Engineering (Distinction), Newcastle University, 2016
  • BSc Mathematics, Newcastle University, 2015