Project Heartbeat: Lessons learned (so far)

Project Heartbeat

This article details what I learned in the process of making my game, this is mostly about non-technical concepts, for a technical talk about PH check this video. It’s separated into two parts, the first will explain how development went and the second one talks about my learnings.

For those unaware: Project Heartbeat is a rhythm game, a clone of the popular Project DIVA series with a heavy focus on user generated content.

How Project Heartbeat came to be

I started development of Project Heartbeat after a heartbreak (haha!) at the end of 2019, the game’s development progressed steadily throughout the end of the year and into early 2020.

Obviously, something slightly unusual happened, that is the global COVID-19 pandemic, which I used as an opportunity to dedicate even more time to making the game.

Project Heartbeat 0.1 finally released on March 23 of 2020, to mixed reviews (around 60% positive on Steam).

The game

Project Heartbeat is a rhythm game that attempts to appeal to the very picky rhythm game enthusiasts and to casual players alike, it’s not easy.

I pride myself in having a heavily customizable game with many, many options, some that users would never use and some that are there just as experiments but the point is the user is the one who has control.

The game uses Godot Engine and is almost exclusively written in GDScript, it uses a slightly modified version of the engine that adds ANGLE support for lower latency (you can get this version here).

UGC at the core

Project Heartbeat’s workshop

While Project Heartbeat has official content made exclusively for the game using licensed songs the real fun starts when you get into UGC songs, the game allows anyone to create their own charts for songs and share them through the Steam workshop.

Project Heartbeat also has some mod support, you can make your own note skins, install custom sounds and even UI skins in the future, this opens a lot of possibilities and has led to a situation where people who play the game for more than 1 hour usually end up having more than 100 hours in the game, which is interesting, this shows that those who like the game like it very much and play it for a long time.

The Project Heartbeat editor

One of the hardest parts of the game was making the editor, but making the editor be part of the game’s code made the actual gameplay code very flexible (and painful to make!) but I think the current architecture ended up being quite nice.

This had the side effect of allowing things such as rolling back the song after a the game is resumed from a pause, a nice practice mode (much better than anything Project DIVA has) or adding note modifiers becomes much easier!

Continuous development

While Project Heartbeat’s launch was a success by my standards, it was clear a lot of work had to be done, a lot of people had put the trust in me to improve the game and that’s what I did: features got added, the game was optimized, new content was made, it wasn’t entirely smooth sailing, but it did improve!

The game had the luck of being marred in the aforementioned controversy during the heavy improvement phase that went from release in march up until ~winter 2021. Sales took a small hit after release but with the improving ratings (the game went from a 60% positive review rate on Steam to the90% that it sits at now) the sales recovered and they even managed to beat release-month sales eventually.

Making the game more accessible

One of the things I realised was that Project DIVA may be a harder game to get into than it seems at first, or so it seemed from feedback I got, I wanted to make the game easier for new players by making everything be straightforward.

This was achieved in a few ways:

  • A proper practice mode
  • Information screen before the game starts to let the player know about which types notes will be at the song
  • The ability to adjust many things about how notes are displayed, such as note size and how the timing is shown on them

We all make mistakes

It is clear no one is free of sin, and he who is free of sin cast the first stone, because I’m no different.

I may have sometimes been a bit too agressive and too easy to anger by the development process, but those are things I have much more under control now, so at least I learned.

But overall, I’m happy about how it ended up.

The controversy(ies)

Project DIVA clones & derivatives family tree

Because Project Heartbeat is a clone of Vocaloid-themed game it’s bound to attract people from that same community, and the Vocaloid community is… angry, they seem to be angry all the time about everything.

Project Heartbeat is controversial for a few reasons, the first is that it’s a clone of Project DIVA, which some people in the Vocaloid community found to be a terrible crime because of course SEGA is a small indie company. I think this argument is clearly stated by people who are not very knowledgeable about videogames, since it’s immediately obvious that clone games are pretty commonplace in the industry.

The other source of anger is that Project Heartbeat filled a void, there was no good Project DIVA clone for PC, sure there was PPD but that’s an ancient game (over 10 years old and using a custom engine!).

The only other way to play Project DIVA on PC is to use a heavily modified version of the arcade game, which is not ideal of course.

Project Heartbeat aimed to change all of this by making a simple to use community focused alternative to both PPD and Project DIVA itself. Because of that and because some people perceive PH as an attack on the PPD community (this is not true, I respect KHCMaster’s work very much) hilarity ensued, but compared to what was about to happen the first few updates were pretty free of controversy.

The Xbox port incident

Top 10 pictures taken before disaster

Project Heartbeat was originally stated to be released on Xbox One, and while the engine port was mostly finalized it was abandoned due to Microsoft’s supposed attempt to censor Gal*Gun, a Japanese game.

I decided that because PH is small and I’m the only developer (so I wouldn’t harm someone else’s livelihood) that it was a good idea to cancel the Xbox version. Hilarity ensued, hell broke lose.

In the end though these controversies worked in my favor, as they increased sales, so I won? I guess.

The future and Shattered Dreams

Shattered Dreams

Project Heartbeat is remarkably close to being released and getting out of early access, because the game’s codebase and features are very stable I don’t have to dedicate as much time to the game as I did before (in fact, I nowadays mostly work on adding features that I said I would never do, just because I now have time for them).

I think I will probably wait for Godot 4.0 to be released and to port PH to it before release.

