top of page
Development Portfolio
Welcome to my development portfolio. This is a selection of both professional and personal projects I've worked on as a programmer/developer. Click a thumbnail for more details.


Bradford EV Car Fire Experience
This was my second professional project as the main developer. The aim of the project was to train first responders - particularly firefighters - on how to best handle Electric Vehicles (EV) during incidents.
The project required frequent communication with Bradford University and the fire service to ensure requirements were met and information was accurate throughout the experience.
Implemented were three scenarios.
- A car identification scenario with randomized cars
- An EV car shutdown procedure
- An EV car fire first response scenario split into an EV fire progression demonstration followed by a gamified fire fight with dynamic spreading fire.
Throughout the app users are assessed on their performance on tasks as well as through quizzes.
This project was my first chance to properly sink my teeth into additive scene loading and user data persistence. Particularly challenging was implementing the car identification system, which randomly presents cars that have multiple 'identifying features' that must be recorded and used to determine the car's type.
Other aspects I worked on were audio design, UI design, 3D modelling (a lot of complex car models had to be optimized and modified for intractability!), in-game particle effects and environment design.
The project required frequent communication with Bradford University and the fire service to ensure requirements were met and information was accurate throughout the experience.
Implemented were three scenarios.
- A car identification scenario with randomized cars
- An EV car shutdown procedure
- An EV car fire first response scenario split into an EV fire progression demonstration followed by a gamified fire fight with dynamic spreading fire.
Throughout the app users are assessed on their performance on tasks as well as through quizzes.
This project was my first chance to properly sink my teeth into additive scene loading and user data persistence. Particularly challenging was implementing the car identification system, which randomly presents cars that have multiple 'identifying features' that must be recorded and used to determine the car's type.
Other aspects I worked on were audio design, UI design, 3D modelling (a lot of complex car models had to be optimized and modified for intractability!), in-game particle effects and environment design.


RC Beam
This was my first professional project as the main developer. The aim of the project was to assess civil engineering students on a common lab procedure carried out on reinforced concrete (RC) beams.
Throughout the project, the Queens University were regularly kept in contact and provided the calculations for the bend deflection model.
During the procedure, students can place displacement transducers at multiple points on a beam to record levels of deflection. Data can be recorded as changes to applied pressure are made, and in-experience snapshots can be taken; this data can then be sent to the students email on completion. Beams could even be customized, modifying dimensions, the presence of rebar etc.
A unique challenge was ensuring physical accuracy beams deflection; beams had to deflect, crack and eventually fracture. This required creative use of decals, shadergraph and a mesh fracturing tool.
Another key feature I developed was a classroom scene featuring a diegetic and interactive tutorial, which focused on in experience controls. This proved itself reusable and adaptable to other projects in the company.
Other aspects I worked on were audio design, UI design, some 3D modelling, in-game effects and some environment design (e.g. lighting, object arrangement).
Throughout the project, the Queens University were regularly kept in contact and provided the calculations for the bend deflection model.
During the procedure, students can place displacement transducers at multiple points on a beam to record levels of deflection. Data can be recorded as changes to applied pressure are made, and in-experience snapshots can be taken; this data can then be sent to the students email on completion. Beams could even be customized, modifying dimensions, the presence of rebar etc.
A unique challenge was ensuring physical accuracy beams deflection; beams had to deflect, crack and eventually fracture. This required creative use of decals, shadergraph and a mesh fracturing tool.
Another key feature I developed was a classroom scene featuring a diegetic and interactive tutorial, which focused on in experience controls. This proved itself reusable and adaptable to other projects in the company.
Other aspects I worked on were audio design, UI design, some 3D modelling, in-game effects and some environment design (e.g. lighting, object arrangement).


FAVE (Falls Awareness Virtual Education)
I was a contributing developer for this experience.
The main aspect I worked on were POV sequences; these fixed animated sequences give users the perspective of care-home residents as they struggle with various hazards. This allowed me to really sink my teeth into animation and the Timeline package within Unity. It was challenging to realize this in VR, as I had to mitigate nausea as the camera changed position, whilst still allowing 3DOF but ensuring users were looking in the correct direction!
I also worked on some of the interactions present in the hazard identification scenes, where users could identify and remove hazards as though they were on a carer visit. This includes interactions such as mopping up spills, moving cables and putting books away!
The main aspect I worked on were POV sequences; these fixed animated sequences give users the perspective of care-home residents as they struggle with various hazards. This allowed me to really sink my teeth into animation and the Timeline package within Unity. It was challenging to realize this in VR, as I had to mitigate nausea as the camera changed position, whilst still allowing 3DOF but ensuring users were looking in the correct direction!
I also worked on some of the interactions present in the hazard identification scenes, where users could identify and remove hazards as though they were on a carer visit. This includes interactions such as mopping up spills, moving cables and putting books away!


VR Piano Training App
This was my dissertation project for my MSc in Software Development. As the teaching aspect of the MSc was not game-orientated, I had to teach myself Unity and C# in a short space of time in order to complete it.
The aim was to develop a piano training app with which users could calibrate a virtual keyboard to 'overlay' their real life keyboard in a dynamic highly customizable means. Users could dynamically set the number of keys, alter the overall keyboard dimensions as well as the key sizes to closely match their real keyboard.
This implemented Oculus's (now Meta's) hand tracking SDK, allowing users to use gestures throughout the experience. Unfortunately when this project started a passthrough API had yet to be released for the Quest 2 developers so calibration had to be done by feel!
Once the keyboard was set up, users could look up chords or use chord detection to find chords by pressing keys.
The aim was to develop a piano training app with which users could calibrate a virtual keyboard to 'overlay' their real life keyboard in a dynamic highly customizable means. Users could dynamically set the number of keys, alter the overall keyboard dimensions as well as the key sizes to closely match their real keyboard.
This implemented Oculus's (now Meta's) hand tracking SDK, allowing users to use gestures throughout the experience. Unfortunately when this project started a passthrough API had yet to be released for the Quest 2 developers so calibration had to be done by feel!
Once the keyboard was set up, users could look up chords or use chord detection to find chords by pressing keys.


Crazy Pills (VR Game Jam)
This was developed in spare time for the VR Game Jam 2022, with the theme 'One Time Use'.
The aim of the game is to use a limited number size-changing pills to escape an asylum cell. Being large allows you to move large furniture, whilst being small allows access to tight spaces!
Link to downloadable game: https://lumpy-lumps.itch.io/one-time-use-crazy-pills
The aim of the game is to use a limited number size-changing pills to escape an asylum cell. Being large allows you to move large furniture, whilst being small allows access to tight spaces!
Link to downloadable game: https://lumpy-lumps.itch.io/one-time-use-crazy-pills


Drippy
Developed solo for Pixel Game Jam 2024, Drippy is a simple retro-styled puzzle-platformer. It was a pretty literal interpretation of the jam theme 'Aqua'; you play as Drippy, a little water spirit who must use their power of water absorption and expulsion to guide water into the golden drain of each level.
I developed things in a bit of a rush, so didn't quite get the UI and performance to the standard I would've like, but I think the game serves as a solid prototype that I would like to flesh out more.
Link to playable WebGL version https://lumpy-lumps.itch.io/drippy-webgl
I developed things in a bit of a rush, so didn't quite get the UI and performance to the standard I would've like, but I think the game serves as a solid prototype that I would like to flesh out more.
Link to playable WebGL version https://lumpy-lumps.itch.io/drippy-webgl
bottom of page