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 29 – Silky
Spooky Silk!

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 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 18 – Muscle
Tongues

HOULY 2020 Day 15 – Drool
Animated test:

HOULY 2020 Day 12 – Fur
Animated Test (using orbit traps to try and stick the fur to the surface):

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 http://diglib.eg.org/

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.