1. Project Heartbeat
  2. News

Project Heartbeat News

Project Heartbeat 0.17: Anniversary Update Episode 3! 40% off too!

Project Heartbeat 0.17 is here, this update is MASSIVE, with a revamped version of the new media downloader (that had to be rolled back due to issues discovered after release), a massive editor overhaul, better MM+ support and a complete rewrite of the gameplay code of the game for increased performance and reliability, a big NVIDIA fix for windows users, along with some new and highly requested features.

This is likely our biggest update yet (I think), and it marks the third anniversary for Project Heartbeat, the little rhythm game that could.

I have also decided to make the game 40% off, just to celebrate a bit more ;)

New content

[h2]New song: Monochrome Stars[/h2]

[previewyoutube][/previewyoutube]

The final SuganoMusic licensed song, a funky nostalgic song, Licensed from SuganoMusic, vocals and lyrics by shironegi, composed by obama.
The song was charted by resident idol enjoyer
The artwork was masterfully created by Mariale, who incidentally is also the singer for the OTHER song in this update. That's right, there's two!

[h2]New song: Dime Linda[/h2]

[previewyoutube][/previewyoutube]

Our first song in a language that isn't English or Japanese, done in Spanish by Mariale, one of the resident Project Heartbeat illustrators, I think it's quite different from anything else we've had before, so I hope you can find it enjoyable!

The chart was made by BunBun, a new PH charter.

The artwork comes from David Revoy's open source webcomic (Pepper & Carrot), with proper credits, of course.

The editor update


The editor has received a much-requested do-over, it now looks better and is nicer to use, with some new features that I'm sure you will enjoy.
This is done mainly by Lino.

[h2]A short introduction to the new editor[/h2]
Project Heartbeat has, since very early in development, had a chart editor, which people could use to create charts for the community. It worked fine, but it had a lot of rough edges and inconsistencies.
Furthermore, most of its design was based on UPDC, a chart editor that, while revolutionary for its time, doesnt hold up too well to more modern standards.
Over time, as more and more stuff was added, trying to keep it up to date with the features of the game and adding more tools was getting complicated, and the codebase was pretty messy.
So, enter, the New Editor:



[h2]Major changes:[/h2]
  • A more modern, sleek look, with rounded edges and bigger focus on icons over text.
  • The editor is now mostly grouped into modules.
  • Every module has big and clear buttons, with clear icons and a description which you can read by hovering over them.
  • Everything has a shortcut!
  • There is a new tempo system, with the timeline grid changing according to the tempo.
  • Selecting and editing multiple notes at the same time is now properly supported, with the entire power (and a bit more!) of the old expression runner available inside of every property spinbox.
  • All the tools got a fresh coat of paint, making them more responsive, easy to use and powerful. Also, some cool new ones were added!
  • You can now open external charts (From the workshop, officials, or the imported sources) as read only, so you can study charting and get inspired from the community.
  • Comfy Studio charts (.csfm files) can be imported right into the editor.
  • You can import charts alongside your current chart now, instead of overwriting it every time (useful for collaborations with people who dont like charting in PH)
  • F and F2nd chart importing was fixed, and the editor can now load them effortlessly (even decrypting them if necessary).
  • A new built-in script manager, with file management and a code editor with syntax highlighting.
  • An arrange wheel with multiple snap settings.
  • Support for irregular time sigs.
  • Proper speed changes (for example, set speed to 150%).
  • Playtesting shows the video and meta as if you were playing the chart normally.
  • A collection of static note templates, with tools to make your own or download them from the community
  • And much. much more!




If you charted before, please, try out the new editor, and report any bugs you may find to the #bug-reports channel in the official Discord server or on the steam forums. You can also ask for help there if you have any issues, and submit your thoughts on the new update. Your feedback is valuable, and it is what makes the game better!
And if you have never tried charting, now it is the best time for that. The editor has never been easier to understand or to work with, and seeing how new people interact with it helps make it better and simpler for everyone. So please, share your experiences with us!

[h3]Special thanks[/h3]
  • Brutal, who helped me with all my whinings about music theory.
  • Pascal, for always providing feedback.
  • Neorash, for pointing out bugs when the update released.
  • Samyuu, the father of the diva editors.
  • Everyone in the PH community, for their support and help throughout the development of this update.
  • And EIREXE, for putting up with my BS.


Workshop difficulty-based filtering




