Project 1: Dog 2: The Birds and the Bees – Cross Platform Leaderboard Optimised Endless Runner

This video shows footage of a project where I was tasked with creating an endless runner game with two different enemies, three different pick-ups (with differing functionality), generates a random level which can be saved and repeated, and required nothing to be spawned into the game after the main level is opened. As well as this, steps needed to be taken to optimise the game as much as possible, and the game needed to be playable on PC and a mobile device. The footage shown is the PC version, which features a cross-platform online leaderboard in which players can copy level seeds of other players in order to play the exact same level as them. Although not shown well in this video, the player speed gets progressively faster until it hits a cap.

The enemies are:

  • A bee that randomly moves between lanes before choosing a lane to charge down towards the player. If the player is in the way, they’ll be defeated.
  • Two birds that follow the player and fire “projectiles” into the air. These projectiles choose a random lane to fall in, following the player’s forward movement and fall. If they hit the player, the player is defeated.

The pick-ups are:

  • A common white bone which gives the player 200 points on collection.
  • A rare blue bone which grants the player 15 seconds of immunity to enemy attacks. This lets the player be hit by the bee and the projectiles without being defeated.
  • A rare green bone which resets the player speed to what it was at the start of the game. The player speed then begins to increase as it did before.

If you have any questions about this project or how any of the functionality was implemented, please drop me an email at or visit my LinkedIn profile in my expotees profile page. 🙂

Oh, and if you would like to play this game, contact me via the contacts listed above and I will send you a download to the executable game.

Project 2: Group Project Cube Puzzle Game

This is the first group project set in the Master’s course. As a group of 4, we were tasked with creating a game with the player being a cube. I managed the source control, set up the git repository and created documents on how to pull the most recent version of the project and how to push your changes. Aside form this, my main tasks were to implement two accessibility features and implement UI and menus.

Accessibility Feature 1: Minimal word explanations/tutorials – The goal for this was to create icons, pictures and other forms of media to help the player learn the game using as little text as possible. Many games miss out lesser-known languages when translating their narratives, and as I am not a translator, I figured we could create this game without using text and instead use variations of universally known icons as well as readable images to explain the game.

Accessibility Feature 2: Colour Blindness – I experimented with different post-processing filters and researched the practical use of them. I discovered that while applying protanopia/tritanopia/deuteranopia filters to games does help with readability, it often leaves a lot to be desired in terms of visual appeal for the player. Since most of our game was done in a grey/white box arena, I figured the player should get to choose the colour of their cube. This means that rather than throwing a pre-made filter at the player, they can choose the colours they wish to use for their player depending on what colours they struggle with. As we had decided on using two different cubes that the player can switch between for this project, I set up a colour change option in the settings menu to allow the player to change the colours of each cube. The corresponding cube buttons and interactables in the levels also change to the selected colours so the player knows which cube will activate which button etc.

I had a bit of spare time towards the end of the project and decided to add in some replayability features – these were a timer added to the level which record the time. The mina menu shows a time to beat which shows an icon on completion. Each level also has orbs to collect – collecting all of the orbs also shows an icon on the main menu. The times/orbs collected are saved in a local save file.

Project 3: Game Design Iteration – Endless Wave Zombie Project

This project is still currently in progress and the video shown still contains some unfixed issues.

This project was inspired by the Fable series which is brilliant at getting players to use all three available combat styles throughout the games. I wanted to explore creating a levelling system with three different combat styles, and how I could make each of them beneficial for different situations. Giving each attack different ranges, damages and areas of effect along with their own unique special attack was the idea I went with and I decided to add a sword, hovering turret and a shoulder-mounted rocket launcher. The damages of each attack can be upgraded using point gained from defeating zombies. The zombies themselves also scale through waves. Each wave increases the number of zombies, their speed, and they damage up to a capped level. The higher wave the player gets to, the more likely they are to encounter a zomBEE or a Mega Zombie, both of which scale with the waves. The goal for the player is to survive as long as they can. In order to prevent the player “camping” in a corner with the rocket constantly firing, cooldowns for the rocket and turret are implemented, along with limited ammo which can only be replenished by seeking out the different weapon caches around the level.

As well as the endless waves game mode I have implemented a tutorial level that teaches the player the controls and mechanics in a consequence-less arena.


Project 4: Dog: Breakfast Bonanza – Stealth Karma Project

This project is the first one I developed in Unreal Engine. I was tasked with creating a game which contained two uncommonly-used-together game mechanics. The game mechanics I chose were a stealth mechanic and a karma mechanic which was implemented using an AI enrage system as the consequence.

The project has AI patrolling the level; when they see the player, they will pursue the player. They can also hear when the player steps on toys and will run to the origin of the sound to investigate. The aim of the game is for the player to find the food in the level and return it to their bed. There are collectibles in the level that once held can be squeaked to lure the AI to the player’s position.

There are thee levels which build on from each other and scale in difficulty.

I considered replayability in this project and decided to add collectibles in the levels, a level timer and an option to complete the levels with 0% enrage. The end-level menu shows stars which are awarded to the player for completing each criteria: completing the level in a certain time, collecting all of the collectibles and completing the level with 0% enrage.

I also challenged myself to use as little text as possible in this project.

Skip to content
%d bloggers like this: