1. Project Heartbeat
  2. News

Project Heartbeat News

New song available: RedLine 2018

[previewyoutube]https://www.youtube.com/watch?v=sNs0ANCaAKc[/previewyoutube]

RedLine 2018 is now available in the game, this song is a very upbeat song from the popular doujin game Densha de D.

This song is sang by T. Stebbins (known also as Odyssey Eurobeat) and produced by SuganoMusic.

The artwork was comissioned from Andrea Balaguer (@TriggeredHikaru), a very talented artist from Spain, I recommend you follow her work (and if you want, comission something form her).

The song was charted by our resident master charter Blizzin.

This song makes use of the new notes we introduced back in 0.4.0, I hope you enjoy it!

Project Heartbeat 0.5.0 now available

Hello! Welcome to Project Heartbeat 0.5.0, this update introduces many under the hood changes yet again, but also some new features, let's get right into it.

NEW CONTENT


[h2]NEW SONG: Getaway[/h2]

[previewyoutube][/previewyoutube]



Getaway is now available, this song produced by SuganoMusic, written and sang by the great Anthony McBazooka was intended to ship early on in the game's life, however some things happened and we couldn't ship it on time.

The artwork was made by Emmilly (sadnesswaifu) and finished by me (I only did the shading on the car and drew the visible wheel, she did everything else).

This chart has been beautifully crafted by twoncity.

NEW FEATURES & IMPROVEMENTS


[h2]Discord rich presence[/h2]



Discord rich presence is now available on Windows and Linux, this will show what game you are playing (or editing).

For the tech-people: This is my first shipped module using the Rust programming language, it's a technology I really like a lot so expect to see more rust-based code in the future.

The source code for the rust module is available here: https://github.com/EIRTeam/project_heartbeat_discord

[h2]Tweet button[/h2]



You can now tweet your score right from the post-game screen through the new shiny Tweet button.

[h2]Main menu music disable option[/h2]



You can now disable music from being played in the main menu through a new option.

[h2]VSync option[/h2]

VSync can now be enabled in the options, keep in mind this is likely to introduce more input lag, but might be necessary for some people.

[h2]"Convert to" dropdown in the editor[/h2]



You can now convert between note button types (so for example turn an up note into a right note) through a new submenu in the right click menu.

[h2]Custom icon pack support[/h2]

One of the new things added to 0.5.0 is our first foray into the world of modding, a new GitHub repository has been created with examples and documentation on how to do this.

Icon pack creation documentation

[h2]Add ability to change URLs in PPD songs[/h2]



You can now change the video url in PPD songs through a button in the pre-game screen.

[h2]Score is now shown in song list[/h2]



You can now see your maximum score directly on the song list.

[h2]Play count[/h2]



The number of times you've played a song is now shown in the pre-game screen, this will be further expanded with more stats in the future.

[h2]Note caching[/h2]



To make the game perform well on very modest systems, the game now prepares all notes on startup and loads them even before they are neded, this comes at a loading time penalty but can greatly increase FPS on some systems.

If your computer is capable enough and you want faster loading times you can disable this in options under "Game -> Load all notes when song starts"

This option is disabled in the editor.

[h2]Slide chain rewrite[/h2]



The way slide chains are drawn and handled has been rewritten, this new system should be much more reliable and also allows you to pause mid-chain in the editor.

[h2]Sound effect pooling[/h2]

Sound effects are now pooled instead of being loaded on demand, this should prevent stuttering on some systems.

[h2]Hold exploit fixes[/h2]

Some users noted that it was still possible to exploit holds through some complicated controller trickery, this has been fixed, please experiment with the new hold system, it should feel closer to what you are used to.

[h2]PPD double heart importing improvements[/h2]

Some PPD charts failed to load double hearts properly do to an edge case in how they were handled, this has now been fixed.

[h2]Multiplayer improvements[/h2]

Some aspects of multiplayer have been reworked, it should now perform a bit better and songs with non-ASCII (Japanese, Russian, Chinese etc...) characters will now load properly.

[h2]Open user directory button[/h2]



In tools there's now an option to open the user directory for convenience.

[h2]Editor general architecture improvements[/h2]