One requested feature for a long time was being able to filter by difficulty on the workshop, unfortunately the Steam Workshop didn't make this easy at all, so a compromise solution was developed, we use the tagging system to tag songs based on their difficulty star range, this is obviously still imperfect and I'd like to have more tagging options, but it's better than nothing.

Older songs will also have these tags applied automatically with the update, so you don't need to do anything!

In the future this system will be expanded to allow filtering by chart type.

Gameplay rewrite




During the development of the game the ever-growing requirements and new gameplay functionality required making changes on top of a gameplay system that just wasn't quite ready for it, this led to many complicated engineering problems that didn't have an easy and safe solution.

This is why the decision was made: To achieve a well working and reliable gameplay experience a rewrite of the gameplay side of the game was needed. This was done in a few weeks and after bug squashing the new system is much more reliable, with lower loading times and better performance.

While this work was done, new features that improved the experience were added:

  • "Play hit sounds only when a note is hit": Exactly what it says, note sounds will only play when you hit a note correctly
  • Sustains will now have a custom "held" looping sounds that gets higher and higher pitched.
  • Autoplay now uses the audio scheduling system, which means that note hit sounds should be perfectly in sync most of the time
  • Double notes now have a small delay while playing the normal non double note sound, this is because the recent changes had reduced latency so much it was becoming obvious that the sound was being played and then stopped when the double note sound was played.
  • Hold precision issues have been removed, which means that hold scores will no longer be -1 compared to what they should be.


New media downloader: Episode 3




The new media downloader was plagued with obscure issues that we weren't able to resolve, this is why a different approach was needed and why it was originally rolled back.

A new process communication system was added to the engine to allow the game to run processes and then communicate with them in both directions, this together with yt-dlp's powerful custom stdout system mean that the new downloader is now much more reliable.

This also adds back features such as being able to cancel songs mid-download (not just ones that are waiting to start download), and a loading bar.

ShinobuZ V2


The Shinobu audio engine has received yet another minor revision, this time the timing system was changed to using nanoseconds instead of milliseconds, this should lead to smoother note movement in some cases.

NVIDIA Windows stutter fix


NVIDIA's drivers have historically been non standards compliant, this was partially the cause of the dreaded stutters that were hard to replicate and would only happen on some machines, as they were also different across CPU architectures it was a very complicated problem to tackle.

I did some initial work on the past, by adding ANGLE support to the engine and other things, but that wasn't a perfect solution, I always preferred to use the normal opengl driver instead of a translation layer.

Late last year it was discovered that this is actually a known issue for OpenGL programs on NVIDIA GPUs (Project Heartbeat being one of them), a solution was developed that would disable a feature known as "Threaded Optimization" that caused random stutters for any OpenGL program running on windows that wasn't knowledgeable enough to know about this issue and disable it in the drivers.

This feature is also disabled by other high-performance OpenGL programs like Ryujinx.

Linux users do not have to worry about this issue, as the proprietary NVIDIA drivers disable this so-called "feature" by default.

Any other stutters that might be found are likely caused by the windows kernel being tragically slow at filesystem I/O operations and cannot really be solved.

MegaMix+ loader changes




Changes to how the MegaMix+ loader behaves have been made, now it will behave closer to how the original game does with DivaModLoader, it still isn't perfect and a lot of mods will continue to fail to load, but the great majority should work fine, specially when not many mods are used, however mod conflicts are known to cause songs to disappear in some cases and it's still being investigated.

As part of the loader changes, the game can now show song variants loaded from MM+ as if they were normal PH variants. Additionally the game will also show the list of mods that modify a given song.

Other minor changes
  • Enabled wrap around in the pause menu
  • Added the option to pause when the focus is lost by the game window
  • Made workshop upload form resizable
  • Fixed rollback issues when using high timing offsets


Future


This was a lot of work, took months since the last major update (in fact, since September), so I hope you will enjoy this update.

There is still some minor work left on some components of the game, my main focus right now is going to be on removing unused code in preparation for moving to the new engine (Godot 4), this will be a massive upgrade so the least code that needs to be ported over the better.

Another thing I'd like to do is rework the menu system to be more consistent and easier to maintain, as it's currently a bit of a mess (it was the first system ever created for Project Heartbeat back in late 2019).

Hopefully with my more stable mental health things will keep improving at a steady pace now, I have started working on yet another side project that I hope will lead somewhere :D

