Update log
Full Project Heartbeat update
The complete published notes, normalized for clean reading and source attribution.
Repeated intro
Hello again friends, welcome again to the monthly progress post. I've been busy working on things for both PH and Swansong and I'm very excited to how well things are turning out.
Extracted changes
- Gameplay
- Performance
- Workshop
I also had the opportunity to get interviewed for a job, i managed to pass two interviews and a technical test quite well, but I still haven't received a finally answer, it's at a pretty nice local studio so the money would come in handy, I could even hire people to work on PH if the workload is too big for me, so the continuity of the game wouldn't be a concern.
Project Heartbeat
New content on the way
A few new songs are either charted or about to be charted, they will be added to the game as they are ready, at least 3 new songs are being worked on, here's a sneek peek at how the artwork for one will look.
It's made by Guinii, our resident anime women enthusiast.
The early access finale update
I have decided to rename the Godot 4 port to the "early access finale" update, this update will be the final update before the game comes out of early access, however this doesn't mean I won't continue working on the game. I just feel like its in a very good position where it can be justified to be called a full game.
Challenges proposal
After the very successful launch of the new website design I am pleased to announce that I've started work on challenges, challenges will allow players to fight against each other on randomly selected songs, details are still to be determined so I suggest you read my proposal here.
YUV -> RGB conversion on the GPU
Normally, when video frames are decoded they don't use the typical red green and blue format.
Generally, these are decoded as three monochrome planes (essentially, three black and white textures), with the first texture being brightness information and the other two being color information. This generally results in an imperceptible difference (at least to human eyes) and much more compact information storage.
Previously, PH would convert from YUV to RGB using the CPU for every rendered frame, even some that may never be shown at all. This was bad, so now the video is decoded as-is without conversion and is sent to the GPU as three YUV planes, it is then converted into RGB by the GPU.
The result is a >900% improvement in video decoding performance. Something to be at least a bit proud of I think.
Discord rich presence improvements
Discord rich presence now uses a homegrown discord RPC wrapper, which means that it will work more reliably (specially on Linux) and it makes my life a lot easier.
I also added a new feature, the game will now provide discord with workshop preview URLs, this makes the album art for the song show up on your discord profile. Fancy.
DirectX 12
On Windows PH now uses the new DirectX 12 rendering backend, this is to improve responsiveness and frame time consistency on windows, unfortunately there appears to be some kind of memory leak on some AMD drivers and on Intel Xe, so dragons beware.
Currently we are defaulting to Vulkan but you can give the dx12 backend a go with the following command-line argument:
--rendering-driver d3d12
SDL for input
It's not news that Godot's input system is sub-par at best and questionable at worst.
Source
