Who am I?

I’m a passionate gamer, who enjoys RPGs, creative and multiplayer games. I tend to break down most games I play and figure out how the pieces come together. In my programming, I enjoy taking this break down to produce mechanics which feel satisfying. I help to run a fairly popular Minecraft server which has taught me the value in finding skills in myself and others along with team communication.

Student at Staffordshire University

  • Studying BSc (Hons) Computer Games Development
  • Second year
  • Programming in C++ and C#
  • Working with SDL, OpenGL, Unreal 4 and Unity

Associate Engineer at Playground Games

  • Engineering on the tools team in predominantly C#.
  • Working alongside an award-winning games studio.
Jones Raider in UE4 C++

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.

Super Mario Bros. in SDL C++

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.

Starship Improvise Unity C#

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.

I put my heart and soul into something which looks like it could be a released game I'll be there are some corners cut to produce the result. 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 in directly 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 a 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.

Pacman Recreation in C++

University Submission (1st year)

Using a frame work 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 path-finding 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.

Project-RPG Unity C#

Personal Project (2019)

I started a project simply code named “Project-RPG” which is an attempt to create some mechanics which would fit nicely into an RPG.

I’ve implemented some ray casting with the camera so that it finds the player, some basic animal AI, buildings which work inside with the camera and door, a tree which can be chopped down and the beginnings of an inventory system.

The camera is by no means perfect and although it will zoom in, I need a more reactive system, one which not only finds the player but also attempts to find the highest zoom level it can. Also I could do with adding lerps in the movement.

The animal AI I’m rather happy with even though it’s basic. I think extending that script into something I could apply to more things would be really nice.

The buildings are fine however I’m going to need to look into a better way to have buildings work. This could be by taking control away from the player when entering/leaving and this would make doing such a little less janky. Also I need some UI for the door control.