Project Heartbeat: Gameplay rewrite now in testing

!! WARNING !!


[h2]If you plan to try this beta and edit songs, please back up your charts, as they might be corrupted by some of the inevitable bugs that come with major code rewrites. Leaderboards are also disabled for the beta branch.[/h2]

Hello, one of the things I've been working on recently is rewriting all of the gameplay components, there are many reasons for this that I'll go over shortly.

Reasons for the rewrite


The truth is when I started working on PH in September 2019 I never expected the game to reach the point its reached today. For example originally I was never going to have the console gameplay style, but over time I decided to add it.

The problem is that due to the way the code was structured it was very prone to failure and strange issues caused by edge case problems (it doesn't help that the PH community is very creative and does many weird things with notes).

With this rewrite I aim to create a simpler base on which new note types can be implemented in a consistent less buggy form, with a proper architecture for handling multi-notes consistently.

Please, try it out and give me feedback!

Major changes
  • The autoplay system is now a modifier, the checkbox in the debug menu will be removed soon.
  • Autoplay hit sounds are now scheduled, so they should be much more accurate.
  • Multi note visual behavior has been improved to better match diva
  • Sustains now have looping sounds when held, and a different release sound
  • Sustains now currently count as two notes when a WORST rating is given


Known issues
  • Hidden modifier doesn't work (yet)
  • Double heart notes don't use the double heart note sound
  • Single slides break when holding their direction before they enter in range
  • Slide, normal and heart notes don't ignore eachother's inputs

Project Heartbeat 0.16 MegaMix+ loader, New downloader, Shinobu Z engine & more

Welcome to Project Heartbeat 0.16, after three months in development hopefully it will have been worth the wait.

This update is probably going to be the final big feature update to the game, as the focus now remains on getting more content in, bugfixing and polish, hopefully the new changes are to your liking.

The update is also not as big as other updates, because most of the work has been on big things with far reaching consequences (like the new version of the audio engine). The last few months have been hard, I spent around a month working hard on the game on big stuff such as the MM+ loader. Then I spent another month mostly bed ridden and finally spent a whole month trying to pick up a car.

It's been a terrible summer and I hope to leave it behind.

Anyways, let's get to the new stuff.

NEW CONTENT


[h2]New Song: Confession[/h2]

[previewyoutube][/previewyoutube]

A new song from Takanashi Koubou, this very nice song was charted by resident idol enjoyer Yahoo, the artwork was made by David Revoy for his webcomic Pepper & Carrot, which we are using because the comic is creative commons licensed, check it out.

The song is composed by TTL, sang by Kanata and written by LUNA.

NEW FEATURES / CHANGES


[h2]Shinobu Z[/h2]

A few updates ago I shipped the first version of Shinobu. Shinobu is our Open Source bespoke audio engine designed with rhythm games and other low latency applications in mind, powered by the great miniaudio library.

Shinobu was very well received by the community and made the game's foundations so solid some might argue that, as a rhythm game engine, Project Heartbeat is less prone to issues than some commercial titles such as Project DIVA MegaMix+

After the success of Shinobu I set out to engineer a reworked version of the audio engine, the main goals of this design project were reducing memory usage and increasing memory safety, thus augmenting reliability and preventing crashes caused by the engine.

This was once again a worthy endeavor, as Shinobu Z is now included in update 0.16, this update achieves higher levels of memory safety and performance while using less memory. For this he API has been completely reworked to allow binding songs to the Godot scene tree, among other things.

Overall, you should expect a 10% improvement in memory usage and reduced loading times for songs in the song list and in the game itself.

[h2]Project DIVA MegaMix+ loader[/h2]



In may of this year our colleagues at SEGA released Project DIVA MegaMix+ on Steam which has achieved positive reception.

Because of how similar the gameplay styles and due to how some costumers enjoy playing both games based on their different respective strengths Project Heartbeat now includes the ability to load content from Project DIVA MegaMix+ through the new MegaMix+ content loader in update 0.16. This new functionality can load the full song list of a legally purchased copy of the game so you can enjoy playing with your content in a different engine. This is similar to playing OpenTTD or using an emulator such as CEMU.

This system reads the files as they are, without modification, and even supports loading content designed to work with DivaModLoader. We hope you enjoy both games to their full extent.

The loader uses the Steam API to find your installation of MegaMix+ and verify ownership of the game, this is just a simple ownership check done by steam itself and doesn't involve Denuvo or any other similar technology.

Furthermore, through playing Project DIVA MegaMix+ content on portable systems such as the Steam Deck one can obtain longer battery life, as Project Heartbeat uses very little battery due to it not having 3D animations and using an engine that was designed for low power devices such as the PSP and the Nintendo DS, the battery usage is so low the default FPS on the deck is set to 120 FPS, yet it maintains 4-5 hours of battery life from a full charge.

[h2]Audio normalization system rework[/h2]

The code for audio normalization has been modernized and improved, this should yield much faster audio normalizations.

[h2]Streamer mode[/h2]



A lot of Project Heartbeat players tend to play the game on stream, for this we have added a new feature that we hope will be able to enrich their streaming experience for them and their followers.

The new streamer mode is a simple but effective option that allows exporting to files both cover art and background art right from the game as you are playing it. This allows you, the streamer, to display both artwork and currently being played song information right on your streaming interface.

If we ever move to Godot 4.0, an option to open another window to show extra stats of the current gameplay session to your viewers might be added, but for the time being please enjoy the new functionality.

We have also released a simple guide that explains how to use it, you can check it here.

[h2]Audio downloader rework[/h2]

One of the major complaints we got from gamers was the rudimentary nature of it. We agree.

Introducing: The new audio downloader, this is a major improvement over the old system, since it now handles the downloading of song media inside the game itself, thus being able to give you feedback about the status of the download, simultaneous downloads, better error information and more.

The system continues to use youtube-dl internally to obtain the information required for downloading the data, but the rest is handled by the game itself.

As this is a highly experimental feature, we ask for some patience while we sort out the inevitable bugs with it.

[h2]Game over chibi Aiko[/h2]



We thought that we would give the health system a bit more personality by including a crying Aiko when the random game over quotes are shown.

[h2]Option to clean unused and deleting song media[/h2]

You can now delete the song media from each song's pregame screen, and delete all unused media from options -> content inside the options menu.

Other minor changes and bugfixes


  • Fallback to default user directory when the user specified content path does not exist.
  • Add support for using PageUp/PageDown in the song list.
  • Fix skin editor applying clear bar colors wrongly
  • Fix YoutubeDL cache saving issues
  • Add new YTDL downloader code.

New song: ETERNAL

I would have released this for 0.15, but it wasn't quite ready yet, hope you enjoy this new song!

[previewyoutube][/previewyoutube]

This is ETERNAL, the new song featuring in Project Heartbeat. As it's tradition it's a Touhou cover from the Takanashi Koubou creator's circle.
The song is composed by DJ Timotei & Violet Delta, with lyrics by Kaito, written by Yaso and charted exclusively for Project Heartbeat by newcomer charter snail with the lower difficulties made by the great Yahoo mememaster.

The artwork was made specifically for Project Heartbeat by the great Guinii featuring Touhou Project girl Hina Kagiyama doing her usual spinning stuff that she's known for.

Hopefully you will enjoy this new song release! A few more songs are in the works, including a special non-eurobeat guest artist from Spain and another song from SuganoMusic!

More news soon!

Thank you for your continued support.

Project Heartbeat 0.15: Skin editor, QoL improvements, bug fixes & more

Welcome to Project Heartbeat 0.15, this is a smaller update than what you are used to, the objective of this update is mostly to make the game more friendly to new players, but it also includes some other new stuff, such as new song and the long-awaited skin editor!

Hopefully you all enjoy your adventures with the blue chipmunk later this week!

New content

[h2]New song: Reprisal[/h2]

[previewyoutube][/previewyoutube]

A new song for Project Heartbeat! funnily enough this song was licensed through shitposting on the fumofumo server.
The background artwork shows a Techno Pro Spirit style Toyota MR2 made by Lucas Corral, check his stuff out.
The song is charted by yahoo, arranged by Turbo, with lyrics by ShinkoNet and Turbo and with vocals provided by the great Odyssey Eurobeat!

New features

[h2]Skin editor[/h2]



One of the long-awaited features for Project Heartbeat: the Skin Editor.

It's a slightly complicated tool, but hopefully the built-in guide will be enough for you to understand it, I suggest playing around with it!

You can set your own songs to "recommend" a skin from the workshop, those songs will automagically download the skin, obviously this can be disabled if wanted in the song settings by the player.