top of page

Cat, Wreck n' Havok

Role in the Porject

Lead Game/Level Designer (Team Project)

 

High Concept

3 strangely powered cats get hired by famed super spy Agent Schmeck to foil the plans of an evil organization bent on global domination. Using special abilities, the Cat Gang will dash, double jump and slam objects within the evil organisations hideouts to Wreck their plans, causing as much Havok and mayhem as possible!

Development Overview

Concept

In the initial ideation sessions, we brainstormed ideas for what game we’d want to make for our Uni module in Indie Games Development. We looked at different indie games we liked and their gameplay loops. After discussing the game genres we settled on a 2D platform due to the popularity of the genre in the indie space with games like Super Meat Boy and Celeste. We also decided to theme the game around a group of super-powered cats after discussing games and their mascots.

 

Production

For the majority of the production of this project, we worked using a hybrid development methodology mainly an agile development with some aspects of waterfall development as this suited our schedules. I also ensured to make a GDD to help the team keep track of the design decisions and the direction we wanted to take the game.

 

Character Abilities

Next, I went about designing the individual characters' abilities. For this, I wanted all of their abilities either to be activated with the same button so it’s easier for the player to learn the mechanics of each character. I went about creating several diagrams to demonstrate how each character’s abilities can be used by the player. These diagrams included 4 separate characters with different skills, but looking at all of the characters the dart cat did not fit with the style of the rest of the characters so we ended up cutting this character.

