(2024 - Present)
I joined the Fortnite's Battle Royal team in late 2024, an extremely experienced team focusing on delivering everything required for a Fortnite Season.
I was responsible for helping to implement everything from new Weapons, Vehicles, Abilities, Map Changes and seasonal activities. Anything that a given season might need.
I did this while also implementing better tooling, doing low level optimization to ensure features ran performantly and jumping into basically any issue that needed to be fixed.
Summary
(2023 - 2024)
In early 2023 I was picked to join a small team who's goal was to create a Fall Guy's character inside Fortnite. We ported the core character and it's functionality from Unity to Unreal and then adapted it all to work inside Fortnite.
I played a key role in developing the character; Creating a new Mantle and Ragdoll system inside Unreal Engine, making tools and integrating our character into Fortnite. I'm immensely proud of what we achieved in this team.
Summary
(2022 - 2023)
I joined Fall Guys in early 2022, at the end of season 6 and just before the big free to play launch. At that time it was all hands on deck to fix the hundreds of issues that had appeared across the new platforms we were releasing on. I helped out with optimizing and bug fixing on the Switch. It was exhausting but very rewarding.
When not working on switch issues I was deep in the belly of the game working on refactoring parts of the core game and networking systems as well as helping out with replication issues (a fun problem space in a sudo physics based game).
I worked on the following 3 seasons and helped out with the Creative mode before moving onto a new initiative.
Summary
(2021)
I helped out briefly about a year into CSR3 pre-production. Primarily research and development on getting multiplayer stood up and working on producing deterministic results from the game's custom physics engine.
I'm not sure how much of my work still exists in the game but it was a fun little period.
Summary
(2018 - 2021)
CSR is a very popular mobile racing game. It's relatively simple but addictive gameplay loop, car collecting and guinuinely impressive graphics made it a really interesting project to work on.
I showed an interest in the games' Raknet multiplayer setup and worked on a new feature that added skill based matchmaking to the CSR2. A lot of this matchmaking functionality was implemented by me on the multiplayer server itself.
I wrote tools to stress test the server, creating a bot framework that emulated the multiplayer flow of the game but in a way that could be run thousands of times concurrently.
I also helped maintained the multiplayer stack in Unity itself, helping out with client-side multiplayer issues and feature work.
Summary
Carpenter is a static website generator which I originally created to make creating and maintaining my photography website easier.
Carpenter initially allowed me to template common html code and apply it to multiple pages (via a small config file for each page in my site). It allowed me to build a static version of my website on my desktop which I could then upload.
As my site grew and became more complex, Carpenter had to grow to support it. This is an incredibly cool feedback loop to be a part of and the project continues to be used and present fun challenges.
Summary
JpegMetadataExtractor is a small weekend project which I made in C#, it's a library that extracts image metadata from Jpeg images. Like a lot of my projects, this started with a basic requirement, I needed to get the dimensions of an image fast (at least faster than C#'s builtin Image class).
After a few weekends on and off I had a little self contained library which could extract metadate pretty dam quickly. In the end I wanted something that was presentable and had a feature set that others might find useful and I think I achieved that.
Summary
The windows console Ping tools was probably one of the first console applications I ever used. After watching YouTube videos, I found that, by pinging different domains I could get their IP address which might let me bypass the firewalls that blocked different Flash game sites at my school. Needless to say it didn't work.
During university I found a book in the library that showed how to implement a fairly basic ICMP program C#. This became the starting point for a project that, over 5+ years, became a very feature complete and (in my opinion) very pretty console Ping program.
It's got a lot of features and parts have been rebuilt many times. It's big but I'm proud of how far it got.
Summary
SC4Cartographer is a program which creates maps for SimCity 4 save games.
Being a grid based games, there is something really satisfying about seeing the layout of a city. This was a lockdown project that started when I saw an image of just the zones (what you place in the game to plot out residential, commercial and industrial buildings) of a city. Inspired, by it's mosaic like beauty I decided to distill this functionality into one program.
It was a really fun project that involved deciphering how this 20+ year old game worked, a lot of highs and lows there.. I'm thrilled with the end result, the community actually used it and I saw some really beautiful maps.
Summary
I've been doing creative coding in different forms for over 10 years. Creative coding ↗ is an abstract term for any coding that focuses on ashetics and visuals over function. Basically it's using code to make visually interesting things (or at least that how I used it).
I started with Processing ↗ and then OpenFrameworks ↗, I particularly loved making particle systems with rudimentary Newtonian physics. Often I'd see visuals in a game and then try and implement them (sometimes leading to interesting results..).
I still dabble to this day, the visuals on the main page of this site is a port from an old processing sketch. Alot of my programs can be run in the browser so check them out at OpenProcessing ↗.
Summary
While working on SC4Cartographer, I created a library to parse and extract data from Simcity 4 save games. This kicked off a bunch of random projects and tools based on modifying or reading Simcity 4 data:
I've written alot of small tools and programs, it's how I got my start programming. If I see a problem or something I want to work in a specific way (or just because I want to) I'll normally write something to do it.
Here is an unordered list of tools I've written over the years that are a bit too small for their section.