Aaron Leonard #

Software Engineer #

I build and ship software from web applications, developer tooling, open source projects and games.

Professionally, I've developed production web systems serving tens of thousands of users using technologies including Java, Spring Boot, Angular and CI/CD tooling. Independently I've shipped commercial software, e-commerce systems, contributed to open source game engines and developed tools spanning graphics, audio, infrastructure and games development.

Portfolio #

Blackwind Books #


Next,js
React
Node.js
Stripe
Lulu API

Built and operated a print-on-demand ecommerce platform handling physical and digital book orders. Integrated Stripe payments with Lulu's print and fulfilment API and built the backend logic required to reconcile differences between supported payment and shipping regions.

Engineering Highlights

  • Third-party API integration
  • Payment and order processing
  • Server/client application architecture
  • Email-based fulfilment
  • International orders
  • Production operation

Godot, contributions, tools and toolmaking #


Godot
GDScript
3D Graphics
Open Source
Tools Development

I have contributed to Godot and its surrounding ecosystem both upstream and through developer tools built to solve problems encountered while developing my own games.

Godot Engine

  • Runtime Lightmap Baking and Particle-emission functionality

func_godot

  • Interior face culling, entity property generation, display model descriptor code. Documentation additions for runtime map building.

Planar Reflections

  • Standalone Godot implementation of planar reflections for mirrors and reflective surfaces.

Spatial Audio

  • Audio Occlusion, reflections and material-dependent behaviour based on the physics of sound.

RT-mesh_screenshotter

  • Tool for generating lots of 2D images for inventory textures from a lot of 3D meshes of items

Mirrormind #


Godot
GDScript
3D
Steam

Independently designed, developed and commercially released a 3D puzzle game built around switching perspectives between multiple characters that asks interesting game design questions: What happens when players are on different gravitational axes? What happens when you're in looping non-euclidean geometry? What happens when you can change who you look from, but not who you control? What happens when you can change who you control and not who you look from?

Owned the project end-to-end: Gameplay programming, Physics programming, Engine modifications, Tools development, Asset creation and integration, Testing, Packaging and Release.

Interesting Engineering Problems encountered

  • Multiple independently controlled player entities that interact with each other using physics
  • Perspective and Control switching
  • Time manipulation for rewinding mistakes
  • Looping/Non-Euclidean spaces
  • Custom Godot Tooling: Flowchart tooling for configuring level accessibility requirements for non-linear level progression
  • Level Appendices at the end of the game implementing alternative lines of game design thought


The Grail Perilous #


Godot
GDScript
3D
Tools Development
CI/CD
Itch.io

Independently designed, created and publicly released a vertical slice for my upcoming game The Grail Perilous, a Kings field inspired RPG set in a bleak Arthurian world. During development I went through a lot of design changes.

Interesting Engineering Problems

  • Modular inventory plugin, supporting BBCode in item descriptions
  • Automatic Mesh Screenshotting tool for large amounts of inventory item images
  • Editor plugin for in-editor topic-based dialogue trees that hyperlink to each other
  • Texture 2D Array creator tool for making 2D arrays of textures that can be accessed and used in shaders for quick texture swaps
  • CI/CD tooling for quick and automatic itch.io build releases.


Personal Web Platform #


2021-2026
Software
Websites

Extended the minimalist Werc web framework into the platform powering my personal sites and their many subdomains. Built additional tooling for content management, search, metadata, RSS/Blogging, galleries and deployment while retaining Werc's Unix-oriented architecture.

Werc tools

  • search, a tool for site-wide searching of a website using ripgrep
  • goralog, a blogging, metadata and RSS tool for blogs
  • werc bootstrapping scripts, some scripts I was commissioned to develop for easy creation of a new Werc website
  • dirdir a browser-based content/file management tool

Garry's Mod modding #


2020-2023
Software
Level Design

During Covid I made a selection of Garry's Mod mods using Lua and helped contribute to some of my friends Garry's mod mods. The Monster Energy Drink, The DOOM Weapons, The abandoned warehouse map and the Wand of Universal Wishing.

In total, some 15,000 users have downloaded and enjoyed my garry's mod mods. I have also provided testing feedback for the following mods: Death Star, Star Wars Blasters, Tantive IV and Un Clasico which themselves have a large audience.

Agora Runes #


2024
Software
Games Development

During Christmas of 2023, I participated in a 1 month game jam. Agora Runes was a testing ground for using Terrain3D and for my Planar Reflections tool.

500ml of Violence #


2021
Software
Games Development

As part of my Computer Science Degree, I had to make a short arcade game. I chose to go significantly more ambitious than the requirements actually were, making a game heavily inspired by Devil Daggers.

Quiver #


2020
Software
Games Development

My first proper large and fully fleshed out game. A 2D procedurally generated exploration into a random military base. I also wrote a deathmatch gamemode for this, which was very fun to play, and quite challenging to make due to the non-trivial nature of writing good netcode.

More projects #

This is not an exhaustive list of all the projects I have worked on, but the most complete, wide-ranging, technically impressive or interesting projects I've worked on. A more exhaustive and historical list can be found on my personal website.