Joseph Bennett

Senior Games Programmer

Hello, I’m a senior games programmer all the way from Wellington in New Zealand. However, I’m moving to the UK later this year! If you’re from there and you think I’d be a good fit for your company then please get in touch via LinkedIn or email at [email protected].

I love making creative things with code, sharing knowledge, and speeding up workflows by creating nifty tools. I’m particularly interested in rendering and graphics programming but am happy jumping into other areas too.

Published Games

Mini Motorways

Senior Programmer and Co-Lead at Dinosaur Polo Club

I’m currently at Dinosaur Polo Club where I’ve worked for the past three years on Mini Motorways: a strategy simulation game about designing the roads for a growing city.

Here’s some things I’ve worked on during my time here:

  • Many graphical shaders and effects like the stripes on motorways
  • Prototyping and development of new gameplay additions
  • An automated nightly build system written in Python with Slack changelog notifications
  • Automated mesh generation for maps
  • Rendering optimisations and performance improvements for the Nintendo Switch port
  • Integration with native Swift/Objective-C code for features like leaderboards and notifications

I’ve also had experience this year as co-lead for the Mini Motorways technology team. As part of this role, I’ve facilitated and lead prototyping of a new feature for a currently unreleased update, helped support and guide other team members with their work, and supported the team lead with their workload.

Five Night's at Freddy's: Help Wanted

Contract Graphics Programmer at The Forge Interactive
I worked on gameplay optimisations to help port Five Night’s at Freddy’s: Help Wanted to the Occulus Quest. This involved lots profiling and performance improvements in a large pre-existing Unreal Engine project.

Other Projects

Scalable Global Illumination using Sparse Radiance Probes

Master's Thesis
For my Master’s thesis, I wanted to find a global illumination algorithm that would run on mobile phones while still looking good on higher end devices. I found a method based on a paper called real-time global illumination by precomputed local reconstruction from sparse radiance probes and managed to get it running on an iPhone 7 at 30FPS on the Sponza test scene while still looking good on higher end computers. Here’s my thesis if you’re interested (and have a lot of spare time!)

Interdimensional Llama

University Project + Kiwi Game Starter Finalist

Interdimensional Llama is a perspective-switching puzzle adventure game where you play as Lou - an adorable Llama.

I was a programmer on this project as part of a university course with five other students. My main contributions were the seamless level transitioning, and the grid-based navigation for movement in 2D and 3D.

The game was a finalist in the New Zealand 2016 Kiwi Game Starter funding competition. For this, I helped write the business proposal and pitched the game to the judging panel.

Atmospheric Llama

University Project

A fourth-year computer graphics project I worked on with Thomas Roughton. Its aim was to implement some graphics techniques within our own engine to improve the visual quality of Interdimensional Llama.

I implemented a physically based real-time volumetric fog algorithm based on a presentation by Sebastien Hillaire from Frostbite. The in-engine screenshot on this card showcases the technique.

Other Work Experience

Weta Digital

Internship
A summer internship where I researched improvements to hair rendering in their real-time renderer Gazebo.

Powershop

Internship
An internship over multiple summers and part-time during the university year. Frontend and backend development with Ruby on Rails with a heavy focus on writing clean and readable code, unit testing, and code review.

Publons

Internship
Frontend and backend development in Python using Django at a startup called Publons. I set up continuous integration for the company with automated testing and deployment. Used Jenkins running on an Linux based AWS server.