MARDINI 2021 Iron Heart / Daily Winner

A few weeks ago I finished the SideFX Mardini Challenge, a month long marathon to submit a new Houdini artifact daily. Each submission was developed and rendered in less than a day – the same as last year’s HOULY challenge (you can find these submissions in my portfolio page). Now I finally have some time […]

GlobalGameJam – “Gnome Comb”

Solo submission to GlobalGameJam 2021, developed in a day. I needed an Unreal Engine refresher and hunting gnomes seemed like a fun idea 🙂 The aim of the game is to find and break as many gnomes as possible until the time limit runs out, imagine the gun is a potato gun and you’re all […]

Think Procedural Fractal Project

More detailed blog post here (still a WIP effect) A fun test for the Think Procedural January 2021 challenge “Fractals”. The actual fractal is just a raymarched mandelbulb projected as Houdini geometry, if I had more time this would be something more exotic than just a mandelbulb but I still think it looks cool 🙂 […]

HOULY 2020 Day 31 – Incandescent

HOULY 2020 Day 30 – Rough

HOULY 2020 Day 29 – Silky

Spooky Silk!

HOULY 2020 Day 28 – Noise

HOULY 2020 Day 27 – Translucent

Started using Renderman for this and I wished I’d tried it on my other submissions now!

HOULY 2020 Day 26 – Metallic

HOULY 2020 Day 25 – Underground

HOULY 2020 Day 24 – Ancient

HOULY 2020 Day 23 – Waterway

HOULY 2020 Day 22 – Sky

HOULY 2020 Day 21 – Urban

Fun fact – everything in the video is created from the OpenStreetMap data for Fitzrovia (London), so every work pub is part of this!

HOULY 2020 Day 20 – Space

HOULY 2020 Day 19 – Peak

HOULY 2020 Day 18 – Muscle


HOULY 2020 Day 17 – Bones

HOULY 2020 Day 16 – Feathers

HOULY 2020 Day 15 – Drool

Animated test:

HOULY 2020 Day 14 – Scales

HOULY 2020 Day 13 – Slime

HOULY 2020 Day 12 – Fur

Animated Test (using orbit traps to try and stick the fur to the surface):    

HOULY 2020 Day 11 – Squash & Stretch

HOULY 2020 Day 10 – Slow-Mo

HOULY 2020 Day 9 – Growth

HOULY 2020 Day 8 – Falling

HOULY 2020 Day 7 – Speed

HOULY 2020 Day 6 – Swing

HOULY 2020 Day 5 – Wave

HOULY 2020 Day 4 – Fire

HOULY 2020 Day 3 – Water

HOULY 2020 Day 2- Wind

HOULY 2020 Day 1 – Earth

GPU Fractal Renderer – Romanesco

Overview Renders SDF fractal surfaces defined by a user defined ‘hit kernel’ Outputs EXRs with color, position, depth, normal, iteration count, orbit trap (optional) layers – Ready to composite in Nuke! Powered by the NVIDIA Optix framework Convenient command line settings for batch rendering Download Source Windows Build Examples Used On ‘Contact’ – 3rd Year […]

Occlusion Pattern Plugin for PRMan20

This is completely redundant in prman21 because of PxrDirt, but since our project was in 20 I wanted a way to procedurally add dirt etc to our assets. In the end this wasn’t used, but it was a great introduction to the new RIS API! The code is available in the GitHub repo.

BFX Charity Short: “Pixelbusters”

I was lucky enough to compete in the 7 week national student competition BFX to produce a short 30 second animated film for a charity, we took a little bit longer to get everything finished but I’m happy with how it turned out! My roles included Pipeline Required me to write Python/Bash based tools to […]

Final Major Project: Contact

‘CONTACT’ is a near 3 minute long VFX sci-fi short, showing an astronaut’s state of mental decay after experiencing an encounter with a 5th dimensional being while in orbit. The team worked hard to create over 80 CG assets, 3 digital environments, and a bespoke fractal render engine for the evolving tunnel sequence at the […]

[Eurographics 2016] Simulate Skyglow in Nishita’s model

Extending the Nishita sky model to simulate Skyglow. You can view the paper here here. The definitive version is available at

Fabric Engine Cloth Simulation

Why Fabric? For my 3rd year programming assignment I had to find something fun to build, soft body dynamics is something I’ve never really tried before that sounds interesting. I’ve also heard good things about Fabric Engine all year and figured I’d have a go at combining the two since as far as I can tell, noone […]

Zombie Erosion Effect – Double Negative FX Masterclass

The procedural disintegration effect I created in Houdini for the Dneg masterclass.

Experimenting with GLSL Fractals

As preparation for my upcoming Major project, I’ve been looking into fractals. Specifically, how to calculate them in a shader in real-time. 2D Mandelbrot/Julia You can read about my experiments with 2D fractals here. Raymarching 3D Mandelbulb Recently I’ve moved onto rendering 3D fractals, in preparation for a fractal lookdev tool I will be developing […]

Windigo Game – Group Project

A group assignment I directed during my 2nd year, we developed an atmospheric survival horror game about the mythical Windigo. In addition to directing responsibilities, I was in charge of pipeline (we used a Perforce setup with a remote server to version assets) and engine level C++ programming (primarily core gameplay features and supporting the […]

Arduino Poker – Serial comms data structures and protocols

Requirements Although serial communication is fast, it makes sense to try and fit as much data into a single byte as possible. Communication between the Dealer and the Players is state based. Dealer requests bet from Player. Player waits for real life player to input bet. Dealer keeps querying Player state until bet has been […]

Remote Render Manager

An GUI front end remote rendering tool. Written for a team of artists during a group animation project over the summer.

Two-Player Snake

Tasked with creating a simple game where the player collects pickups, I took the concept and built on it to make it my own.

3D Survival Horror Clone Game

Inspired by the classic Resident Evil games, I wrote a simple game engine that supported 3D characters imposed on 2D backgrounds.