- 1 Tools for Design
- 2 Tools for Live-Ops and Player Management
- 3 Tools for Developer Efficiency
- 4 Unity-specific Tooling
Tools for Design
I am passionate about programming tools that inspire design.
I have always been a fan of games where content is delivered regularly with updates; being able to create a tool that could drive content generation really kick-started my passion.
RPGCore and Node-Based Editors
RPGCore has always been primarily focused around it's modular behaviours; however, creating tools for authoring these modular behaviours is the part of the project that I find the most inspirational.
I struggled for a long time trying to decide (for the re-write of RPGCore) what the node-based editor should be implemented in. I experimented with Win-Forms, Avalonia, Electron, and other UI frameworks to try and find something that would give me an efficient, cross-platform authoring pipeline. I eventually decided to use Unity's IMGUI, as it was my game engine of choice at the time.
When rewriting RPGCore outside of Unity I got really into asset management, authoring and packaging pipelines!
Eitr and the Skill-Tree Editor
During my time working on Eitr, I produced a skill-tree editor tool that I found perticularly efficient at inspiring design.
Tools for Live-Ops and Player Management
During my time at TT Games I was introduced to a new type of tooling; tools for interacting with databases and managing the game state.
Many of the tools I created at TT Games where web-applications.
Web-Tools for Customer Service
At TT Games, one of my responcibilities was creating and maintaining tools that would be used regularly by our Customer Service department. These tools where all web-applications.
The "Player Admin Tool" was created to allow us to manipulate the profile of players.
The Player Admin Tool featured authentication which granted developers additional permissions and functionality for debugging; and designated "Power-Agents" to manage the permissions of other customer service agents.
I also produced a "Username Auditing Tool" that allowed stakeholders to perform GDPR-compliant username audits to manually review the profanity filtering.
Web-Tools for Developer Efficiency
I worked directly with developers from all-across the departments in-order to create player management tools to increase their productivity. Being able to manipulate a developers profile in-order to get them into a state where they can efficiently test their features was a very rewarding experience.
Web-Tools for operating Live-Ops
Other web-applications I maintained included tools for server-management. These tools maintained mapping players to server environments; managing server lifetime; and direct database interaction.
Tools for Developer Efficiency
For AssetIcons, I created a documentation generation solution that utilised ASP.NET Core MVC to generate a single-page documentation file.
This project utilises Roslyn to perform code analysis and syntax highlighting.
Web-Tools for Content Generation
I have excited by the unique position that web-tools have when it comes to games development and content authoring. I think Dead Cells is a great example of the potential that these tools have.
Inspired by the web-tool featured in the Dead Cells development log, I created my own Blazor application to render voxel models.
Specialised git clients
One of the more useful tools that I created at TT Games was a tool to maintain changes to data via a custom git client. Creating custom git clients can be powerful tools for interacting with the project source and I will always consider them a part of my toolkit when approaching new challenges.
AssetIcons is a tool for Unity that draws an icon for ScriptableObjects using their content. This is a very powerful tool for asset management.