Lino has also been volunteering contributions to the game’s code, this will help smooth out the transition to a Libre codebase which will happen either after the game dies or after it explodes in popularity, whatever comes first.

Because of this newfound time, I have started work on a new project with my friend reixart, our new game project is called Shattered Dreams, it’s a story-driven game, something technically simpler than PH but more heavy in the game design department, I think you will like it, I’m writing the story and I think it’s quite interesting.

I’m better than I thought I was

Making PH made me realise my code isn’t that bad, it’s pretty good actually, I just happen to suck at everything else, but my code is better than a lot of succesful games, so it clearly isn’t the reason why I’m not a rockstar game developer just yet.

This may not be true to you, but it’s a realization that’s taken me years to reach, and it’s liberating.

Pick a game that plays to your strengths

The Project Heartbeat editor

Project Heartbeat is a game that really works for me, it’s heavily technical so it allows my programming skills to shine, since it’s the thing I’m the most good at it really lets me “carry” the rest of the game.

An example is the complicated editor I developed, the UGC, multiplayer systems etc… they are not systems that are heavy in assets, they are things where the thing that matters the most is how well programmed they are.

Project Heartbeat is also a single man project, so having a game that’s mostly determined by things that are within my control is a good thing.

There are games, and there are enthusiast games

Project Heartbeat players are very “nazi” about what they like

Rhythm games fall into the later category, they are technically complex games with very picky players that want the game to be just right, ordinary games can usually get away with not being “perfect”.

See for example pixel art games that don’t really do proper scaling… chances are average gamers won’t notice. Other examples of “enthusiast” games are fighting games and simulation titles.

Use controversy to your advantage, unless you are evil

To be fair, they are french…

Sometimes you might make a game who’s existence as a concept is controversial, Project Heartbeat is controversial in the Project DIVA community for a few reasons, mainly being a clone and a commercial one to boot, which I personally find fine, but some people clearly don’t.

Since this controversy isn’t spawned from something harmful you did (making a clone game doesn’t hurt anyone) you can safely double down on it and use it to your advantage to get more sales, this is how a lot of PH’s sales and exposure happened.

Another example is that some users (sometimes intentionally) confused me with the creator of the similarly-named HEARTBEAT (an RPG who’s creator seems to be heavily transphobic), clearly I’ve done nothing wrong here, so I don’t need to try to put it under the rug, these people made a mistake and it’s fine to use that to obtain whatever benefit I can find.

Haters are the best issue tracker

Haters are very good at remembering stuff that’s broken, the only issue that they sometimes might not realise you’ve fixed something.

The best answer to detractors of your game is to fix the issues you have, which on Steam is easy since you don’t need to have a lengthy certification process.

But do not entirely focus on hater-sourced issues, as some criticism might be too generic or malicious for you to put any effort into fixing it, such as “this doesn’t feel right (but do at least check, because there might be some merit to it).

Community moderation is simple if you just become a dictator

Project Heartbeat moderation rules at work

I have a single rule in my community (and it isn’t even written down) “don’t be an idiot”, which should be very clear, and apparently it is since I’ve only had to ban one or two people from the community since the game was released, seems to work.

This way, you don’t need to justify rules, because your game and community do not have to be democracies, they can be participative monarchies like the Project Heartbeat community is, there is no need to justify banning evil people, you just do it because it’s your house and you choose who’s allowed in.

Your users will be happy if you do it right, they entrust you to have a good judgement as to what your prototypic idiot is (and the judgement of your chosen moderators if your community is big enough).

People are giving you money, treat them with respect

When you are selling a game you have to realise you owe people a game that works, especifically if it’s one that’s in early access, it’s your goddamn job to get stuff done, so you should as much as possible to do what you promise.

Which leads me to another point, don’t promise things that are impossible, it’s your problem if you are unable to deliver, YOU are the one that promised and underdelivered, so unless something tragic happened to you there really is no justification, when you give 3€ to McDonald’s for a hamburguer you get a hamburguer, do you really want to be less trustworthy than a bloody fast food chain?

Keep looking back at what you’ve done

Keep checking how far you’ve gone, how is the game now vs how it was some time ago, has it progressed? If the answer is yes then you are doing it right. In my previous projects I didn’t look back as much as I should, this was a mistake because I didn’t realise I was stuck.

I keep comparing how much PH has changed since release, it’s a “you vs the guy she told you not to worry about” situation, and it really has changed which gives me confidence going into the future.

Conclusion

Even if making this game sometimes brought me heartbreak, I decided to persist in my pursue of the game I wanted to make, I’d do it again, I’ll do it again, it was fun.

--

--

--

I make a game called Project Heartbeat and work on cars.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Laura Lanford’s first game, H2O, is a visual novel made in just 48 hours

a photo shows a splash of water caught in mid air.

Analyzing the Houston Outlaws’ Peculiar Path Through the First 2 Stages of OWL

Grading Each OWL Team’s Trade Deadline Roster Moves

What Makes a Localization Good? Russian vs. Chinese Gamers

Respecting Time on a Loading Screen

This week in esports: BT, IMAX, Blizzard, Olympique Lyonnais

The Importance of Sound in Game Development: Immerse Your Player (Game Dev Day 28)

METAKINGS: Digital world where you have to master your character to win an arena.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
EIREXE

EIREXE

I make a game called Project Heartbeat and work on cars.

More from Medium

Work Log 2022.01.30: Stripe + Zapier Integrations

Increase Website Conversion with Motion Design

Top 5 Must-Have Video Call Characteristics

Cisco IOS Ultimate Guide