Game Development
Game Studio
I previously worked at a game studio that focused on developing virtual reality games. We used Unity and an in-house game engine. Whilst there, I:
- Implemented 3D UI rendering and other features for the in-house game engine, written in C and C++.
- Worked on several game prototypes, fixing bugs and adding new features.
- Managed the TypeScript backend for the game servers.
AssetRipper
Working on AssetRipper required deep knowledge of how game engines work. For example, I needed to learn:
- How assets are stored and loaded at runtime, with particular attention to their binary formats.
- How scripts are compiled and referenced by the engine for dynamic deserialization.
- How shader are compiled and stored, so that I could reverse the process.
Such knowledge is directly applicable to ensuring that games run efficiently and investigating why when they're not.
Stride
I've contributed pull requests to Stride, a .NET game engine.