top of page

Crash Bandicube

Crash Bandicube is an original 3D platformer boss fight created in Unity for an Artificial Intelligence class in the Honours Bachelor of Game Design program at Sheridan College. The player, piloting a parody Crash character, must defeat an enemy computer boss and his waves of attacks.

 

Responsibilities

  • Developed an original 3D-platformer boss fight as an homage to classic Crash Bandicoot boss battles.

  • Designed fight to match the flow of the original games through attack variety, timing of attack sets, vulnerability states, and overall difficulty.
  • Created the player controller that mimicked the basic functionality of its source material to lower the boundary of difficulty in learning the controls and putting the focus on the fight.

Crash Bandicube is an original 3D platformer boss fight created in Unity for an Artificial Intelligence class in the Honours Bachelor of Game Design program at Sheridan College. The player, piloting a parody Crash character, must defeat an enemy computer boss and his waves of attacks.

The Boss Fight

The idea of creating a boss fight for this project was partly out of necessity but also random inspiration. I was tasked with creating an "NPC Gameplay Scenario" where an NPC would use Finite State Machines with a certain number of states to interact with a player.

 

My first thought was to create an enemy, rather than a friendly entity, because there were more opportunities for interesting gameplay interactions in a challenging fight than an amicable, benign character. I wasn't sure if I could scope for complex enemy movement either, so I thought of games that had enemies which used large arena-like attacks and stay (relatively) stationary. Then I thought of Crash Bandicoot bosses...

Of course, many Crash Bandicoot bosses move around a space. But the space itself is rather limited. Bosses will use attacks that keep the player at a relative distance, having invulnerability while on offense, then becoming still and open to attack during cooldown periods. Each boss had their own unique quirks, but most follow this flow and attack pattern (in the original trilogy, at least).

The base is now established: a mainly immobile enemy with ranging attacks and invulnerability until they rest. To build off of this, I began planning how I would evoke the spirit of the source material through the design of the attacks. I studied a variety of bosses from the original trilogy as I wanted to recreate various attacks while adding some of my own ideas to create an interesting NPC Gameplay Scenario.

The last ideas to make this experience Crash-like, the visuals needed some resemblance. Again, due to scope and time, I made a little voxel "Crash" character face off against a "computer" boss. The boss itself would telegraph its attacks using the monitor rather than requiring complex animations to pre-empt its actions.

Player Controller

The player controller, as this was a bit of a parody of Crash Bandicoot, had to control somewhat similar to the source material. The original entry in the series had very simple aspects to it: Walk, jump, bounce (as a result of jumping), and spinning. This seemed to be perfect for what I was capable of prototyping at the time and allowed me to focus more on the fight itself after it was prototyped.

It was still an accomplishment to make this controller, however. In the previous year, I had to craft a robust controller that replicated Shovel Knight in 2D space. Adapting the same principles to create a similarly robust controller, but in 3D, was still an undertaking, and I'm very happy with the relatively smooth control it provides to the player in the final product.

Attack Sets

In my computer science studies, I had studied finite state machines (FSMs) in one of my classes. I had never put the theory into actual practice, however. Using my previous knowledge, I challenged myself to create a fairly robust FSM system with nested states to prove that I could not only create simple routines for an NPC, but create a system that could be accurately compared to professional games such as Crash Bandicoot, the project's source material.

The states were nested in a way that allowed for any number of "attack waves", with any number of attacks within them, and cooldown periods between the waves for the player to attack the vulnerable boss. If I had more time with the project, I would've implemented more unique states for the player to avoid, but I'm incredibly happy with how it turned out in the end regardless. I even got a fair bit of praise from my professor and peers due to its relative complexity and the humour of making a little orange cube bandicoot.  "Woah".

Game & Technical Designer
bottom of page