Bought a Winnebago van and drove a full loop of the country, wrapping up in February 2026. Time on the road also went into studying music and the Atari Lynx Wolfenstein 3D port below. Now back in Melbourne and looking for the next thing.
Melbourne, Australia · C & C++ since 2004
C++ systems & 3D graphics programmer
Twenty years of high-performance C++ — twelve of them shipping games at EA, then streaming multi-gigabyte mine models in real time at Rio Tinto.
In 2024 I took a career break: bought a Winnebago van and drove a full loop of Australia, studying music and writing Atari Lynx homebrew along the way. Back in Melbourne as of February 2026, and looking for a new challenge.
Technical specifications
- Commercial C / C++
- 20 years
- Games industry, Electronic Arts
- 12 years · senior / lead
- Commercial titles shipped
- 6 · mobile & handheld
- Titles that reached #1 on the App Store
- 3
- Education
- B.CompSci · Monash, 2004
- Current status
- Open to a new challenge
Experience
2004 – presentMar 2023 – 2024
Building and maintaining RTVis, the in-house tool that visualises mine sites, mineral deposits and equipment in 3D.
- Built a terrain renderer that streams 10 GB+ datasets and displays them in real time
- Prototyped an Android app capable of displaying large terrain models
- Maintained the existing codebase and shipped new features
- Worked directly with geologists and end users to identify and fix issues
My dream job — twelve years across many shipped games and prototypes, from requirements and design through implementation, testing and optimisation. Senior engineer and lead across several small teams.
- Led a small team to finish Back at the Barnyard in just six months
- Optimised Real Racing in the final week before launch
- On the team that took Spy Mouse to #1 on the App Store
- Shipped titles on ARM7/ARM9 handheld hardware (Nintendo DS)
- 3D renderer development; 2D & 3D animation systems across several titles
- CPU and GPU performance diagnosis and optimisation
- Rapid prototyping of games and gameplay with designer feedback; tools, exporters and custom builds
My first full-time role after graduating: developing a 3D haptic epidural simulator for medical training and commercialising a haptic temporal-bone drilling simulator — both C++ with an OpenGL renderer.
- Owned application architecture, all libraries, an OpenGL 2.0 renderer and the C++ interface to the custom haptic hardware
- Directed content creators; liaised with doctors and hardware designers
- Took technical handover of a voxel-based bone-drilling simulator from the CSIRO
In a team of two, built software for haptic research experiments using the Sensable Phantom Desktop and a custom-built haptic glove, "Exograsp" — all requiring 3D visualisation.
- Gathered requirements with researchers; implemented in C/C++ and OpenGL
- Created 3D assets in 3DStudio Max and Milkshape 3D
- Haptic programming against the Phantom and Exograsp APIs
Shipped games
Programming creditsCommercially released titles I'm credited on, across mobile and handheld consoles.



Atari Lynx homebrew
Hobbyist hardwareI enjoy programming the Atari Lynx, a 1989 handheld console — pure embedded work in C and 65C02 assembly.





Toolbox
Parts listLanguages
- C++ / C · multithreading · SIMD
- C#
- Objective-C · Java
- Python · Lua
- 65C02 assembly
APIs & libraries
- OpenGL / OpenGL ES
- Vulkan · Metal
- GLSL shaders
- SDL · Win32
Platforms
- Windows · Mac · Linux
- iOS · Android
- Nintendo DS (ARM7 / ARM9)
- Atari Lynx · 65C02
Tools
- RenderDoc · Instruments
- CMake · Git
- Visual Studio · Xcode
- qtCreator · Vim
- Custom engines & profilers
Also on GitHub
Contact
Back pageOpen to C++ systems, engine and 3D graphics work — and always happy to talk rendering, optimisation, or squeezing 3D out of hardware that shouldn't do it.


