top of page

BATTLE ISLAND DEFENCE

 

  • Role: Game / Level Designer & UE Blueprint Programmer

  • Team Size: 4

  • Game Engine: Unreal Engine 5

  • Development Period: October - December 2024

  • Project State: Beta​

"Control a cannonball and defend your island from invading pirate airships!"

​​

This project was part of my Game Development Masterclass module (October - December 2024).​ I worked alongside a team of L5 Designers, to produce a videogame in Unreal Engine 5 for Transfuzer 2025.

 

My role in the project was to produce level designs and program gameplay mechanics in UE Blueprint. We regularly held playtests and used the iterative development cycle to arrive at an engaging, 3D ball-rolling platformer.

​​

 

TRAILER


Here's some gameplay footage of BATTLE ISLAND DEFENCE!
 

 

DEVLOG


The team and I proposed the game's concept and got to work on a Game Design Document (GDD) - We discussed the idea of a 3D platformer game, where you control a cannonball on a small island, and the goal is to reach a cannon and destroy the circling airship in the quickest time.
 

For this team project, I would be using Unreal Engine 5; a game engine of which I hadn't used yet to produce a video game from start to completion. Despite this, I was incredibly eager to get started, and therefore I put myself forward for programming the core player character movement, regardless of the fact I wasn't exactly sure where to begin!
 

Movement.gif

I first started with a simple third person character template, and then re-worked the blueprint to move more like a rolling ball, inspired by Rock of Ages (2011). I did this by enabling physics and using the "Add Angular Impulse In Degrees", based on a rotation speed and WASD/Arrow key input. One obstacle I found was with the jumping, as the ground detection used "Event Hit" to check if the player character was grounded, meaning

the player could keep pressing the jump key near a wall, and scaffold their character up any wall! By problem solving this issue together as a team, we were able to create a new method for ground checking, by using our own custom event that casts a line trace - a similar approach for Unity Engine ground checks. 
 

Afterwards, I worked to make the game's score system with coin objects - I even taught myself to animate the UI to make the scoring feedback feel more rewarding! After playtesting this with L4 students however, the play testers found the coins almost impossible to pick up a high speeds, due to its small collision radius. As a team we reviewed this feedback, and I proposed the idea of a magnetic coin, one that pulls towards the player character, in case the player character misses it.

coins.gif


I also gave the player character a dash ability, as play testers found acceleration slow, and the player character too difficult to adjust its course while moving - the dash allows for gaining a quick speed boost, and for navigating tighter corners.
 

New level concept.png

As well as programming other features, such as a timed door, a spinning fan which blows gusts of wind, and scripted animations of falling cannonballs and exploding debris to push the sense of urgency and threat on the island, I was also in charge of designing the island levels! I first had a meeting with my team to discuss their visions of a island layout, and got to work with one of my 3D artist team members.


In order to teach the player the core mechanics and controls of the game, each pathway demonstrates one of each mechanic, first safely, then with introduced risk (e.g., introducing enemy ai which push the player character, making movement more challenging) - Super Mario 3D Land director Koichi Hayashida coins this approach to level design as "Kishōtenketsu". Using UE's water plugin, the 3D artist's models and PCG for terrain details, I built both a main level and tutorial level.
 

image.png
image.png

© 2025 by Matthew Richardson

bottom of page