| Pacific Light & Hologram | Real-time Holographic Display - Head of Rendering | Leading the rendering team on a new class of real-time hardware, a medium with no established rendering practices. Responsible for the complete graphics stack from the hardware interface upward, the tools around it and the API that programmers build scenes with. Research into visibility and image-formation problems that do not exist on a conventional display, alongside direction of all internal engineering infrastructure, build and test processes. |
| Celtoys | Protoverse | Custom, real planetary-scale voxel rendering engine (6,000km radius) with multi-user, non-destructive, brush-based editing from the planet’s core to thousands of miles in space. In-world, realtime, iterative coding of behaviours in C#, supporting custom avatars, vehicles or entire new gameplay and world experiences. UDP-networked platform with physics and automatic property replication. Matchmaking and NAT punch-through servers written in Go. PBR environment lighting at planetary-scale with custom atmosphere and post-processing pipeline. Platform and business director. Investment courting and presentation over a period of many months. |
| Glowmade | King of Meat (Amazon Games) | Custom Render Hardware Interface (RHI) for existing engine, creating the backend implementations for D3D11 (PC), D3D12 (PC and Xbox) and Gnm/Agc (Playstation). Support for other programmers working on OpenGL (Android), Metal (iOS) and NVN (Switch) backends. Main engine core code additions (e.g. shader compiler, material system, lighting engine) and post-processing implementations (e.g. screen-space reflections). |
| Glowmade | Rustbuckets (EA) - Engine Programmer Consultant | Real-time voxel ray-tracing for Ambient Occlusion and Global Illumination with Temporal Reprojection. Multi-platform compute shader backend. |
| Google DeepMind | DeepMind Labs and WIP Projects - Quake 3, UE4 and Unity Performance Programmer (Contract, 2 days per week) | Low-level engine performance improvements for many simulations running 1000+ frames per second each. Re-implementations of core simulation code in each engine to hit performance targets. Many performance tools to help myself and others see where each engine and their simulations were spending time. Extension of Q3RAD for adaptive radiosity CPU lightmap baking across many cores. |
| Glowmade | WonderWorlds - Engine Programmer (Contract, 3 days per week) | Mobile-friendly (iOS) PBR lighting pipeline, shadow mapping, decals, wang-tiled auto-segmented unique texturing. iOS9-compatibile real-time voxel cone-traced ambient occlusion and global illumination. Interlaced reprojection rendering for Apple Retina display resolutions. Depth of field and other rendering effects. Performance, bug fixing and engine refactoring. Additions to existing Metal backend renderer. |
| Phoenix Labs | Dauntless - UE4 Engine Programmer (Contract, 3 days per week) | UE4 technical guidance, training of artists to use modern PBR lighting models. Anisotropic lighting, shell mapping, parallax occlusion mapping, painterly raycast light shafts. Load-time voxel cone-traced ambient occlusion and global illumination to replace UE4 incomplete/slow solutions. Volume ambient occlusion to replace UE4 slow DFAO. Many low-level UE4 performance improvements. |
| Hello Games | No Mans Sky - Engine Programmer (Contract, 2 days per week) | PC platform performance and compatibility for OpenGL across all vendors. Driver-agnostic shader caching to improve performance on newly-visited planets. General bug fixing and aid to help ship the game. |
| SEGA / The Creative Assembly | Rome: Total War 2 - Engine Programmer / Interim Lead (Contract, full time) | Engine programming and interim leadership. Essential contributions to receiving 3rd party funding. Procedural Virtual Texture implementation for landscape. 100x performance improvement with 5x draw distance. Web-based real-time CPU and GPU profiler for quickly identifying performance problems. Many smaller optimisations and lots of multiple platform compatibility work. |
| Lionhead / Microsoft Game Studios | Fable Heroes - Co-creator / Lead Engine Programmer | This project was started in our spare time; Microsoft turned it into a key franchise Arcade release. Cartoon shading techniques embedded within the Fable engine to sell the concept to Senior Management. Paint brush style painterly rendering for levels (large scale particle rendering with GPU sorting). |
| Lionhead / Microsoft Game Studios | Fable 3 (and DLCs) - Lead Engine Programmer | Management and direction of the Fable engine, scheduling and career management of engine team members. Offline, GPU-driven, distributed GI Lighting pre-processor, lightmap runtime, unwrapping tools and streaming. Temporal super-sampling, GPU Hierarchical Occlusion Mapping, Runtime texture atlasing for texture streaming. Many performance and visual improvements to account for larger levels, extensive debugging tools. Improved communication between engine and other departments, boosting productivity in many measurable ways. |
| Lionhead / Microsoft Game Studios | Fable 2 (and DLCs) - Senior Engine Programmer (Contract, full time) | Occlusion culling visibility system and scenegraph, optimal spatial grid, main-light shadow culling. Dynamic light-batching, core renderer implementation rewrites, shader optimisations. Co-ordination with MGS and Lionhead, identifying key performance issues and directing optimisation tasks. |
| Ubisoft Montreal | Splinter Cell: Conviction - Engine Programmer | Owned the design and implementation of the new SC5 graphics engine with direction for content teams. Multi-threaded interface, UE2.5 integration, visibility system, texture and database tools, various editor views. Direct light caching, Voronoi-based indirect light probes, SH shader lighting, automated cubemap reflections. Texture and mesh data import/conditioning pipelines, serialisation, reflection, network communication. Skin rendering R&D (SSS, self-AO, detail normal maps, eye animation & rendering, etc.) Realtime PIX, realtime editing of renderer C++ code, shader permutation build system, material editor. |
| Full Fat | Advent Shadow - Lead Programmer | Scheduling and team management. Use of internal tech I was also leading: fgs2. TDD and game design contributions, prototype gameplay for main character and 2 vehicles. Asset build pipeline for large teams, Lightwave-based level editor. Collision detection, all physics and animation (platforming, melee, weapons). Wall-running, edge traversal and all jump/grab mechanics evaluated every frame from the collision mesh. |
| Full Fat | Black & White - CTG liaison | TDD and initial game design contributions. Support for all CTG libraries and tools, including the use of the Advent Shadow build system. |
| Full Fat | Aliens Techdemo - Lead Programmer | Normal map generation raytracer (high-to-low surface function transfer), portal visibility system. Multi-pass, per-pixel DX8 renderer with stencil shadows, complex shaders and multiple skinning models. Compile-time shader assembler, offline shader language compiler for piecewise construction of shaders. |
| Full Fat | fgs2 Cross Platform Game Engine and Tools (PSP, PC, NDS) | Architecture, team management and maintenance, extensive API documentation and wiki pages. Non-intrusive, C++ reflection API and IDL Compiler, object management and persistence systems. Memory manager, maths, templated base types, cross-platform COM, functor/binding and events libraries. Asset conversion pipelines (meshes & images for PSP/DX8), Lightwave object/scene exporters and plugins. Scenegraph, skeletal animation, rigid body animation, DX8 renderer, collision/intersections and FSM libraries. |
| Dogfish Entertainment / Sony Computer Entertainment | Dinosaur Zoo - PS2 Engine Programmer | Maintenance and extension of existing 3D engine, bug fixing, optimisation support. DMA transfer libraries (using SPR to build VIF0, VIF1 and GIF streams), VU ASM routines for animation & lighting. Memory mapping and mesh export tools, skeletal animation and blending system, post-processing API. |
| Full Fat | Flintstones: Viva Rock Vegas - Lead Programmer (published by Conspiracy/Swing) | Cross-platform (PC & Dreamcast) game engine, guidance and mentoring of 3 programmers. 3D engine, DX7 renderer, Dreamcast renderer, visibility system, collision detection, car physics simulation. Lightwave object/scene loaders, UView texturing loaders, Win32 and Dreamcast sound engine, particle system. Implementation of all ingame weapons, special effects and game modes. Co-ordinated SEGA submission, solely fixed game bugs, rewrote key AI & front-end code to fix terminal bugs. |
| Full Fat | R&D: General purpose Physics Engine - Programmer | Multiple ODE solvers in rigid body simulation, physically based cloth and particle systems. Collision detection and response, LCP solver for multi-point contact resolution. |
| Aqua Pacific | Army Men: Sarges Heroes - Programmer (published by 3DO) | Compile-time, library based PS1 emulator with emulation of the built-in transformation and lighting pipeline. PSX MIPS R3000 ASM to Intel x86 converter (used mainly to convert the landscape renderer). Workflow allowed Aqua-Pacific to port games from PS1 in days and was used on further Army Men titles. |
| Aqua Pacific | Tahiti, Cross Platform Game Language | Design and compiler implementation for a language similar to Java, C++ and UnrealScript. Object-oriented, inheritance, object and state polymorphism, code state, language-native multi-threading. Virtual machine and C++/script interfacing technology, additional tools for pre-compiled script units. |
| Aqua Pacific | Lucky Luke - Lead Port Programmer (published by Infogrames) | Direct3D, 3Dfx and software renderers, MMX-optimised software sound mixer. Game programming, script programming and additional tools development. Extensive compatibility support over a wide array of video/audio cards and installed PC configurations. |
| Aqua Pacific | V-Rally - Programmer (published by Infogrames) | Script-driven front end and network chat lobby, bug fixing of graphics engine, sound engine and game code. Force feedback joystick and steering wheel support. |
| Self-Published Shareware | Terminal Pacity - Creator, Programmer, Artist, Level Designer | Platform game with 9 levels and level editor for players. Created in the evenings after high school. |