[I go over in further detail the character's movement and abilities in the design overview section]

 

Levels

Once I had made the character ability diagrams and discussed the ideas during a weekly meeting, I started to grey-box the levels taking considerations into how the character abilities work I created concepts for 3 separate levels. While I was greyboxing these levels the character movement and abilities were being coded so that when we build out the levels we can test the levels and tweak the speed and duration of the abilities.

These levels were meant to change as the player progressed with the environment changing from the theme of the world (in this case areas in the 80s era mall) to a secret underground lab, so I had the level going down so each floor would have its own theme.

While I was grey-boxing the levels our art was creating a tilemap to be used in Unity’s tilemap component to build out the level’s environment. Using the different layers function I made several layers like a ground layer, a background layer, and a hazard layer. This way we could set how these layers interact with the player character.

During one of our weekly meetings, we discussed the movements of the enemy AI alongside talks about the character’s abilities and we decided that once the character's movement has been scripted the enemy AI would then be worked on. We planned this so the timing of the AI being created and the level being built would allow me to place the AI and set their patrol points in the level after I have built everything out.

 

Boss Fight

Recently we have wanted to add some boss fights to the game. We began with some ideation by creating mindmaps for different boss battle concepts.

 

We decided on a boss fight that involved two enemies whom the player would use both to damage each other in different stages. 

We began by coding the separate abilities of the bosses while I designed the AI’s behaviour and how they would act in each stage and how the player will progress from one stage to the next. I made this chart to show how the AI enemies should act:

 

We also wanted there to be clear indications when the enemies are about to attack. We looked into how this is done in other games, and after looking at different examples we decided on having wined-up animations and flashing sprites to draw the player's attention and give them time to react. These animations would be completed alongside the coding of the enemies' abilities and behaviour. 

Design Overview

When designing the controls for our project I focused on the three Cs methodology to make each character feels unique as each character has its own abilities. Having each character move differently will also emphasise the differences in the characters to add variety to the game. This would allow the level design to be more diverse throughout as there could be areas that combine the character's abilities.

I also looked at making the character's controls feel tight so I looked at some of the points brought up in a video essay by Game Maker Toolkit on Celeste’s movement and controls making that game a joy to play. Mainly using this to get a feel for the character’s acceleration and deceleration as well as feedback to the player.

 

Characters

Firstly let's look at the characters themselves. We have three cat characters that the player takes control of throughout the levels.

 

A small springy cat that we nicknamed spring cat for ease of remembering, this cat bounces around the level and has a hyperactive personality. Their special ability is the double jump and head bounce attack which the player will use to get to unreachable areas of the level. The character is designed visually to give the impression that this character is quick and nimble with a small character sprite with a big head compared to the rest of the body to give the impression this is a younger character. Spring Cat will also impatiently taps its feet as part of its character animation as they are overflowing with energy.

​

 

 

 

​

Spring Cat ideal.gif
Spring_Cat_Run.gif

The next cat we nicknamed “Dash cat” after its ability which allows that to dash through the air. Given the idea for this character was their movement was somewhere between “spring cats” and our third cat we designed this character to look more like a basic 2D platformer game character with them more accurately representing a pixelated image of a regular house cat but with an arrow pattern on its coat to indicate the character’s ability. Animation wise “Dash Cat” will do a classic bobbing motion while ideal.

Our last character is the big and bulky “Slam Cat” which we also named based on their ability to slam through floor and objects. “Slam Cat” is supposed to muscle the group so they move slowly but will pack a punch. Visually this character is designed to look cartoonishly strong (hence why they are box-shaped) to tell the player that this character pushes around the enemy AI in the levels. Being the slowest character of the three this cat's ideal animation is also the slowest.

Controls

This is where I started looking into the different acceleration/deceleration curves mentioned in the video essay by Game Maker Toolkit and how different games used this differently to achieve the feel that they wanted. Since we had three separate characters with different personalities I wanted each of them to feel unique from the others but not like you’re playing a new game when you switch to a new character.

So let’s look at the characters individually.

“Spring Cat” was meant to be a quick and agile character so I gave them the shortest acceleration and deceleration times out of the three, with the highest top speed. This way the controls for this character would match their personality as their high energy would be demonstrated in how the player moves and gives the impression that this character is a handful for the enemy AI characters in the level when you couple this with their ability to double jump and bounce off of the heads of the enemies.

With “Dash Cat” being more like a classic platformer character the

acceleration/deceleration curve is slightly longer with a more comfortable top speed. I wanted the focus of this character to be the use of the dash an ability which cuts all vertical movement while it’s being used to give the player has more puzzles to solve during the levels.

Lastly the big bulky “Slam Cat”, I wanted them to feel like they were a larger mass so I made the acceleration curve larger to make it feel like the character was cumbersome as the point of this character was that they dash their way through the level compared to the other two characters.

Camera

Given that each character moved at different speeds it made sense that the camera would be different for each character too. It would also help in emphasising the size difference of each character as when you put the sprites side by side there’s not really that much difference between them.

We also mainly stuck to the camera that followed the player rather than a fixed point to make the level more open I wanted to encourage exploration as we had pickups through the levels to achieve high scores and unlock new cosmetic items for the cat.

So for the small and quick “Spring Cat” I moved the camera out to allow the player to see more of the level so they can better predict what was coming next so they would reach newer areas faster. This also made the character look a lot smaller in comparison. I made it so “Dash Cat” could see what would be beyond the end of their dash ability so they wouldn’t be dart headfirst into the unknown. And for “Slam Cat” I zoomed the camera in, given they move the slowest it didn’t make sense to show the player something far away as it would take longer for them to get there can fruit right the player, it also made the character look bigger in comparison to the screen.

{side by side comparison of the character sprites}

 

We also added some player feedback when they take damage or use their abilities. This way the characters and the game respond to the player’s actions. So for example when the player takes damage by colliding with an enemy or by falling into a pit of toxic soda spill the game will freeze for a few frames before a quick respawn animation is played. This way there’s an impact on this interaction.

Level Design Overview

The level starts with the prize room area of this arcade-themed level. Taking from the Super Mario games the player starts on the left side of the screen, hinting to the player that they should start moving to the right.

When the player does so they’ll come across the four types of pickups or furniture they are meant to destroy. Natively, these are displays in the prize area but this is introducing them to the player before they meet the first enemy.

The first enemy will come straight after the prize zone. The player will have a safe area on this perch to observe their behaviour. If they drop down and land on their head they find they bounce off of their heads and stun them. If they miss and hit the enemy they’ll respawn at the start of the level, this will introduce the player to the basics of how the enemies in the game work.

Next up is the area that shows the player the dash ability for the character. The player cannot progress past her without using the ability as they would fall into the toxic soda spill which will cause them to respawn, this also acts as an introduction to these hazard zones.

Then I give the player some space, combining all but one of the previous

elements I have introduced so far to give the player an idea of what the

rest of the level will be like.

The player will then move to the drop area, if we could add more assets I want this to be an elevator and elevator shaft to let the player know they are supposed to drop down. At the bottom, there is another hazard area at the bottom. With the way the camera and level are set out the player will see that the next zone will be coming up on their left so will likely be ready to dash to the left when they see the hazard zone come into view.

This is just one example of how I have tried to introduce the mechanics of the game for each of the characters as the next area introduces the spring cat character but I’ll leave that for another time.

Download the GDD Here:

Contact me

Interested in hiring me for your current project?

Contact me via email: christopher.carr@ntlworld.com

​

                                              Check out my LinkedIn:

  

                                                      Check out my CV:

  • LinkedIn
bottom of page