Chonky-19




A 3D cat shooter with tips to educate players about how to be safe grocery shopping during the COVID-19 pandemic.


Features

  • Shoot your way through hordes of COVID-19 particle monsters
  • Quickly grab your groceries and get out safely for your family's sake
  • Compete against others with your high scores displayed on an online leaderboard
  • 3 unique playable cat characters each with their own strengths, weaknesses, and stories
  • 6 playable levels and various achievements to collect

Goals

  • Create a fun and engaging 3D-shooter
  • Integrate COVID-19 safety tips into game
  • Gain experience in different aspects of game development based off of individual interests

Constraints

  • I was the only one who had prior knowledge & experience in game development out of the 5 total developers
  • 10 weeks to fully design, develop, and publish the game
  • All team members were working remotely from each other



Process



1.

Brainstorm and record ideas with team

2.

Choose set of proposed ideas that meet our goals

  • If an idea fits within the current scope, assign implementation to whoever is interested and has time
  • Otherwise attempt to design an alternative that would better fit

3.

Once implemented, loop between getting feedback and polishing as needed

Key Solutions


Below are some of the key mechanics I designed to fit within the project scope



1. Combat system with simplified shooting mechanics to reduce production time needed
 


This was part of my original pitch for this game!


My thought process

  • Melee combat would require more animations and precise timing
  • I thought it would be simpler to take advantage of Unity's physics system
  • So for implementing, each projectile would be a Rigidbody (has velocity, gravity, collision) in Unity
  • By only adjusting the initial force applied to a single projectile, this would affect both how quickly it travels and how far
  • Each projectile can be easily assigned a damage value that subtracts it from an enemy's or player's health on collision
  • Inspired by bullet-hell games, multiple projectiles can be fired at once in a specified spread to add another layer
  • To allow for easy movement and simple aiming, player shoots projectiles in direction of mouse position and can run simultaneously
  • So this became a key part of our combat system

Results

  • The basic scripts to implement this system only took one work day
  • Because of its design, it was simple for us to test and polish


2. Multiple playable cat characters with different attack capabilities, speed, and damage resistance to add variety
 


We wanted to create different cats that appealed to different playstyles


My thought process

  • For simplicity, I wanted to design 3 different types of characters
    • One tanky character that can easily push forward head-on
    • One sniper-like character that relies on combat from farther away
    • One balanced character with stats somewhere in-between the other two
  • Given the combat system, only needed to adjust numerical values:
    • character's movement speed
    • percent damage taken from an enemy projectile
    • number of projectiles released in one shot
    • the cooldown time between each shot
    • the damage value assigned to each projectile
    • initial force applied to the projectile rigidbody
  • So we stuck with this idea

Results

  • After implementing the first playable character, adding the two other characters was quick and easy
  • My teammates and external playtesters each had different preferred cats to use
  • The different cat stats even inspired another teammate design passive abilities for each of them


3. Game broken up into 1 tutorial and 5 main levels all displayed on a simple level picker screen to track progression
 


A teammate suggested making a fully-fleshed 3D open-world game to contain all the stores


My thought process

  • It was a good initial idea to think about the overall game world
  • However, I knew that implementing an open world would require a substantial amount of planning, 3D assets, communication, and testing
  • Instead, I suggested we use a level picker similar to the original Mario games as an alternative

Results

  • Allowed for developers to efficiently work on their tasks within the different levels independent of each other
  • Simplified process to push into game using the level picker as the main level loading manager.
  • Further cut down on production time since it needed less planning, less testing, and 2D assets as opposed to needing full 3D models


4. Have 2 of those levels be boss fight levels to reward player with a change of pace
 


A teammate originally wanted boss fights roaming the open world space


My thought process

  • This idea was no longer valid as we decided to just have a simple level picker
  • However, I knew that boss fights are a good way to keep the player engaged
  • If we dedicated a level to being a boss fight, it would be fine to have a simple, empty area before the “boss room” to introduce a sense of anticipation for something different
  • So, I suggested we have 2 of the levels be special boss fight levels in honor of the original idea, one mini boss and one final boss

Results

  • Allowed our level designer and 3D prop modeler to focus more on the other 3 levels and their other tasks
  • Offered me an opportunity to design boss behaviors and an opportunity for other teammates to experiment with animations and cinematic camera movement


5. Simple scoring and star rating system to reward players who complete a level well
 


A collective idea, a teammate also wanted to assign grades to each level based off of player’s score to go towards an achievement system he was designing


My thought process

  • Wanted to reward player based off of their skill with the existing mechanics in the game
  • Wanted to minimize the amount of work that went towards this system
  • It would not be fair to give a score of 0 to a player that died in the middle of a level
  • So, we needed to score player based on live progress in a level
  • Designed score based off of simple things to keep track of throughout a run of a level, so we rewarded points based on the following:
    • Number of groceries collected so far
    • Number of enemies killed
    • If level was completed, gain bonuses based on how quickly it was completed, whether player sustained damage, etc...
  • For the "grades" idea, I proposed using a star-rating system where a player gains more stars at certain score thresholds
  • For players hoping to complete all achievements, the player is given a star rating predictor inspired by rhythm games so they can restart if a level is going “bad” during a playthrough

Results

  • This was successful and even lead to my teammate’s creation of an online leaderboard of high scores and achievement system


6. Brief dialogue at the start of each level to give players context/story and a break from the game’s intensity
 


We wanted to give some depth and story to the game


My thought process

  • Playtesters were curious about the personalities of the characters
  • Wanted to minimize the amount of work that went towards adding story to the game
  • We were in the last two weeks of development, so many features across the game were being tested and polished
  • Needed a way to add in story in a non-intrusive and simple way
  • I suggested having simple dialogue that would play before a level is loaded
    • was not dependent on how complete a particular level was
    • because of how the levels are set up, it offered spaced-out story bits to players to keep engagement

Results

  • Gave an opportunity for one of my teammates to gain experience in writing dialogue for the game
  • A place to directly tell players real COVID-19 safety tips
  • Helped to pace and tie the whole game together


Takeaways



  • Main challenge we faced was keeping our game’s scope realistic and achievable for a beginner remote team
  • Difficult at first to gauge everyone’s speed in picking up the skills and tools needed to develop this game
  • The strong guidance of our mentor, our team's overall synergy, and prior knowledge in game development really helped us focus on our goals
  • An extremely valuable experience, and I’m happy with what we were able to create over the summer of 2020 given the challenges

Published Game Page