Name: Duncan Stead

Summary: Graphics-leaning game programmer with professional experience in C++, C#, Unity, CG, GLSL & Java.

Work Experience: 9+ years: Linked-In page

Graphics programming specific showreel:

Portfolio (Most recent at the top):

Starbeard (Unity – Mobile)

UK Games Fund sponsored team project.  As the sole programmer, implemented all systems, including metagame, turn based battles, save games, UI and mobile platform integration.

Cat Word Poker (Unity – WebGL + Mobile)

Solo project with real-time multiplayer, lots of menus, UI particle systems, PlayFab backend integration (and some fur shaders for fun)

Tiled TMX Importer (Unity asset)

Solo project for the Unity Asset Store, reading an open source tilemap format to help level designers put their work into Unity.

Midi the Cat (Unity – PC)

Solo project with MIDI input, audio synchronisation, particle effects, and a 2D heightmap based shadowing system.

Runescape NXT (C++, OpenGL – PC + WebGL)

Senior Engine Developer on an team of ~10 people including QA.  The project was a complete client rewrite from legacy Java to modern C++ (with full backwards compatibility).  The team used Git, with Bitbucket for code reviews, Bamboo for builds, Jira for project management and Confluence for documentation.
I worked on the engine code and GLSL shaders for terrain, water (flow map based), volumetric lighting and animation.

Transformers Universe (C++, DirectX then Unity  – PC and Web)

Engine Developer on a AAA sized team of 100+ people.  The project was a browser based MOBA style PvP game written in Unity (though had started in Java & C++).
The team used Perforce for version control, with a TeamCity based build system and some custom tooling.
I worked closely with the VFX artists to provide them with CG shaders and scripts to allow them to create all the various effects in the game.  I also worked with the technical artists to optimise the 2-tone metallic car shader that is used on most of the characters.
I built a GPU clipmap based terrain renderer for the game to replace Unity’s default terrain (as an optimisation), but was moved onto Runescape to help their HTML5 project at the time, so it was never deployed.

Void Hunters (Java – Web)

Mostly solo project (some help for art, menus and audio) with real-time multiplayer, newtonian physics and customisable/modular spaceships.  The game was built for a Java minigame platform called FunOrb, using it’s software-rendering-based in-house libraries.

Game Jam Projects (Most recent at the top):

Robo Rescue (CogHead level + effects)
gRAvity (Gravity/Camera rotation mechanics, music)
Ancient Invaders (Bow mechanics, music)
The adventures of the Squire and the Liar (Rhythm action gameplay, music)
In for a Pound (Gameplay, top-down lighting setup,  minimap revealing, music)
Space Rails (Freeform rail building, music)
Square Heart Flower (Black/white terrain shader and effects, logic-based gameplay system, music)
Mighty-chondria (Shaders and effects, music)

About me:

As my linked-in says:
“A game making nut with a penchant for new ideas. Enjoys coding, writing music and coming up with puns.”
I’d say that’s a fair summary.  🙂
Considering I’ve made a game with cats and music keyboard controls, you can guess my game ideas are a little wacky.  🙂
When I make something, it has to be something no-one has seen before – I came up with Void Hunters before craft/building games became a massive thing in the early 2010s, built a non-greenlit prototype for a game that preceded the eerily similar Kerbal Space Program, and made a tower defence game as a kid years before they became big with Desktop Tower Defence.

I just love to try new ideas, and it’s a lot of fun 🙂

As for my inspirations, I actually tend to play more mainstream titles – first person shooters, strategy and survival games.  Multiplayer is great.  I love to play coop, but definitely enjoy a round of DOTA or PUBG with the ‘lads’ 😛
I’d say I’m a pretty average gamer, and the games we can play today are amazing, but I definitely want to see (and help create) new games that we can’t yet imagine.