A lot of the editor has been rewritten, this should lead to much better performance and less bugs (particularly the legendary slide chain "sirens").

Amongst the changes included is note culling, which causes notes in the timeline to be ignored if they are not visible, the algorithm that does this has been carefully made to extract as much performance possible.

[h2]Experimental ANGLE builds for Windows[/h2]

Some Windows users using NVIDIA Optimus reported frame pacing issues, this is due to a bug presented in some optimus cards and only affects OpenGL.

In order to fix this I have ported the engine to ANGLE, ANGLE is a compatibility layer that translates the game's graphics calls from OpenGL to DirectX 11 and Vulkan.

This build is completely experimental and unsupported, the DirectX 11 backend will be used in an unannounced port to a new platform, so if you could test it that would be great.

To test the ANGLE versions go to your game's directory on Steam (you can access it by right clicking PH on the library -> Properties -> Local files -> Browse local files) and click on the .bat file that matches your desired version:

- Use run_vulkan.bat to run the vulkan version.
- Use run_dx11.bat to run the DirectX 11 version.

There are two additional aspects you should know about these versions:

- Obviously this is not a native port to DX11 and Vulkan, an official Vulkan port is planned for next year, this means that performance will probably not be as good (or good at all depending on the system) which is why this build is provided without support.
- The visualizer might be slow on both, so I'd recommend disabling it.
- The Vulkan version uses the same feature level as the GLES2 version of the ordinary game, this is because ANGLE doesn't implement OpenGL ES 3.2 yet.
- I recommend optimus users with frame pacing issues to use Vulkan and enable VSync

OTHER MINOR FIXES


- Fix crash when using the add to favorites button on difficulties.
- Added a new failsafe for YoutubeDL installations, this should make it so that if the installation fails (or is stopped halfway) the game will be able to recognise this.
- The editor now ignored input properly while a song is being playtested.
- Changed the wording of the PPD importer, since we now support all PPD chart types.
- Changed the clear bar to match our new CLEAR percentage (75%)
- You can now set the SFX volume 0%

Future plans and updates on other stuff


[h2]New leaderboard system[/h2]

Over the last month I've taken the challenge of learning the Rust programming language, my objective is to write a new leaderboard system so that non-official songs get leaderboards too.

This will also allow leaderboard entries with modifiers (and to filter them too).

[h2]New FAQ[/h2]

A new Frequently Asked Questions article has been published, let me know if there's anything you'd like to have added.

[h2]Practice mode[/h2]

The plans for practice mode involve reusing code from the editor, which is why I've decided to push it back yet again to see if the new editor architecture changes are stable.

[h2]Homebrew Nintendo Switch port[/h2]

For a long time I've been building versions of the game for the Switch, however these have mostly been unplayable due to various circumstances.

It's now playable, however stuff such as graphics fail to load, video decoding doesn't work (yet) and user songs also are not loadable, but I think it will be viable to release a port for homebrew switches in the future.

Updated FAQ

You might recall a few months ago I published an FAQ on Project Heartbeat responding some commonly asked questions about the game and it's future, I'd like to revisit this and make a new one with how much the game has changed.

Why don't you support MP4 video?


The reason why we don't support MP4 videos is because in order to support it I would have to pay a licensing fee to the MPEG-LA, MPEG-LA is the company that licenses H264 and H265 which are the video codecs used in MP4. Even if I implemented my own decoder this would still not be legal to do without paying them.

PPD is also technically not allowed to do this either, but they do anyways, neither PPD nor PH are high profile enough to be likely to attract the wrath of the MPEG-LA but I'd like to err on the side of caution.

I am against software patents on principle, so even if I could afford the licensing fees I wouldn't do it.

Keep in mind Project Heartbeat is not PPD, and PPD support is only provided as a courtesy for transitioning players, it is not the intended way to play the game.

This is the same case as with MP3.

What engine does Project Heartbeat run on?


Project Heartbeat runs on a custom build of Godot Engine 3.2

What programming languages is Project Heartbeat written in?


Project Heartbeat is written mainly in GDScript and C++ (used for the video decoder and Steamworks modules), for 0.5.0 we are shipping our first module written in Rust, used for the Discord Rich Presence.

