Easy Function Timers in C# 8.0
A function timer is a class that can monitor the execution of functions and time them. If you’ve got some upper limit on how long a function should take then these timers can be very useful in detecting drops in performance.
With C# 8.0, you get some nice features that allow for a nice little function timer class, namely:
gnuciDictionary is an offline nuget port of the GNU Collaborative International Dictionary of English for .Net. Defining a word is simple: Simply give a string, and you will be given a list of definitions for that string, or null if no definition can be found.
Narlang (Narrative Language) is a markup language for generating documents. It was designed as a tool to assist in the composition of long, complex documents, specifically novels. Its purpose is to combine many of the features of a code language with general document production.
This came out of a rejection of the plethora of WYSIWYG document editors, towards something more like LaTeX – but with a few more fancy features that programmers are used to like symbol recognition and semantics.
Hurtworld - An Open-World Surival Game for PC
Between 2014 to 2018, I worked at an independent games studio called Bankroll as a programmer and game designer. The studio was only between 3 and 5 people in size over the course of the 4 years. We created the open-world multiplayer survival game Hurtworld.
This game ran on PC, Mac and Linux and was built with the Unity engine. My role here touched most aspects of design and programming, such as networking, UI design, tools creation, and the creation of multiple complex runtime systems. There were lots of interesting problems to solve - from building a realtime icon-rendering system that could render dynamically generated items into an inventory system, to environmental systems that emulated dynamic weather and time of day, to shaders and graphics. It was a heck of an experience!
Mad Maps - A Non-Destructive Terrain Pipeline for Unity
Mad Maps was a set of tools I built in my time at Bankroll Studios in the period of 2017-2018 and then went on to sell on the Unity Asset Store as a standalone product.
Unfortunately, the IP for these tools is not in my control and so the asset fell out of maintainence, but I'm proud of this work. It helped enormously in the construction of the massive open worlds within Hurtworld, and while it was maintained I think it helped some people use the Unity terrain system a lot better. Here's the original pitch and Youtube tutorials!