• 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
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.
Game Jam (2021)
The goal of this game is to continually clear screens and move south as a boredom (colourlessness) moves down the screen. It has enemies with a basic AI (enemies get bored of you), you gain heart containers the more health you gain and the levels are procedurally generated getting harder as you move between worlds.
Never Ending Scrolly took roughly 36 hours to complete over three days. The goal over that short period of time was to have animations, a basic world shader and to make something playable. The core mechanic I discovered ended up being rather enjoyable and integrated elements of my game’s technology project, procedural generation, with the levels having elements of random generation and difficulty.
Game Jam games are generally about figuring out what can be done in a short period of time. One lesson learned from this project was just how quickly I can get a basic game running with a decent amount of polish. A large weakness however is that I find it rather difficult to code in a messy way which in some scenarios is a necessary skill. Occasionally one does need to code in a less organised way but still in a somewhat robust way. Main improvements include time management, design decisions such as difficulty when taking on short form projects such as Game Jams.