Heartbeat

Feel the rhythm, hear the beat, and don't let evil take the lead!

Game Overview:

Heartbeat is a single-player Rhythm game, where the player must collect letters while avoiding the boss’s attack in time within the music.

Heartbeat was a submission for the 2023 Boss Rush Game Jam. The theme for the game jam was “Makeshift.” The game was created by a team of four people, myself included.

Our team spent nine days in total to complete the game, from January 26th to February 3rd.

Heartbeat went on to win 31st out of 124 entries in the Overall category, and 2nd in the Sound/Music category.

My Contribution:

  • Main Gameplay Programmer

  • Collaborated with Technical Artist

General Info:

Heartbeat was the first game jam I had ever participated in. It was quite an exciting time since it would be the first big project I would work on, but I wouldn’t be lying if I was very anxious and nervous before beginning.

Int the project, I was in charge of most of the programming for the game, such as the gameplay and boss attacks.

As this was the first big team project I had worked on, over the course of the nine days, I had improved significantly with my teamwork skills and programming skills, as well as gaining confidence and the work that I could achieve.

Brainstorming:

One important takeaway I took while brainstorming ideas for the game was to not be preemptively biased for a game idea before working on making it.

Before the game jam officially started, the group as a whole had already decided on a genre for the game, which was a rhythm-typing game. Once the game jam’s theme was revealed, we as a whole group proceeded to spend the entire afternoon trying to retroactively fit our idea for the game to fit the theme for the game jam.

I want to make it clear that I love the end product that resulted from the idea. A unique rhythm-typing game that beautifully conveys a story about accepting oneself to become stronger. However, I will admit that the beginning of the process was a bit rough since our game now had essentially four restrictions placed onto the game: A boss-rush rhythm typing game that had to incorporate the theme of “makeshift.”

For future projects, I will definitely go into projects with a clean slate or have as few restrictions as possible for the game.

Programming:

As this was the first game jam I had ever participated in, let alone in a group, I felt severely overwhelmed with the whole prospect. When I was assigned as the main programmer for the game, I honestly felt anxious and scared. I had never programmed for a project this big, and fears of disappointing the entire group loomed in my mind.

However, as the game jam progressed, I slowly became more and more confident with my skills and potential.

One of the most important things I learned while programming an entire game was to start small and tackle tasks in a sequential order. Essentially, don’t look at coding the entire package, code the building blocks that you then fit together.

The project as a whole was a "game where the player must move from lane to lane, avoiding the boss's attack that comes on the beat while picking up ammo to attack the boss with before needing to press a button on the beat to attack.”

However, I approached the project starting like this: “OK, let’s start with just coding the player moving from lane to lane.” After that part was complete, it became “OK, let’s code in a projectile that spawns at the end of the lane and travels down it.” Then “OK, now let’s have those projectiles randomly spawn on random lanes.”

As I continued this main thought process, slowly adding in more bits and pieces of the game, I eventually realized that the once-feared gameplay was now mostly completely before I even realized it.

Was it the perfect code? No. Did this process result in messy code that required many hours of bug fixing? Yes. Did I gain confidence in myself and realize that I could tackle big projects like this in the future again? Yes.

Project Takeaways:

  • Better Confidence in working on large projects

  • Keeping an Open Mind before brainstorming

  • Understanding how to tackle large projects from a programming standpoint

  • Became better at working with a team and communicating with them.

  • Became more proficient in Unity