INTO THE LABYRINTH

Project Description

Into the Labyrinth is a 2D prototype platformer with Super Mario style mechanics of jumping on enemies and shooting fireballs to destroy them. It concludes in a 2 stage boss fight against an evil Minotaur.

Project Info

Role: Gameplay Programmer and Designer

Team Size: 1

Time Frame: 6 Weeks

Engine & Language: Unity with C#

Project Introduction

As part of my module called Rapid Games Prototyping, the year was split in 4 where each quarter we had 6 weeks to expand on an existing framework in Unity and implement a number of new mechanics. The process was to get us used to coding prototype mechanics quickly. The highlight project out of the 4 was Into the Labyrinth, a 2D platformer project.

Not only did I manage to implement a vareity of different mechanics, I implemented animations and applied setdressing to the levels to make it look more polished. As I implemented the mechanics quickly, I had plenty of time for extra work on the project.

Highlighted Mechanics

#1 Character Controller

With the character controller, I decided to replicate the controls of Super Marios to an extent, having fast paced movement, dodges and dashes as well as a fireball projectile system for combat. This was all farely rudementary to implement in Unity. The challenging part however was making the movement mesh well with the animations.

This required research into Unity's animation system, however once I gained an understanding of how it worked in relation to 2D sprites, I implemented smooth animations on not just the character, but the enemies and even a fire hazard.

#2 The Boss Fight

The boss fight was the most complex system to make in this project. Firstly, I coded a system that would get a reference to the player location and make the boss move towards the player, this function was called in update to ensure if the player jumped over the boss, it would immediately change directions.

I then utilsied state machines to swap between various states such as chasing the player, its first stage attack, and the second stage attack. The state was determined wether or not the player was in a collision box range on whether the boss ran or attacked. And the type of run and attack was set based off the current health. Below half health it would swap the the enrage state and become more powerful.

Project Reflection

Overall this project turned out very well, despite being a prototype, due to my quick coding in the first few weeks of development, I managed to make it look polished. I also was graded 100% for this project and the entire module overall. It definetely helped me become more confident in Unity and C#, a skill I would use heavily during my work placement.




  • Project Image
  • Project Image