I would like to study writing my own video decoding module in the future, the current one is fine but it would be nice to have our own made in Rust.

Who makes Project Heartbeat?


Project Heartbeat is a solo project, I Alex (or EIREXE) a 20 year old guy from Spain am the sole developer of the game, even if the EIRTeam publisher name would suggest there's a team.

There is however a charting group which makes the official charts (and provide input on some mechanics sometimes) and I regularly seek artists to make our background artworks, but when it comes to the game itself without counting content it was built by a single person.

What's the development history of it?


Project Heartbeat was started on September 21, 2019, which makes almost a year old as of this article. Development initially was slow but it has ramped up massively in part due to the COVID-19 pandemic.

I used to have a job at a French manufacturer making high-level racing simulators, but we got sacked because of the pandemic.

I really love doing this, so I hope I can continue working on PH for a while, I'd love to eventually start working on a new game, but PH takes priority.

Can we use macros?


Macros are already a part of the game, you can assign more than one action to the same button.

Any plans to make a console version?


I have access to a Development Kit for a modern desktop console that I can't disclose at this time, and I have made a homebrew port for the Nintendo Switch.

The Nintendo Switch port, if it's ever released won't be supported, but it will be interesting to see at least. This port would somehow be delivered to PH players through Steam, you would then need to copy it to your Switch.

The only reason why I am studying a console port is because the console I am targeting supports User Generated Content which to me is a core aspect of the game.

Project Heartbeat 0.4.0 now available

This update is smaller than the recent ones, a lot of under the hood work has been done in preparation for the future, to make it easier for me to continue working on the game, however some nice goodies made it in too. We will hopefully have two more songs to add to the game soon.

Most of the internal changes have been massive cleanups and modularization of the code, so this update is a bit short on the features side.

[h2]Scroll list direction holding for scroll list and options[/h2]

You can now scroll through most menus and change values in options more quickly by holding directions.

[h2]Hold and slide nerfs[/h2]

Holds and slide chains have been nerfed percentage wise, they now can only amount for 1.5% of the maximum score each. They used to be 7.5% which was too big, this doesn't affect scores and is a purely cosmetic change.

[h2]Tabbed controls section[/h2]



The controls section is now divided in tabs, depending on what they are used for

[h2]Major input handling changes (including hold cheese prevention)[/h2]

New input handling changes include fixes for diagonally hitting slide notes.

Previously you used to be able to cheese holds by holding all actions with one button and keeping that button held, this has been changed and now it cannot be done anymore, instead you must press the action at least once after you hit the hold note to be able to release the other button.

As another note, the editor's running instance of the game doesn't register game inputs anymore.

[h2]Editor test play restart button[/h2]

You can now restart a test play session from a button located next to the quit button.

[h2]Background dimming option[/h2]



There's now an option to darken the background of songs, this includes video too.

[h2]Sound effect changes[/h2]

Sound effects for double notes have been added, alongside with some changes to the slide note SFX to make them sound better and not have abrupt cutoffs.

[h2]Expression editor[/h2]

The editor now has an option to execute expressions, they can be incorporated in advanced editor workflows.

[h2]Performance improvements[/h2]

GLES2 now attempts to batch drawcalls for improved speed, I also moved note icons to atlases so they should use less memory and help batching (hopefully).

Multi lasers have also been changed and have a different look that allows for better performance.

[h2]Yet another trail code rewrite[/h2]



Okay I promise, this will be the last time I rewrite trails.

The new trail code should be twice as fast while looking much better and not having any separation issues anymore.

Bug fixes


  • Fix editor offset tool not taking sustain end time into account
  • Fix some issues related to song restarts
  • Fix PPD charts not loading slide chains
  • Fix some issues with the clear bar
  • Fix issues with hitting some notes using analog inputs (particularly hearts)
  • Fix an issue that would cause the editor to slowdown when selecting many notes
  • Fix an amusing issue with steam workshop uploads
  • Fix modifier menu focus issues


This update is dedicated to my friend Emmilly, who I adore very much.

Save 15% on Project Heartbeat

Project Heartbeat is available with a 15% discount for the Steam Summer Sale, get it while you can!!

https://store.steampowered.com/app/1216230/Project_Heartbeat/