Hi, I'm Steve - a gameplay designer and programmer currently producing quests and other content for the MMORPG Brighter Shores, working at Fen Research. You can find more of my work on my GitHub or 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 programmer and designer on a live MMORPG, leading quest design, boss encounters, seasonal events, and systemic content.
Lead developer of the following major pieces of content:

Programmer and designer for the MMORPG Brighter Shores at Fen Research, working alongside the original creators of RuneScape.
Navigate with left/right arrows.
Technical projects showing low-level C++ with a focus on engine development, gameplay systems and graphics programming.

Built a full gameplay framework without Unity or Unreal, including AI, UI, rendering, and tooling.
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.
Navigate with left/right arrows.

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 using C++ and SDL. Creating a 3D software renderer has been a challenge I have wanted to tackle since I first started developing video games. But, it also presented an ideal opportunity to learn more about the fundamentals of 3D renderering while improving my 3D maths and C++ skills. A complete "fixed-function" rendering pipeline was implemented, and a maths library and OBJ/MTL parser were written to support it. The project has three scenes showcasing shaded and textured environments with a GUI to select between scenes, 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.
Navigate with left/right arrows.
Research-driven projects exploring VR training, simulation, and interaction design.

As part of my PhD, working with industry experts and stakeholders, I designed and developed a custom virtual reality learning environment over a year and a half. I used this environment in two user studies, with over 50 participants, including professional firefighters.
Navigate with left/right arrows.

This project was created as part of a research project with the University of Kent. The purpose of the VR environment is to teach new security guards the basics of a typical patrol. The environment was designed to test the user's situational awareness and understanding of correct procedure.
The training environment was created using Unity and the SteamVR SDK.
Due to nature of the research project, the source code is not available for this project.
Navigate with left/right arrows.

Prop-oriented World Rotation (POWR) is an experimental technique to enable games to map objects from the user's physical environment to objects in the virtual world. For example, the user's bed in their room reinforces a crate in the virtual world. This allows the users to benefit from 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.
This project won the award for best poster/demo at the "VRST 2021" conference as voted for by conference participants.
Navigate with left/right arrows.
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.
Navigate with left/right arrows.