Hi, I'm Steve - a game developer currently producing quests and other content for the MMORPG Brighter Shores, working at Fen Research. I've been working on games professionally since 2020, starting out in the world of Serious Games with a focus on interaction design and player experience. Alongside my professional work, I build C++ engines, editors and gameplay systems to explore game design from the technical side. You can learn more about me and my background here.
I'd love to network with fellow game enthusiasts and professionals. Please feel free to reach out via e-mail or on social media (links above).
Gameplay developer on a live MMORPG, leading quest design, boss encounters, seasonal events, and systemic content.
Lead developer of the following major pieces of content:

Developer for the MMORPG Brighter Shores at Fen Research, working alongside the original creators of RuneScape.
Design-led VR projects built around real users, real constraints and applied training problems, including paid professional work for industry partners and clients. Each ran as a methodical, end-to-end process: gathering requirements with stakeholders, designing the experience and the systems behind it, building it, then testing it with real users, including professional firefighters.

As part of my PhD at the Human Interface Technology Lab (HIT Lab NZ), I designed and built a custom VR learning environment for training firefighters, over the course of a year and a half and working throughout with industry experts and stakeholders. The design was driven by a framework I developed to align a learner's preferences and VR's strengths with the training tasks and the environment itself.
I then evaluated it across two user studies with 55 participants, 15 of them professional firefighters, including one I organised and ran at a fire station in Canterbury, New Zealand.

Professional work, delivered with the University of Kent for a security company based in London. The brief was to train new security guards in the basics of a patrol, so I designed the scenarios around testing a trainee's situational awareness and their grasp of correct procedure.
As the sole developer, working alongside a 3D artist, I designed and built the full application, and met regularly with the client and project supervisors to gather and refine requirements and shape features. Built in Unity with the SteamVR SDK.
Due to the nature of the research project, the source code is not available.

Prop-oriented World Rotation (POWR) is a VR interaction technique I conceived and designed for my Master's dissertation. It maps objects from the user's physical environment onto objects in the virtual world, so, for example, the bed in their room stands in for a crate in the game. That gives the player real haptic feedback from the virtual world without needing any bespoke prop or device.
A game was developed to demonstrate this technique. The game is a shooter (similar to Time Crisis) where you shoot all the robots to advance to the next checkpoint. Each checkpoint has a virtual object the player uses for cover, scaled and mapped to a physical object in the user's room. The crate object is mapped to the bed, and any door object in the game is mapped to the room door.
The work won best poster/demo at the VRST 2021 conference, voted for by conference participants, and was later published as a peer-reviewed academic paper in 2024.
I like understanding games from first principles: how mechanics work, how design choices interact with technical capabilities, and how better tools make iteration faster. Here you can find some of the engines, editors and gameplay systems I have built in C++ while exploring those ideas.

SAGE (Steve's Awesome Game Engine) is an engine and editor I built for the genres I most want to design for: top-down RTS games, management sims and RPGs. The point of the editor is design speed. I can lay out maps, place and wire up entities, script behaviour and test changes in play mode without leaving the tool. Underneath it's a reusable C++20 framework, but it exists to let me prototype and iterate on systemic gameplay quickly.
It started out as the engine behind my previous RPG engine example, but has since been expanded significantly into a broader game framework with reusable runtime systems, editor tooling, scripting, serialization, and an asset pipeline.

A vertical slice of a systemic CRPG inspired by Baldur's Gate 3 and Divinity: Original Sin 2, with its own gameplay framework (AI, UI, rendering and tooling) built from scratch without Unity or Unreal.
The objective of this project was to create a vertical slice of a Baldur's Gate 3/Divinity: Original Sin 2-inspired CRPG without using a game engine, such as Unity or Unreal. Instead, I built the engine on top of the low-level 'raylib' library in C++, primarily using raylib for window management and rendering. The goal was to learn how to build systems and tools from scratch, which I take for granted when using large-scale game engines, such as pathfinding, particle systems, visual effects, or serialisation.
In this demo, the player awakens in a cave and must navigate through a goblin cult that has occupied an underground dungeon. The player must repair a lever that opens their escape route through a series of quest chains to leave the dungeon area. Due to this, the demo was dubbed 'LeverQuest.'
Additional systems include billboarded particles, JSON/Binary serialisation, lighting, equippable inventory items, and a Blender-to-engine asset pipeline.

Implemented a full fixed-function rendering pipeline from scratch, including rasterization, Z-buffering, shading, model loading, and texture filtering.
A software renderer written from scratch in C++ and SDL. This was a challenge I'd wanted to tackle since I first started making games, and a chance to dig into the fundamentals of 3D rendering while sharpening my 3D maths and C++. It implements a complete "fixed-function" pipeline, backed by a custom maths library and an OBJ/MTL parser, with three scenes and a GUI for switching between shading method and texture filtering.
slib
and
smath.
ObjParser
for obj and mtl files.Renderer
and triangle rasterization through
Rasterizer.Additional support includes flat/Gouraud shading, nearest-neighbour and bilinear texture filtering, directional lighting, texture atlases, scene controls, and multithreaded processing.
Smaller supporting projects and jam work.
A game jam entry submitted to "8 Bits to Infinity #36 - Mouse Jam 2," with the theme of creating a game that was only controlled by the mouse. I chose to recreate my days of playing old flash games by creating a mouse-controlled maze game with a variety of different enemies with different behaviours. Feedback was positive from the community and the entry was played by a Japanese streamer, which is available to watch below.