Bongo Cat: The Game
Check out Bongo Cat: The Game on Github here — It includes both the Unreal Project and the executable as it becomes stable. This article is a follow up to my article describing a one-button Bongo Cat game, found here.
Overview
In Bongo Cat: The game, you play as the meme Bongo Cat who needs to hit notes as they come into contact with the bongo drum. Initially a one button project, the updated version includes a local multiplayer mode for four players to gather around the keyboard.
Gameplay
Right now gameplay is a bit boring, but I have plenty of ideas on how to spice things up once the framework is solid. In single player, notes move at a gradual speed towards the bongo drum. The player must hit the note on time to increase their score by 1. The player starts with 5 HP, and hitting the drum when no note is in the hitbox subtracts 1 hitpoint. Unlike guitar hero, there is no penalty for missing notes — other than the score not increasing.
The current songs are Super Mario World’s “Athletic”, and a MIDI sounding remix of “Africa” by Toto, as presented here.
Mechanics
A spawner actor spawns notes, which move towards the player’s bongo drum. Right now, it only produces notes at regular intervals and speeds for the sake of stability. In the multiplayer mode, a separate actor composed of four modified single player character sprites are controlled by one keyboard.
The keys Z, Q, P, and M are used to activate the players in the respective quadrant. Single player has the notes moving only along one axis towards the bongo drum, while in multiplayer the spawners are positioned to shoot notes that go through the player blueprint. This design decision came as a happy accident as I was planning how to implement four players without shrinking the player character’s model. As for the multiplayer blueprint itself, it admittely needs some reworking. The blueprint has ballooned to the size of roughly four single player blueprints, and as I learn more about Unreal Engine I am positive it could be minimized greatly. But for now it works, and that’s what counts.
An initial implementation of the single player mode segmented the song, player action, and note-point values in individual blueprints, but this implementation caused too many headaches syncing the data up and casting from one blueprint to another. Refactoring all the blueprints into the player caused it to become a bit bloated, but it accomplishes the objective in a centralized manner.
The Future
I am still interested in implementing ideas from the initial design pitch. Namely, flashing lights and screen shake seen in many Bongo Cat videos. Another relatively simple idea is to create multiple note spawners, so each note spawns from a random spawner. One feature implemented in a demo that was scrapped because of time had each note individually keeping track of a point value from 0 to 100 back to 0 as it changed proximity to the hitzone. This is similar to how other rhythm games such as Osu! include timing-specific points and popups: “Perfect, great, good, ok”. While the idea worked in a vacuum, transitioning the blueprint into the main game proved too difficult with my current set of skills. It would be relatively easy to create a “Song Select” menu, where players can choose from a list of songs to play. This idea suits the blueprint refactoring well, so it would probably be one of the first future updates to the game. But for right now, the priority is to cut down on the existing blueprint clutter.
Working on Bongo Cat: The Game has challenged me in unanticipated ways, in learning how to create a desired effect in Unreal Engine and creating an interesting idea within my ability to execute it from start to finish. I would never have been able to learn this all on my own, so I give a great thanks to Professor Grewell. The lectures, labs and videos he provided prevented hours and hours of trial and error, in addition to giving me a greater perspective on how both challenging and rewarding making a video game can be.