• Engineering on the tools team in predominantly C#.
• Working alongside an award-winning games studio.
• Creating internal products for users, supporting and planning.
• Credit on AAA game Forza Horizon 5 and Rally Adventure expansion
• First class BSc (Hons) Computer Games Development
• Programming in C++ and C#
• Created prototypes in Unreal engine 4 and Unity with C++ and C#
• Final year project in Procedural Generation
Independent side project (2023)
This prototype was an attempt to figure out how to create, structure, test, document and technically construct a larger project ready for such a project. Snake was chosen as simple enough project whilst giving me the opportunity to answer a lot of these structural questions.
Test driven development in Unity can act a little strangely and during this I aimed to figure out the caveats and edge cases of testing the MonoBehaviour Update loop. There are many difficulties when it comes to approaching TDD and this loop, including methods to give control over the update cycle to the tester among a lot of NUnit caveats. These have been written up ready for the next project.
I also created a Tool for visualising the world loops the game creates for the designers. This refreshed and updated my knowledge on Unity Tool building and fed into my educational efforts by instructing a talk I gave at the Game Dev Group.
In general the project was a success in answering many questions I had, allowing me to research (and use techniques I researched) and give me confidence for the next project of a larger scale.
University Group Submission (2nd year) (5 people in group)
This project was a group project with 5 people in Unreal Engine 4. My focus was in Puzzle Elements, the moving blocks, levers/buttons, ground blades and swinging blades, rotating platforms, in rooms doors and the moving spikes.
I also designed and implemented four puzzle rooms which can be seen in the video, the two tutorial puzzle rooms (which I don’t count as part of the four), the swinging blade room, rotating platform room, moving block room and the second moving spike room in the video.
I integrated and assisted in delegates with the room interface system, the activation code, tutorial UI and sound effects. Everything apart from the sound was in C++ apart from what would make sense in to have in Blueprint.
I’m happy with the product however it desperately needs more rooms, a mini-map and the lack of sounds in certain locations is glaring due to how many sounds are in other areas. This project also taught me a lot about working on a large project in a group; in the future, organisation and taking the agile approach more to heart would have created a better overall product.
University Submission (1st year)
Written in SDL in C++ my goal was to recreate the first level of Super Mario Bros. 3 as part of my University course work. The end result was the first level, with working enemies, split screen multiplayer, music/sound and a fully working level editor.
I included external controller support for SNES and NES controllers, multiplayer where one player can save the other if needed. Both players can pick up items, fire shells or even complete the level.
The level editor has all the blocks included, allows complete customisation of the layout, standard tools such as pencil/eraser and more advanced tools which interact with the functionality of the game such as question mark blocks. Play your game instantly and save them to be included in the main game-play mode.
Completed in just over 3 months the project taught me a lot about programming in C++ and invaluable games programming skills.
University Submission (2nd year)
As part of my (BSc) Games Development at Staffordshire university we were tasked with producing a Tower Defence game, designing it first, producing a marketing plan and finally creating the product or something like it.
The goal with this project was to produce a vertical slice with the polish of an indie game product. Star-ship Improvise has two levels with four enemies of two different types, a star pathfinding separately between the types, towers which shoot or affect enemies indirectly and save games.
The game has within it the beginnings of a story, a soundtrack which progressively gets more upbeat as the waves progress, a world map screen, a level/tower/upgrade screen which has an in-world preview of what you’re looking at and the game saves your progress automatically.
The project taught me the idea of scaling down a project to get the core system instead of designing a much bigger project meant for multiple people. Additionally, although the system I built is solid, I did end up having to plug a few holes regarding enemies and level management which I wouldn’t have been happy releasing.
University Submission (1st year)
Using a framework based on OpenGL I recreated Pacman as part of my university course. It has Pacman, Ms. Pacman and some original levels, with recreated graphics and sound, I hope this recreation can live up-to the original.
Considering this was my first project I feel the results are rather nice. I had a completed Pacman game with my own graphics and music without C++ knowledge. The levels load from file which is no small feat and the overall quality of the product is impressive.
Something I wanted in here from the start was 'A star path-finding'. This is a technique of pathfinding aiming to find the shortest route between two points. This system in my game works and even works through the screen wraps.
There's a lot to improved, this was my first project using C++ from the ground up and overall it needs a clean up. I would say everything as a whole needs to be rethought up in terms of C++, in terms of polymorphism and a pointer based system.