TUXDB - LINUX GAMING AGGREGATE
by NuSuey
NEWSFEED
▪️ GAMES
▪️ STEAM DECK ▪️ DEALS ▪️ CROWDFUNDING ▪️ COMMUNITY
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 8 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]


News roundup #9 - PH update, Surprises, Project K & more

Good morning, this is not a typical news post, as there isn't much about PH in here, just an update on me and how I'm doing. A few weeks ago I released 0.19, the first post phoenix major update, it fixes many long standing bugs. The update went well, sales have been boosted by the steam rhythm game fest and the fanatical bundle, so I'm quite happy in that sense. I honestly haven't worked much on anything since that released, a few bug fixes here and there but nothing major, I feel a bit physically down recently. I always debate how much I should share about my personal life in these updates, this is not my personal blog (I'd make a separate category for that if anything) but I feel like the things listed here are relevant to development as they have an effect on my productivity and ability to work on the game(s). This is also made worse by the fact I'm a solo developer, so any personal happenings have a full stop effect on work on the game.

Project Heartbeat



Project Heartbeat is popping off hard, as I told you guys before, I will be working on some new features soon, rush notes are likely to be the next big feature to add to the game. I would then like to work on the archival format. I was thinking of using some of the LOD'd terrain mesh stuff from Project K to make the game's default background into a real 3D scene with 3D visualizer effects, not sure how well that would work but it would be very fast and probably be a nice thing to add. I also have to re-review the replay system which I parked for now, essentially the way it worked was by capturing raw input actions and replaying them, it was more complex than it had to be because I wanted to know the hardware origins of each input so as to have the ability to analyze the inputs per-device. A simpler and more reliable approach could be to capture the final input events after being processed by the game, but this would mean losing some data. As a middle ground we could do like Trackmania, which captures both actual game-affecting final input events and raw hardware input events, but only have the first one be used for actual replay playback. The raw input events can be used to analyze replays by the community without compromising repeatability. And yes, I am aware of multiplayer issues, I'm working on them!

New PH content coming!?


YES!! There's three new songs coming to the game, as well as a new built-in skin (that doesn't replace the original one we all know and love), more news soon. Two of them are Eurobeat classics /).

Project Surprise


I'm working on a PH related project that will be announced when it goes out of early access, don't worry, it's not Project Heartbeat 2.

Project K


Project K is my new game side-project, so as to not pollute this blog post with non-PH stuff you can find the full version here.

Health update


As some of you may know, I spend a lot of time in bed not doing anything, I used to blame this on depression (and it probably is still at fault somewhat). It has been discovered in a recent blood test that I have a major deficiency in vitamin B9, aka Folate, which means I have probably been in need of a supplement for a long time but it wasn't discovered until now. This would actually explain many things, such as my constant tiredness and difficulty losing weight, hopefully by taking folic acid supplements I can be back to normal in a few months, hopefully. I would like to apologise for not finding this out earlier and the effect its had in PH development.

Personal update


Due to personal happenings I've not worked much on PH recently, again as this isn't strictly PH related I posted about it on the patreon post. See you soon, hopefully for 0.20 or the end of early access?


[ 2024-09-29 13:30:02 CET ] [ Original post ]


Project Heartbeat 0.19 now available: Bugfixes, adjustments, and more

Welcome to this funky update, including not so many new features and a truckload of bug fixes!

New song: The nostalgic messenger


[previewyoutube=itBQ5pVuFN8;full]https://youtu.be/itBQ5pVuFN8[/previewyoutube] This is a song that has been in the works for two years, thanks to mvluna for the charting, to Cusi for the music and to RheaBee for the artwork!

Song list changes



After a lot of iteration and input from the discord I finally came up with a design I like. The new design features difficulty lists that are easier to read at a glance, this will also be used for score based filtering (the individual difficulties that don't match the filter will be greyed out). Currently the difficulty colors are either hardcoded (for the 5 canonical difficulties) or generated from a hash function, you will be able to set your own difficulty colors in the future though. There's also a much requested unsubscribe button!
On another note, when scrolling through the song list (specially when wrapping around) you will now see some placeholders, these are there to prevent having empty spaces and to give you something to look at while the short scroll finishes, this prevents having to load all the song UI elements.

OOB system



This is something i've wanted to do for a while, basically, I want to have system that lets you configure basic PH features right on first start, such as the note skin or the health system. You can also just skip it and use the defaults like before!

New judgement graphics



Judgement graphics have always sucked in PH, they were nothing more than labels, i finally got around to designing new ones, I also made the combo count use some new number graphics as well, might use them for the score counter on the top right too, who knows.

Stats tab



The results screen now has a new fancy stats tab, I hope you guys like it! It was made with help from the PH discord and specifically from Steven, I still plan to make some cosmetic improvements. On another note, the stats and the graph tab now do their math using a multi threaded task system, so they should no longer stall the game.

Results screen changes



I made some changes to the results screen based on user feedback, I hope you like them, there's still one more feature I want to add to it, but that will come later.

Pulsating buttons


I did some workaround to allow having animated buttons, the animation is rudimentary but works pretty well I think.

Slide note behavior changes


I have made the slide notes match the behaviour in the brazilian girl's game, specifically I made it so that it won't give you a WORST until its at the end of the window. It's a bit hard to explain, but you'll understand when you try it.

Video player improvements


The video player subsystem has been improved and it now supports different playback speeds, so you can have videos in nightcore more and in the editor when changing the playback speed.

Range sliders redesign



The range sliders in the options menu have been redesigned to be much nicer and more usable by mouse.

Bug fixes


  • Fix not being able to move the start of sustain notes in the editor
  • Fix workshop browser not using the adequate input actions
  • Fix gamepad list display in options menu
  • Fix mouse auto hide behaviour
  • Fix song cache dialog overflowing
  • Fix song list song container clipping
  • Fix video scaling in editor playtest
  • Fix first time playing a song in the editor not setting stream position correctly.
  • Fix crash on negative duration songs
  • Fix content reloading showing a black square in the middle of the screen.
  • Fix scripts and midi loader popups having wrong column expansion settings
  • Fix offscreen sustain line drawing
  • Fix scripts and midi loader popups having wrong column expansion settings
  • Fix some practice mode stupidity
  • Fix laser renderer not being deleted with groups in the editor under some circunstances.
  • Fix editor shortcut creation
  • Fix running editor scripts
  • Make video downloads using audio only actually only download audio
  • Fix code editor font
  • Fix Game showing wrong emblem in progression list
  • Fix video restarting without notes in practice mode
  • Fix practice mode exit focus issues
  • Add subtick functionality to some missing places
  • Improve universal scroll list clipping and performance.
  • Switch to comfy-like heuristics for grouping slide chains (hopefully)
  • Removed old task queue and switch song filtering and sorting to use new engine features
  • Fix skin editor serialization
  • Fix skin editor font editing
  • Fix skin editor outliner right click menu not showing up in the correct location
  • Fix song list not selecting song when returning from gameplay session
  • Fix song start scheduling fucking with practice mode when first entering it
  • Fix some sort options not working properly
  • Fix practice mode sometimes causing stray note groups to exist
  • Use new video player playback speed mechanism in video player
  • Fix taill preview images overflowing music player thumbnail
  • Fix diagonal and full width snapping in the editor
  • Fix workshop browser filter by difficulty
  • Fix "Deselecting all difficulty filters breaks difficulty displays" and "the text above the filtered songs still says "(0-10+)" regardless of what the filter actually is"
  • Improve lyric phrase timeline item behavior
  • Various minor fixes to windowing
  • Fix sorting by highest score
  • Add a few resource pack things and generate mipmaps
  • Fix a few minor memory leaks
  • Fix content dir selection
  • Fix holds in autoplay
  • Fix: Disable and enable UI as needed for the tempo map tutorial.
  • Fix: Make sure autoplace works when moving notes around.
  • Port Arc tools to Godot 4 editor
  • Fix leaderboard score alignment Fixes #98
  • Fix some more buffer behaviour leftovers
  • Fix autoplay not doing holds properly
  • Fix histogram lines usign placeholder values Fixes #101
  • Fix auto translate triggering for percentage delta label. Fixes #102
  • Fix editor transform preview on export
  • Fix Full Width and Diagonal Step Arranging.
  • Fix potential memory leak in tabbed container
  • Fix star filter not working in workshop browser
  • Fix failure to start practice when song assets aren't loaded
  • Fix main menu bg swap not happening when returning from playing a song
  • Fix Song menu doesn't remember previously highlighted song
  • Fix options sections having a default scroll that made them cut off
  • Fix some more editor stupidity
  • Fix timeline scrolling and make more shortcuts visible to the user.
  • Fix opening charts by double clicking.
  • Fix order of arc and circle tools.
  • Disable minimap while area selecting.
  • Fix angle arrange again.
  • Fix timeline stealing clicks
  • Fix song list folders and workshop tab not working and resetting respectively
  • Fix some options menu spacing issues
  • Remove invalid deserialized charts from in-memory metadata
  • Fix sort prop not being applied to filter songs task
  • Reset scale up/down shortcuts properly.
  • Fix circle size sliders.
  • Fix zooming in the script editor.
  • Fix scrollbar issues when resizing editor modules.
  • Fix latency tester
  • Fix error cleaning up thumbnail requests
  • Improve & fix workshop automatic download after subscription
  • Fix rare main menu news list error
  • Fix note scaling in practice mode with custom note scales
  • Fix issue when mashing accept on restart
  • Fix crash on startup on some linux distros

Other minor changes


  • Adjust note hit effect and slider piece particles
  • Make use of new videoplayer.process_while_paused
  • Improve gamepad list display in options menu
  • Add practice mode video seek debouncing
  • Make importer replace chart check be checked by default like in 0.17
  • Replace results screen share to twitter with score URL copy
  • Add the ability to filter and sort in folders
  • Added appear animation to confirmation windows
  • Improve workshop item thumbnail behavior
  • Add subtle shadow to most labels
  • Generate mipmaps for song assets

Future


Some personal issues have prevented me from pushing this early, I managed to cause myself a neck contracture (I barely get out of bed recently so it's starting to affect me) and my grandma is in a coma, which is for sure not good for spirits, the doctors say she has porphyria. Regarding Swansong: I have completely stopped working on it and I'm unlikely to resume it, as the people that were going to help me make it a reality are unable to work on it anymore, unfortunate, but it is what it is.
I have instantly pivoted to working on another kind of game, a less niche one, tailor made for consoles (particularly switch/switch2) so I can hopefully make some money, I don't want to talk about it until I have something to show though, I wouldn't want to disappoint again, but if you are around in the discord you probably know what it is. On a more positive note, sales have been insanely good recently, so I'm very happy with that, I finally have some air to breathe financially! See you next update, which will hopefully be the one that gets the game out of early access. Oh! about those rush notes I owed you... Soon! Enjoy this picture of my late grandpa's work van and my MR2 to top off this update:


[ 2024-09-11 01:12:48 CET ] [ Original post ]


News Roundup #8 - Marching towards full release!

(originally posted to the EIRTeam patreon) Hello people, long time no see! I have been working a lot on PH recently, fixing up stuff and finally adding new features, I hope you guys like what I've been cooking. Most things are bug fixes, a detailed changelog of which will come when I release the next stable patch!

Song list changes



I pushed some experimental song list changes, after a lot of iteration and input from the discord I finally came up with a design I like, there are some minor bugs here and there still, but I think i'll be able to solve those. The new design features difficulty lists that are easier to read at a glance, this will also be used for score based filtering (the individual difficulties that don't match the filter will be greyed out). Currently the difficulty colors are either hardcoded (for the 5 canonical difficulties) or generated from a hash function, you will be able to set your own difficulty colors in the future though.
On another note, when scrolling through the song list (specially when wrapping around) you will now see some placeholders, these are there to prevent having empty spaces and to give you something to look at while the short scroll finishes, this prevents having to load all the song UI elements. These will be updated to the new song list item design when it is finalized.

OOB system



This is something i've wanted to do for a while, basically, I want to have an out of the box system that lets you configure basic PH features right on first start, such as the note skin or the health system. You can also just skip it and use the defaults like before!

New judgement graphics



Judgement graphics have always sucked in PH, they were nothing more than labels, i finally got around to designing new ones, I also made the combo count use some new number graphics as well, might use them for the score counter on the top right too, who knows.

Replay work



While they aren't ready yet, I've been working on replays, I laid some of the ground work for them, most of the stuff involved making the holds and other parts of the game more deterministic. Unfortunately, this also means the removal of the venerable rollback on unpause functionality, I hope this doesn't bother you guys too much, but it was going to be extremely hard (or impossible) to get it to work otherwise.

Stats tab



The results screen now has a new fancy stats tab, I hope you guys like it! It was made with help from the PH discord and specifically from Steven, I still plan to make some cosmetic improvements. On another note, the stats and the graph tab now do their math using a multi threaded task system, so they should no longer stall the game.

Pulsating buttons


I did some workaround to allow having animated buttons, the animation is rudimentary but works pretty well I think.

Future



We are well on our way to going out of early access, I will do a small update to stable with the new features and bugfixes soon (tm), then I'll finally work on rush notes and then we might be ready for release, I hope. It's really been a terrible month for me, at least I'm glad phoenix ended up coming out as good as it did, my motivation is on the ground but at least I get stuff done on a daily basis.
I am once again at a complicated crossroad, I feel very demotivated and things aren't getting better, I fear for my future. I've been trying to learn some 3d sculpting too, let's hope that comes out good. I didn't work much on Swansong, I've actually spent a lot of time playing Ghost of Tsushima (great game btw). I feel sad when I play games because I feel like I should be working, but when I look at the real amount of time I spent playing vs working I actually should probably work less and play more, but I don't enjoy it as much. Life may be hard, but I'll figure it out. See you soon, lads!


[ 2024-06-24 14:54:34 CET ] [ Original post ]


Project Heartbeat Phoenix Update: Now available

"After 10 thousands years in development, hopefully, it will have been worth the wait!" Ladies and gentlemen, the time has come. We've gone through an insane amount of hardships together over the last year and this is the culmination of that work. Welcome to Project Heartbeat Phoenix.

Welcome home, rhythm game enjoyer


Project Heartbeat Phoenix is the most far-reaching update we've made ever since the game released back in March of the seemingly cursed year that was 2020. This update touches every aspect of the game and improves upon it, not only is the engine brand new, so is the input system, the video decoding, the steam integration, the multiplayer, the rendering code, everything has been meticulously revamped to harness the power of the great Godot 4. This update won't really blow your mind with fancy bells and whistles, as there aren't that many new features, what it provides however is an incredible improvement to the bare essentials, never before seen consistency and world-class rhythm game technology, this will not only improve the game, but also my ability to expand it in 1.0, let's get into the details.

The new approach



As some of you may be aware, in this year since the last major update I started a Patreon, this has not just resulted in a much-needed help to sustain myself (PH isn't profitable at all, with me not earning minimum wage most months) but also it has allowed me to have a "reason" to work on engine extensions that can be shared between different games. The result of this is the new Steamworks, input glyphs and FFmpeg modules I developed for the engine, these are open source and available on the EIRTeam GitHub for everyone to use! If you want to help me out further monetarily check out the Patreon, this is obviously optional and doesn't get you many benefits other than a different color in the discord.

New content


New song: Versos perversos


[previewyoutube=L9slqe57vUQ;full]https://www.youtube.com/watch?v=L9slqe57vUQ[/previewyoutube] Licensed from the great Andrs Alguacil, AKA elBokeron, Versos Perversos is a relatively popular Spanish meme rap song that I added because I personally like it much, luunah decided to make an extra hard difficulty named "Lunatic", this won't become the norm but it's just a nice plus. This is a collaboration I've been wanting to do for a while, I actually obtained permission from Andrs back in 2021 to use his work, but life and Project Heartbeat got a bit on the way. The art was made by @Psycho_Loli on twitter. Please check out her work! Charted by luunah and lino.

New song: War zone


[previewyoutube=NVDN7tkNopY;full][/previewyoutube] Touhou Eurobeat, the source of all great things in Project Heartbeat, here's another Eurobeat song from our friends at Grazepoint, based on an original Touhou Project song, this was arranged by WORLDWIDEWOLF with vocals and lyrics from Timothy. The artwork was made by our great resident artist @Guinii4 please make sure to check out her work!

The new game engine


Phoenix uses the new Godot 4 game engine, the result is increased performance, more renderer options and less headaches for me, yay.

The star of the show: Subtick system


[previewyoutube=8EgtpCrbdSg;full]https://www.youtube.com/watch?v=8EgtpCrbdSg[/previewyoutube] While working on what would later become Phoenix I had an idea, could we possibly make the game more consistent if we applied the same technology valve's Counter-Strike 2 uses for subtick input? The answer as it turns out, is a resounding yes. You can learn more about how it actually works in the video above, I plan to do a few deep-dive tech videos describing how it actually works eventually ;) Currently subtick is only used for gamepads, but I plan to add kb/m support in the future, and perhaps even touch support.

Input system



The input system has been replaced by SDL, this will finally rid us of strange issues the game was facing since release. Yes, this also means Steam Input finally works well with the game! Long-gone is the need to go into options to change your current controller manually, now you can even play using two or more controllers at the same time! (not sure why you'd do that, but you can).

New input glyphs



I decided to revamp the input glyph system used in the game, as mentioned before this is part of the three open source projects that I launched the patreon with! The new glyphs are nicer (courtesy of valve) and it also supports better keyboard glyphs.

Discord rich presence



I've reworked how discord rich presence works, it will now show the album art for workshop songs! It's also much more reliable and doesn't depend on Discord's stinky proprietary libraries :D

Multiplayer revamp



Multiplayer has been completely rewritten from scratch, the new code is more reliable and robust, it should allow for doing more complicated things like using modifiers or different per-song variants in the future!

New website





While already announced, the new website was developed as part of the development of Phoenix, I revamped the design, added many fancy new features, such as personal best history, search and more.

Real 3D GUI



In old Project Heartbeat the way the UI was made was by drawing two textures offscreen and then putting them on a bunch of 3D planes as textures. This had its share of inconvenience and performance issues, it also didn't allow any form of antialias or the ability to sample the background. With the new rendering code I wrote, we now have a real 3D interface inside PH, this allows me to use MSAA x2 on the main menu for crisper rendering and also saves you a lot of power consumption, specially important for handheld devices like the Steam Deck, I've seen battery life of up to 6 hours on my own machine. As I said before, the new real 3D GUI also allows me to read the background of the image, this means I can finally do the frosted glass effect I always wanted to do, I think it looks very pretty, I might make it configurable in the future, so please let me know what you think of it.

Video decoding improved



I rewrote the video decoding code we used, by taking heavy inspiration from the way Osu! does things but with a few twists. You see, videos don't really come in RGB form, they usually come in a pixel format known as YUV. The human eye is actually much worse at distinguishing colors than it is at distinguishing various shades of brightness, what most formats do is that they cut the pixel data into a big luminance channel and two smaller chromatic channels. Essentially this means that instead of needing three full resolution images for each color channel (R, G ,B) you can instead get away with a big image for luminance and two smaller ones for color information, and your eye is none the wiser! Unfortunately, graphics cards can't really display YUV data directly, due to this the conversion had to be done on the CPU which was computationally expensive, there are some graphics API extensions that exist but there's not much reason to use them now that we have compute shaders. And such is the approach used in Phoenix, it uses the massive parallel power of your GPU to convert YUV video into RGB, in practical terms, this means that converting a frame to RGB takes 43 microseconds instead of 7 ms on a powerful computer, which is a 160 % improvement.For now this technique is only available on the Vulkan and DirectX 12 rendering backends. I also added the ability for video playback in nightcore mode, I hope you guys like it.

True Vulkan and DirectX 12 support


Old PH used a compatibility layer known as ANGLE to translate the original Godot 3 OpenGL calls into Vulkan (and formerly, dx12), this was fine, mostly, but PH now uses Godot 4, which has native Vulkan support. I have decided against making DirectX 12 the default on windows, due to some potential memory leaks in the Godot code that were reported to me, but you can still try it if you want. On the long run, PH should get native vulkan DXGI present so we can ditch DirectX altogether, but that's currently out of my expertise since I'm a bit of a Vulkan noob hehe. OpenGL is still supported, at least for a while, but it's actually likely to perform worse on most systems, so I recommend not using it.

Results screen revamp



I redesigned the results screen, thanks to input from NeoRash, I think the new design is quite nice, now it shows more information than before.

Future



I am very excited (and honestly, nervous) about this release, this is basically the work of a full year condensed into a single update, gives me the same feels the initial release back in March 2020 gave me, it's a good feeling to finally be productive again. Regarding Swansong, I haven't had much time to work on it obviously, but I already know what things I will be exploring when I inevitably return to it, but obviously my focus always remains on PH, specially since I expect an inevitable wave of new and interesting bugs with Phoenix. See you in the next update where PH will finally go out of early access! I would also like to thank steven for all the bug testing and hunting he has been doing, and the various analysis he ran on the game.


[ 2024-05-19 22:59:36 CET ] [ Original post ]


Project Heartbeat Phoenix Update: Release date announcement


Mark your calendars: May 20th is the day Project Heartbeat Phoenix releases to everyone! Project Heartbeat Phoenix is our biggest release yet, featuring a new engine, improved performance and a first of it's kind subtick system. Love will never be the same.


[ 2024-05-13 21:18:35 CET ] [ Original post ]


News roundup #7 - The funeral and Project Heartbeat Phoenix Beta 4 now available

(Originally from the EIRTeam patreon page) Hello friends, it's time for our monthly project heartbeat development update, I have spent this month working mostly on PH, so phoenix got many massive upgrades and is inching ever closer to being released. I don't know why but I have spent the last few weeks working HARD on Phoenix, squashing many editor bugs and improving things here and there.

The funeral


As you may be aware, diva is all but dead, which is very sad, this has incidentally led to a massive amount of new sales for me, so it's a bittersweet moment. I hope I can carry the project diva torch as best as I can. Of course my budget will never be anywhere near diva, but PH also doesn't cost nearly as much ;) (P.S: If you are the owner of some music-heavy IP, like a music-focused anime or similar I'm open to negotiations of making a game using the PH engine, similar to miracle girls festival. I have console and mobile versions of the engine too).

Phoenix Beta 3


I released Phoenix Beta 3 last week, I could pad this post by copying and pasting you all the changes (and there are a loooooot of them) but I think it would be better if you read it straight from the source here. The important changes, besides the massive amounts of fixes are:
  • UI is now true 3D, saving power and looking better, plus I added a frosted glass effect to transparent elements
  • Modifiers are fixed, including hidden
  • New console -> arcade conversion modifier, experimental
  • Input map migration from old PH to Phoenix
  • Disabled dx12 support (for now)
  • Workshop now shows a gameplay type display
  • Some changes to menus, specially pregame

Phoenix Beta 4


Today I'm also releasing beta 4, well, I've been releasing it as I worked during the week, but there's yet another shit ton of changes to the game and fixes to make it work better. Not much new stuff, but as I said before, phoenix is in a bit of a feature freeze until it's all sorted out and relatively bug free. God I fear for the day Phoenix is released and I have to write the changelog for all cumulative changes... Anyways here they are:

The controller dilemma


I was thinking about non-standard controller support in PH, and I came to a dilemma, I am considering only officially supporting non-gamepad-style controllers (like the xbox controller) and letting people use steam input to remap it. What do you guys think? (specially considering phoenix supports steam input, unlike stable PH).

Multiplayer


I've worked hard on some phoenix multiplayer stuff, it's almostready, most functionality is restored but I want to give it a good do-over. Either way, it should be made available soon. Unfortunately phoenix MP uses a different, newer, Steamworks P2P API for communication, so you won't be able to do crossplay between stable and beta.

Results screen rework



I redesigned the result screen, thanks to input from NeoRash from the PH server, the new one looks way nicer adn shows more info!

3D UI improvements



(It totally looks like wallhacks lol) Good news, I've revamped how the 3D UI system introduced last update works, it's simpler and does clipping properly, yay. I also managed to do away without dynamic canvas operations, unfortunately I've also managed to break DX12 and OpenGL whoops.. I may just drop OpenGL support entirely, but i could reimplement it if needed quite simply.

DJA rework


In another episode of EIREXE tries to fix direct joystick access, I think I've finally done it this time. I replaced how inputs behave, with the empty slide sound playing always, even when hitting. I also used a multi band compressor to try and make the slide empty sound less annoying, let me know what you think! Finally, I reworked how DJA behaves in general, including some funky deadzone intersection code that should make fast flicks more consistent. Previously, when you hit a direction and then flicked back the opposite way there was a chance your input would "skip" the deadzone and thus never re-trigger the slide/heart action, now the game checks if a line drawn from the previous joystick position to the current joystick position would intersect the deadzone, if it does and if it would end up outside the deadzone again it takes care of triggering actions and releases the way it should.

Interval tree accelerated gameplay


After many long years of pain dealing with inconsistent note clipping I decided to go the nuclear way. The new interval tree method the game uses allows for very fast lookups of what note groups are actually visible on screen with none of the issues that plagued old PH, specially regarding custom time out values.

Other fixes/small changes


  • Fix MM+ song loading
  • Fix sine wave gimmick effects
  • Fix editor right click lockout
  • Fix editor timeline scale being wrong in some circunstances
  • Adjust slider piece particle and note hit effect
  • Fix difficulty creation
  • Fix editor settings selector
  • Fix creating variants
  • Improve mouse trap
  • Fix potential loading screen error when downloading UI skins
  • Fix workshop media auto downloads
  • Fix editor help links
  • Fix data race in get_song_select_sprite_set
  • Fix editor help links
  • Fix some timing point deserialization (intro skip, lyrics etc)
  • Fix song metadata editor question marks
  • Fix resource pack editor open pack window, scaling and inspector.
  • Adjust main menu scaling and theming
  • Fix practice mode layout
  • Fix lyric clipping
  • Fix error loading content dirs section
  • Fix ofsetting timing points in the editor only offsetting notes even if that setting is unchecked
  • Hide tempo change dialog by default
  • Optimize editor inspector updates by deferring them whenever possible
  • Optimize copying and pasting notes
  • Fix PPD song loader not loading YT json
  • Fix PPD video selector dialog
  • Make script editor dialog a normal window instead of a Popup
  • Fix script editor behavior and syntax highlight
  • Fix editor background scaling
  • Make editor playtest UI scaling match the game's
  • Optimize results screen
  • Fix some album art scaling issues
  • Fix workshop browser pagination wraparound and backing from detail view
  • Fix start menu party hat
  • Fix editor note layer order
  • Fix playtesting charts
  • Fix editor playtest not playing video at the correct time
  • Fix multi note deletion breaking
  • Fix audio loudness for MM+ variants
  • Fix DJA heart sustain note transfers
  • Fix "the save as button doesn't seem to do anything" and "after going into the song selector in the editor and then going back to a chart you can no longer press space to play until restarting the editor"
  • Rework some pre game screen architecture
  • Fix missing async task queue thread joins
  • Optimize song list container by using visibility notification rects
  • Fix note usage deserialization and related menu elements
  • Add CSV timing dumping

Swansong



Honestly haven't worked much on swansong, but I've made an execution system and switched to ghost of tsushima style GPU blood, it's fast as fuck and I think will look better once I add more randomness. I'll post a video of the blood in movement on Patreon right after this post goes live. After the combat and assassination system is semi-working, I would like to go work on parkour again, I have some ideas on how I'm going to do it. I've also been drawing some concept art, it's not good but it shows an idea i had for a hanging city inside of a rock formation (a ravine?). I also asked Guinii to make me some concept art for the protagonist, i'll showcase it here as soon as there's something done! I think you'll love the ideas I came up with.

Future



It's all looking very good, it's all going well, suspiciously well, this means we are well on our way to exiting early access relatively soon! Target is before august. On another personal note, my car finally passed inspection (which cost me a pretty penny) and I unfortunately had to reject a job at a company for personal reasons, but oh well, at least I will always have frieren... except someone forgot to put the base in the box for the figure, ffs.


[ 2024-05-05 22:32:01 CET ] [ Original post ]


Project Heartbeat Phoenix: Beta 3 now available

Hello, I decided to start making changelogs for the big beta updates. In case you aren't familiar with it, Phoenix is the name given to the new version of Project Heartbeat running on Godot 4, this version has been widely revamped with many new bells and whistles, including the new subtick system. You can learn more about it here: [previewyoutube=8EgtpCrbdSg;full]https://www.youtube.com/watch?v=8EgtpCrbdSg[/previewyoutube] This update consists of 80+ changes to the game's code, mostly fixes but some minor new features.

Fixes


  • Fix workshop browser
  • Remove controller selector since it isn't required anymore
  • Remove simplified chinese translation that wasn't ready for prime-time yet.
  • Fix loading screen crashes
  • Fix some BPM changes not being applied
  • Fix an issue that would cause the game to crash when opening the editor
  • Fix notes not cleaning up properly when being deleted in the editor
  • Fix and improve behavior cursor auto-hide
  • Fix editing angles in the editor by clicking on the stage
  • Fix some editor time conversion errors
  • Fix folders
  • Fix midi, DSC and PPD importers.
  • Fix minor (inconsequential) memory leaks
  • Fix result rating styling
  • Optimize stylebox vertex count
  • Fix clipping in pregame screen.
  • Fix 3D menu scaling
  • Fix editor trying to use hidpi and failing at it strepitously
  • Fix lyrics rendering
  • Fix UI scaling changing when exiting the editor
  • Fix some popups not spawning centered
  • Fix note input lockout during fade-in
  • Fix slide chain drawers not doing the appear animation properly
  • Reduce editor font size to better match old PH
  • Fix missing editor toolbar icon and recolor waveform icon
  • Fix note movement gizmo losing tracking when moving the mouse too fast
  • Fix song variants crashing the game
  • Fix editor area select
  • Fix song list search passing keyboard input through in some circumstances
  • Fix song restart fade-in input lockout
  • Re-add yellow selection triangle to notes in the editor timeline
  • Fix arrange wheel
  • Fix pregame screen modifier buttons not being usable with a keyboard/gamepad
  • Fix pause menu stealing focus when clicking in an empty place
  • Optimize credits section
  • Fix results screen minimap
  • Fix results screen graph
  • Bring back and further optimize pause menu blur
  • Fix slide hold score not showing
  • Fix editor shortcut styling
  • Fix song metadata editor using save file dialogs instead of open file dialogs
  • Fix note appear effect animation speed
  • Add hack to reimplement old engine note high amplitude high frequency effects
  • Improve modifier localization
  • Fix modifier selector scaling
  • Fix hidden modifier

Features


  • Add note usage icons to workshop browser item thumbnail
  • Add new result screen test button to debug menu
  • The main menu is now real 3D, which should massively reduce power consumption and make most GUI elements look better.
  • Menu elements now have a 0 cost frosted glass effect behind them.
  • Pre-game screen now has a small leaderboard with information about previous plays, this will be improved upon in a future patch.
  • Temporary project heartbeat phoenix logo
  • Add migration system for old engine input maps
  • Make sustains actually usable when using the hidden modifier


[ 2024-04-17 11:43:03 CET ] [ Original post ]


Moving Beyond Frame Rate | Project Heartbeat Phoenix

[previewyoutube=8EgtpCrbdSg;full][/previewyoutube] The trailer I told you guys about in the last post is finally done and released, please check it out! Cheers.


[ 2024-04-01 01:53:43 CET ] [ Original post ]


News roundup #6 - Project Heartbeat Phoenix

(This story was originally posted to the EIRTeam Patreon here) Hello, sorry for the delay but I've been down for most of the month due to health issues, fortunately I've still managed to continue work full steam ahead. Unfortunately due to a badly timed company restructuring I didn't manage to get into the big studio I told you guys about last time, that was a hard blow specially because it would have been very helpful economically, oh well.

Project Heartbeat Phoenix


I've been struggling with coming up with a catchy name for the new engine update, I think I finally have one I like, Project Heartbeat Phoenix, let me know what you think about it.

Subtick promo video



I've been thinking about making promo videos for Phoenix, this includes the new subtick system, I already have a video ready that I will have Kyuuon voice, hopefully it's well received.

Fonts


I did some work on unifying fonts across the whole game to better support non-Latin character languages, if I did my job well every single label now supports Chinese, Japanese, Korean and Cyrillic characters (I hope).

Localization



I did some work on improving the localization system, it's now basically ready for me to send to translation companies to translate it. I tried to find a service where I can let people contribute localizations, but I would have to self-host and thinking about it with the cost of proper translation it would probably end up being more expensive. I also considered AI translation but people would probably not like it and Valve may be made about it. My current plans for localization languages in PH will be:
  • English
  • Spanish
  • Catalan
  • Japanese
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Russian
  • Ukrainian
It might take a bit for me to look into paying for these translations because I have to get the car fixed, but hopefully that will be done soon.

SDL on Windows


The game now uses SDL for handling game pads on windows just like on Linux, this is likely to increase compatibility with different controllers and I might do something fancy with the PS4/5 LEDs in the future.

Other minor fixes


  • Fixed a long-standing where the waveform would veer off-sync depending on the amount of horizontal scroll
  • Fixed async loading data races on boot
  • Fix main menu mouse accuracy
  • Fix scrolling using the mouse in various places

Swansong



As I said last month I've started working on the combat system for Swansong, it's not ready to show yet, but I've recently added sound events to the animation system, ragdolls and I'm currently working on blood by taking inspiration from Counter-Strike 2. I might even make a video detailing how the system works. I have also been experimenting with some euphoria-style semi-procedural ragdoll physics, I'll probably use them for death poses and maybe for some combat reactions.

Future



Honestly it's been a rough month, I almost though about cancelling Swansong but I got a burst of motivation to work on it after seeing the combat system sorta seem to work. I also went to the doctor the other day for a follow up on my kidney stones, seems like its genetic and all I can do is drink water and pray they dissolve before getting dislodged. See you all next month!


[ 2024-03-19 10:41:46 CET ] [ Original post ]


The early access finale update now in beta, tickless input system, SDL & more!

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. 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. Hence why I decided to rip the entire input driver and replace it with SDL. SDL is a very common library for handling various aspects of application development, although here its only used for gamepad input. The reasons are varied, but its mainly about preventing duplicate devices (such as virtual steam input devices) and properly mapping quirky controllers. Currently SDL is only available on Linux, and it uses your system SDL2 library for now.

Input system changes


PH's input system was originally meant to work around issues caused by godot's shoddy input handling, fortunately with the addition of SDL we can now be in the 21st century and accept inputs from various controllers at the same time, all without having to go into the input menu to change between controllers. This may also open opportunities for coop charts. Let's see what you can come up with!

Timestamped input system


One of the new stars of the show is the tickless input system, essentially inputs are constantly being read while the game is doing other things and a timestamp is assigned to each input event. Before PH would process all input events at some point during the frame as if they happened at the time they were processed, this wasn't exactly the best idea, while it doesn't matter for most games for rhythm games like PH its quite noticeable Once the game processes the input events, it knows at what time they happened, the game was already designed with this in mind, so gameplay can evaluated at any song position. This results in essentially unlimited input polling rate (well, whatever your hardware can handle), even if the game is running at a lower framerate.

Nightcore modifier video support


The nightcore modifier now supports playing back video, this uses a bit more CPU but it does work.

Swansong



This month I worked very hard on Swansong's combat system, although it's too green to show much at this time, maybe next month!

Future



Thank you for reading yet another monthly update by the time I post another update I will have turned 24, oh the missery of the passing of time! I will keep on keeping on for as long as I can, have a good one my friends.


[ 2024-02-08 05:54:05 CET ] [ Original post ]


News roundup #4 - New website now released!

Hello friends, today marks the release of some things I've been cooking for a while, hope you like them. This month has been as active as the last due to the holiday season, but I've still worked hard as much as I could to deliver these things to you. The Project Heartbeat website revamp is something I've been cooking for a while. It has taken a few months of hard work and a lot of code restructuring to make it more extensible, faster, easier to use and prettier, let's get into the details.

The new website


New design



The first thing you will notice upon entering the website is the new design, it's much fancier and represents the in-game aesthetics much better. More importantly this has resulted in a significant code restructuring which makes styling changes to the site much easier to do on my end. The song pages now feature the song's background art, this is thanks to Steven's excellent Project HeartAttack website, which is also now linked on the song pages. Thanks Steven! Of course, this is only temporary, I want to move to a locally cached version of song data, for this and other purposes, unfortunately valve hasn't been very cooperative with fixing with a certain bug I'm facing, so I cannot proceed with the reliable option I was thinking of.

Score progression



The site will now store a history of your personal bests for songs as you get better at them, so you can see how much your score improved, a fancy graph is also included.

Score details



You can now see a detailed breakdown of every one of your scores, this includes a breakdown of point distribution and yet another fancy graph.
The score page also will now have a thumbnail when you post it on Twitter, Telegram, Facebook and even WhatsApp, when clicking the in-game tweet share button the link to the score will be included in the tweet if it's a PB, however this functionality isn't ready just yet on the game side.

Profile changes



You can now search on every player profile for songs based on name. You can also sort the results based on date achieved or rank, this can and will be expanded in the future.

Badges



Another important feature is badges, which are granted to people who achieve certain things or that have contributed to the game. Although currently no in-game actions grant any badges they will in the future. There exist three badges at this time, the early access badge which all users have, the master charter badge which is given to official charters and the Patreon Supporter badge which is given to people who support this Patreon page.

Song search



Additionally, you can also search for song leaderboards in the new community songs page.

Performance and other technical funnies


The new website uses the great htmx framework which makes a tightly integrated and high performance site like the PH site a breeze to make without having to involve complicated web frameworks. Some performance improvements have been made, some actions that were done sequentially are now done in parallel and some queries have been optimized.

Future


There are many things that I didn't implement just yet, like the aforementioned ability for the site to have access to the actual chart information and assets. This will come once Valve decides to fix the bug I am facing. On another note, a feature I would like to include in the future at the suggestion of Steven is daily or weekly challenges, where people compete on a randomly selected song to attempt to obtain badges. I still haven't finalized how it will work, but I would like to give out three different badges per difficulty (for the podium), with a special badge reserved to whoever gets the highest score of the day/week on the song's hardest difficulty.

Swansong pitch



As swansong has evolved to the point where I can call it a viable game to build, I decided to focus my attention on defining most aspects of the rest of the game. On January 1st 2024, after crying myself to sleep once again I had an epiphany, I finally came up with the full game-concept that I wanted, which I redacted the next day into a pitch that I can show to people, inspired mainly by the original Diablo pitch. You can find the pitch here, please let me know what you think of it!

Future



That's it for this time, I hope everyone has an amazing new year and hopefully things will be better soon! The future is scary but exciting at the same time.


[ 2024-01-03 02:50:08 CET ] [ Original post ]


News roundup #2 & #3 - Source code release, new song, website revamp & more

(This is a summed up version of news roundup #2 and #3, I forgot to post #2 to steam so I'm merging them together whoops, hopefully I won't make the same mistake again, you can see the #3 edition of new roundup here on our Patreon) Hello, I am once again hoping I can manage to make the news posts become monthly from now on, anyways, since we are in early December I think it's time for the updates, there are many exciting new things I've been working on.

New song: Spread my wings


[previewyoutube=EfnZ-EtHay0;full][/previewyoutube] A few days ago I announced (on Twitter/X whatever you wanna call it) the start of an official collaboration between Project Heartbeat and the Grazepoint eurobeat creator's circle, with the first song, "Spread My Wings" by DJ Timotei feat. Slothington from the album TouWHO?? 2. This is the first chart made by mvluna and features artwork from resident artist Sadnesswaifu.

Source code release


While this has done a while ago I wasn't sure if it would stick, but now I am. I released the source code for Project Heartbeat publicly for everyone to take a look at, it's not open source but it's source code available, I will explore a proper open source release in the future. You can check the source code here.

New engine branch updates



Since the last update many things have happened, the new engine version of the game was finally released for testing, although it's very broken. If you are interested in checking it out please go on the Discord server and look for the new engine info channel to learn how to access it. New engine branch updates
As I said, it's very broken but it already integrates some goodies such as the new input glyphs and a new song that is currently being tested. The new engine also has support for Steam Input emulate devices, long gone are the days of having double inputs! While this is a preliminary port it doesn't make use of ALL the new engine features just yet (for example, the new mailbox vsync or the ability to switch controllers on the fly). But it will soon. Please, test it out so I can work through the issues faster!

Website revamp updates



As a side project I started work on upgrading the website. I started by upgrading it to use the most recent version of actix-web and to use htmx, which should provide a more modern experience. As this means interactivity can now be expanded upon I am also working on the ability to search within the site for songs by name. I also want to add the ability to see historical leaderboard data, that should be useful. I would also like to do something similar to what Steven's website (Project HeartAttack) does with the songs, which is that it locally has the song data available which would be helpful. I would also like to add some form of cache for user data and avatars to increase performance of the site, as the current source of slowness is having to constantly call the Steam API which is incredibly slow. last month I showed you a more conservative set of changes but I decided to go the extra mile and do a proper revamp to bring it more in line with the game's styling and make it more modern. Among the new features are improvements to the responsiveness of the site on mobile devices, as well as a per-user progression history page, full with a graph (the graph is free of JavaScript btw!). This obviously comes with massive improvements to the underlying technology powering the site, such as better database access locking and more.
There are a few things I haven't been able to implement properly yet, such as allowing the site to access the actual files of charts on the Steam Workshop, such as for using background images or some other statistics. My plan was to use the same mechanism dedicated servers in other games use, however it appears there's some kind of issue with permissions that affects Project Heartbeat only, I contacted Valve about this but they haven't been very helpful yet, hopefully this will be resolved. As you can probably tell, the site is heavily inspired by Osu's website, if it ain't broken don't fix it. The last thing that I want to do (which the server already has data for, I just haven't gotten around to making the actual page yet) is the ability to have a page dedicated to each score entry to see a graphed breakdown of information. Once the replay system is working there will also be a button on the webpage that launches the game to show a replay, fancy.
Another thing I want to do to the site (and to implement in-game in the future) is badges/medals for certain achievements done to help the Project Heartbeat community, my plan is to have a general-purpose thank-you badge for people who have done great things (such as Steven and his PHA website) and a few more specific ones for things such as people who've charted officials or for having participated in the community-ran events. Of course there will be a special badge for patrons.

Project Swansong updates



The last few months have been spent on refining the parkour system for swansong. The game now uses pre-baked polygons for sideways ledge movement. This has been a majorly painful thing to do and the current solution still isn't perfect, but it will do for now, it will make it (hopefully) more reliable. I would like for the parkour demo to be ready before the end of the year, but with my health in decline i have no idea if I'll have the demo ready in time. On other notes, I've integrated the Jolt character controller, which means the player can now go up and down steps, coupled with the IK system and the feet aren't staying in the air! This can be improved further (I have read some papers about how Assassin's Creed syndicate does it), but it looks better than most games for now. I still haven't decided other aspects of the game, as I'm focusing on the parkour first (since it's the highlight of the game) but I have been thinking about how the gameplay loop will work and whether or not it will be semi-open world like AC1. After the parkour system is released to testing I will be focusing on combat. This month I've spent a lot of time working on improvements to the reliability of parkour system, such as introducing an additional ring around grabbable ledges so that the character keeps a reasonable distance to it that is also consistent. I also ended up completely rewriting the parkour logic to make more heavy use of shape casts and other trickery to make sure movements are possible, while this is a bit more labor intensive than the previous raycast only solution it seems worth it, as it has already shown a lot of promise in terms of reliability. We are inching closer and closer to a playable prototype, hopefully by next month after I finish the wall grab point system.

Personal update



Life continues to look grim and I slip in and out of depressive and sometimes manic episodes, so I'm not putting in as many hours into working as I originally hoped. Sales also haven't been good at all, even with the boost of publicity from the winter sale. I tried to apply to a bunch of gamedev jobs without any luck at all. Hopefully things will get better over Christmas. Goodbye friends, see you soon!


[ 2023-12-05 17:10:50 CET ] [ Original post ]


News roundup #1 - Swansong, The new engine, the 3 big projects

(Originally posted on the EIRTeam patreon) Hello friends, it's time to give you an update on the development of Project Heartbeat and everything EIRTeam. I'm currently on vacation, so i'm using this time to work on Swansong (more on that later) and enjoy time with my family. I hope you all are also having a good summer.

Swansong



As some of you may be aware, swansong is the parallel project I'm doing to try to develop a game after Project Heartbeat, this is an adventure game with a heavy focus on parkour inspired by Assassin's Creed, Metal Gear Solid and Death Stranding. Development is going better than I expected, I have recently been working mostly on polishing stuff and on foot IK, the first phase of the development of the game focuses on having a working parkour system that I can share around for people to test, perhaps here on patreon. The character model used in the screenshots above are from the previous iteration of the project (which was 2.5d) so the quality is not good, this model won't be used in the final game, it's purely for testing. I am lucky to have a few artist friends who are very smart and are up to working together. I have however decided to only call them in when the gameplay is mostly working to avoid wasting their time.

Project Heartbeat's 3 big projects



(Actual image of PH on the new engine) Porting of Project Heartbeat to Godot 4 is going well, 90% of things already work, the two big ones are the multi spinbox in the editor and youtube downloads. For the initial release of the beta of Project Heartbeat on Godot 4 Multiplayer and leaderboards will be disabled, but they'll be brough back before release. Some of the big upgrades to PH on godot 4 come from a set of new projects I started together with this patreon, the new video decoding code which is already public. The performance of video decoding appears better, although there are again some kinks to iron out. The other two big projects are the Input Glyph system and the new Steamworks wrapper, these aren't released yet, but will be soon. With the new Input Glyph system we have working Steam Input, so you will be able to use it when PH on Godot 4. The changes also mean controller support will be improved, you will be able to change controllers on the fly much more easily, without having to fiddle inside menus. (By the way, I'm still trying to come up with a marketing name for PH on Godot 4, something like PH: Evolution or something like that, any suggestions?)

Discord changes



Pascal now runs an events channel on the discord, you can check it out and subscribe to it using the special role to get updates. Do note, I do not run this channel, it's entirely driven by people from the community, it's very nice to see.

The future


I'm gonna be frank with you folks, things are looking grim at this time, not just my finances but also my life in general. As some of you may know, I've been suffering from major depressive disorder and ADHD since I was very young, this is making my life somewhat of a living hell. Having an overwhelming feeling of loneliness and feeling like I'm not worth anything. I have been coping as much as I can but I feel like I'm at a big crossroad. Due to these issues I've always tried to be as independent when it comes to working as possible, as my very few experiences with a job have ended in what could be considered disasters (I was sacked for calling me boss a cunt). Unfortunately, when it's time to put money on the table there might be an actual need for me to find a regular job. My mother works at a medical manufacturing plant and my father is heavily disabled, so he doesn't have a regular job. I have decided that if Swansong development hasn't picked up by the end of the year or PH hasn't rocketed off I will begin looking for a job, this will obviously mean less time to work on PH but I'll do my best. Thank you for reading, let's keep on keeping on.


[ 2023-08-17 20:48:46 CET ] [ Original post ]


Minor update 0.17.3

0.17.3


  • Fix issues with the leaderboards for monochrome stars
  • Use romanized song title in editor chart open popup
  • Make game fallback to the default SFX if the custom one can't be found
  • Fix intro skip not showing again when a song is restarted
  • Add love


[ 2023-05-11 05:07:56 CET ] [ Original post ]


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


New song: Monochrome Stars


[previewyoutube=2G1zFisSyUY;full][/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!

New song: Dime Linda


[previewyoutube=7Bg3Osvux7I;full][/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.

A short introduction to the new editor


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:

Major changes:


  • 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!

Special thanks


  • 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


[ 2023-04-22 23:04:24 CET ] [ Original post ]


Project Heartbeat: Gameplay rewrite now in testing

!! WARNING !!


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.


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)
  • [strike]Double heart notes don't use the double heart note sound [/strike]
  • [strike]Single slides break when holding their direction before they enter in range [/strike]
  • [strike]Slide, normal and heart notes don't ignore eachother's inputs[/strike]


[ 2022-12-17 18:48:00 CET ] [ Original post ]


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


New Song: Confession


[previewyoutube=S6HU0i2PxDk;full][/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


Shinobu Z


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.

Project DIVA MegaMix+ loader



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.

Audio normalization system rework


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

Streamer mode



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.

Audio downloader rework


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.

Game over chibi Aiko



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.

Option to clean unused and deleting song media


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.


[ 2022-09-16 04:14:02 CET ] [ Original post ]


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=_K2UNDZt5J0;full][/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.


[ 2022-06-09 14:24:50 CET ] [ Original post ]


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


New song: Reprisal


[previewyoutube=7g7qcID_GX8;full][/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


Skin editor



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.

Other changes


Visualizer rework & new main menu visualizer



For the different visualizers throughout the game PH does spectrum analysis on the song currently being played, what PH did was a linear average sampling of frequencies from 0 to 20 khz, however the human ear doesn't work in a linear fashion, so this was stupid, in fact commercial spectrum analyzers don't work this way. Additionally, the new spectrum analysis code can decay over time to make a smoother output, all of this should give the in-game visualizer a nice, more detailed output, which corresponds better to what you are hearing.
Finally, this has been used to create a new visualizer for the main menu (hidden in the song list) that you can see above, fancy.

New UI elements



Some parts of the game UI use a new type of element to display multiple selections.

Controls editor rework



Controls editor now shows the related note and button icons, as well a small text that should be enough to figure out how to do macros.

Sorting system



The sort dialog is now different, featuring a new checkbox that lets you only select songs that have media downloaded. It's barebones at the moment, but more features will be added eventually!

[Wrong note cross



One of the things I noticed when showing off PH at the in-person event was that people didn't realise wrong notes were wrong, so I've decided to add a small X next to the wrong ratings to make it more obvious, hopefully this will be enough.

Bugfixes


  • Fix editor error when resizing the timeline
  • Fix invalid user settings files breaking the game when loading
  • Fix intro skip bugs
  • Fix discord rich presence
  • Fix DSC songs being broken since shinobu
  • Fix diagnostics debug screenshot being semi-transparent
  • Fix option description in song settings sometimes overflowing
  • Fix practice mode issue where the latency change option would be pressable even in seek mode.
  • Fix audio issues on steam deck caused by steam deck's old version of pipewire, the game now defaults to ALSA on the deck, if you want to force pulse on the deck you can add the "--shinobu-backend pulseaudio" command line argument.
  • Fix crash when exiting and re entering the latency tester
  • Fix shinobu seeking bugs that broke negative start times
  • Fix latency tester crashes on windows (for real this time)
  • Fix minor memory leak when restarting songs
  • Add safety margin to song end check
  • Fix workshop item state shenanigans in workshop browser
  • Fix custom sfx not reloading automatically
  • Fix editor crash when changing song after testplaying.
  • Fix more edge cases that would cause songs to never end
  • Fix pregame opening per song settings failing when backing out and returning to the pregame screen.


[ 2022-05-25 12:22:53 CET ] [ Original post ]


Introducing: The Project Heartbeat UI Skin Editor!


Work on Project Heartbeat 0.15 has already started in the beta branch, this update which is codenamed Goth Girl School Idol Club. Among the new features is the all-new UI Skin Editor, with complete workshop integration like you are used to! With this new custom tool, you can create your own skins. Currently there is no documentation on how to use this tool, However reading the size and anchors article from the godot documentation might give you some basic clues on how to get started! The skin editor features a resource management system to import your own fonts and textures, you can edit all the UI components such as the clear bar or the song title by using the inspector on the right hand side. Additionally the system supports animated textures everywhere, which means that anywhere you can place a texture, you can make it animate. Currently this feature is a bit WIP so you can't change hte FPS yet, that will come soon. The tool is heavily inspired by the Osu! Lazer skin editor, it might be a less pretty but it more than makes up in the customizability department. You can copy the default skin (and in the future, any skin you are subscribed to) to use as a base for your own UI shenanigans. Yahoo has already uploaded the first skin to the workshop, please check it out! I hope you enjoy this new feature.


[ 2022-04-29 22:32:19 CET ] [ Original post ]


0.14.1 update notes

0.14.1


  • Fix practice mode issue where the latency change option would be pressable even in seek mode.
  • Fix audio issues on steam deck caused by steam deck's old version of pipewire, the game now defaults to ALSA on the deck, if you want to force pulse on the deck you can add the "--shinobu-backend pulseaudio" command line argument.
  • Fix crash when exiting and re entering the latency tester


[ 2022-04-04 07:56:57 CET ] [ Original post ]


Project Heartbeat 0.14 Anniversary Update 2: New song, new audio engine & more!

Welcome to yet another update to the rhythm game that refuses to die, this is the single biggest update in terms of technical stuff we've done since the game was released over two years ago in March 26th 2020. A lot has changed and a lot will change and I'm super proud of this one. Shout-outs as always to lino for taking care of ensuring the editor doesn't blow itself into pieces and adding a bunch of nice new features. Some of the things here might sound familiar, this is because some (like the song) were released in minor updates for 0.13, but they are still listed here as they were part of the development process for 0.14.

New song: Love sacrifice


[previewyoutube=ME5KysG3VQo;full][/previewyoutube] This is Love Sacrifice, the new song featuring in Project Heartbeat and the first new song of the year. As it's tradition it's a Touhou cover from the Takanashi Koubou creator's circle. The song is composed by SaiNa, sang by Queue, composed by BeatCharger and charted exclusively for Project Heartbeat by resident meme master Yahoo. The artwork was made specifically for Project Heartbeat by the great Guinii featuring Touhou Project girls Renko Usami and Maribel Hearn of the Girls' Secret Sealing Club lying in a field together in slightly lesbian fashion. 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.

Big changes


The Shinobu audio engine



One of the biggest issues Project Heartbeat has faced is the Godot audio stack, while sufficient and good enough for most games it really isn't suited for use in rhythm games. For this reason I spent worked on a new audio engine specifically for Project Heartbeat, it's called the Shinobu engine. It's the biggest engine customization I've done yet and it really does fix many of the issues you guys had with the game. This new audio engine is based uses the excellent miniaudio sound library. If you need a good library for all your audio needs miniaudio is the king, it's beautiful. Here's what shinobu does:
  • Better performance
  • No more desyncs
  • Less battery use and better thermals whooo steam deck!
  • Latency should be lower
  • You can now configure the buffer size in options -> audio
  • More smooth note movement
  • Ability to adjust your buffer size

Shinobu is a game changer, I believe it has turned PH from a weird janky rhythm game your weird friends played to a more serious piece of kit that should be up there with the big names. Audio just like video, has frames, these frames are composed of instantaneous samples for all possible channels, unlike video however the frequency is much higher, while a typical video might have 30 frames per second a typical audio file might do 44100 frames per second, which is quite a lot.. (In case you are wondering the reason why it's ~40 kHz is because of Shannon-Nyquist telling us that "If a system uniformly samples an analog signal at a rate that exceeds the signals highest frequency by at least a factor of two, the original analog signal can be perfectly recovered from the discrete values produced by sampling." and as human hearing caps at around 20k kHz it is enough for us). This means that there has to be an intermediary buffer that gets filled with a bunch of frames, this is the main source of audio latency, as telling the engine to play say a note SFX as soon as possible might take a bit until the OS asks for samples again, reducing this buffer is important to reduce latency, however this must be done with care as CPU usage goes up the lower the buffer size is (for example, at 10 ms the mixing happens 100 times a second). Timing is then done by using the amount of samples consumed by the audio system every time it asks for it. Another issue is your operating system, sometimes your audio driver might not allow smaller buffer sizes, Shinobu will try the lowest possible buffer size the operating system gives it (but always bigger than the buffer size you set in audio->buffer size). As the audio buffer might sometimes be higher than the frame time i.e it might be >16 ms worth of samples timing from that might be jittery, this is why it now uses an internal high precision clock to interpolate the time between updates. This is an alternative to just lowering Shinobu's internal buffer size which increases CPU usage and doesn't give us any benefit in terms of playback latency.

DJA finally the default


Direct joystick access has finally become the default method for analog input in the game, there are still some quirks with heart sustains multis, but it should now be ok for the great majority of people.

New workshop browser UI



I've changed the workshop browser from the grid design you are used to to a less cluttered design which I feel doesn't feel as claustrophobic as the old one, it also has some extra space we can use for other things, talking about other things...

Romanized title support in the workshop browser


The workshop browser will now show the romanized title of the song if it is available, funnily enough PH was already uploading the romanized titles, but I forgor to implement actually being able to view them, whoops. Do note that searching the workshop by romanized titles is not available, this is a limitation imposed on me by Steam and there's nothing I can do about it.

Random song button



The random song button has been added, a highly requested feature, I also made it pretty looking (and also pretty gay, which is nice). Yes it even works in folders!

Song list sorting changes



The workshop section of the song list has new sorting options available, they are exclusive to this section, for this reason the sorting mode on the workshop is now separate from the other sections.

Chart sections



You can now specify chart sections inside the editor, these are shared between charts of the same song just like lyrics are. Sections can have a name and a color given to them, currently they are only visible in the editor and practice mode, but soon they will be used to give you more detailed information on your scores.

Practice mode rework




Lino has reworked practice mode, you can now switch between modes to adjust latency options, playback speed and other information. Additionally, a lot of new information is visible in the practice mode information section to the right.

Editor changes


Search



When selecting a chart, you can now search for it by name instead of having to dig through the list

DIVA F2nd edit importer



Lino has made an importer for f2nd edits, these have to be decrypted for them to be read by the game, but I will be looking into how to load encrypted files in the future. This will allow people to preserve their edits in case Sony wants to pull a fast one on the community again.

Song settings editor



There's now an editor settings section for song-specific settings, you can also use this to test your song variants.

Sync toolbox



Lino added a toolbox with a bunch of tools to aid in syncing songs, fancy.

Minor changes


  • Make combo reset in practice mode whenever stats get reset
  • Add 1440p to desired video resolution options
  • Enable wrap around in options menu and main menu
  • Add CPU-based fallback for slide particles in GLES2
  • Use fancy two pass gaussian blur for the pause menu instead of the current textureLod based solution which doesn't work in GLES2 PokeKMS
  • Save the last selected folder in file dialogs
  • Search for the original title and the romaji of songs when searching in the song list
  • Editor: Add a "Reset position to default" button
  • Editor: Add more shortcuts and separate a lot of them
  • Editor: Add a hold graphic to the editor
  • Editor: Queue notes placed during playback for better consistency
  • Added a button to change the multiplayer host

Bug fixes


  • Fix random quotes not being random (???)
  • Fix workshop upload form replacing metadata when downloading a song while it's open
  • Update YTDL
  • Fix various menu focus issues
  • Fix godot focus stupidity
  • Fix joypad prompts breaking changing from keyboard to controller
  • Fix gamepad keyboard prompts breaking when forcing a prompt type and returning to auto detect
  • Fix background music player not using preview_end at all skull face no space
  • Release drag even if _gui_input doesnt catch the event and allow cross-chart copies
  • Remove video requirement from variant sync & add warnings when using non audio only variants with video
  • Fix song list focus loss issue
  • Fix minor focus bug when selecting custom SFX
  • Disable forced VSYNC in the editor
  • Release focus on all editor inputs upon pressing accept or cancel
  • Fix focus issues on pregame screen
  • Fix editor scale not updating when using control+scroll wheel
  • Fix visualizer in GLES2
  • Fix GLES2 title bar in-game
  • Disable menu FPS limits when using the latency tester
  • Fix song list engine regression
  • Disable forced VSYNC in the editor
  • Fix lyrics not appearing after restart
  • Reset input manager on restart (Fixes issue with input carryover)
  • Fixed most multiplayer issues and weird race conditions

Other stuff


Project Heartbeat on Steam Deck



It's been reported that PH on deck works fine by various parties, such as Liam from GamingOnLinux and some people on Reddit. If you are the owner of one please give it a go. I will receive mine this week, so if there's any rough edges I'll take a look at them when I receive mine.

Project Heartbeat @ Sarri Manga & official merch



I together with Guinii will be attending a local event known as Sarri Manga, we will have a demo booth of the game using the event edition. We will be selling posters of the game! These will optionally come with a Steam key for the game, so if you happen to be a local and are interested in it please come visit us! We will be at stand number 3, near the entrance. Besides the PH posters we will be selling postcard-sized prints of Guinii's Remilia Scarlet artwork. I originally wanted to also sell the nsfw version of this but this idea was promptly shut down. We live in a society. There are no plans to sell these online (yet) but I might one day, let me know if you are interested.

Future


It's not over yet. I will probably resume work on the mgs3-inspired game next week (after the event) but I have a few ideas of the things I want to see in PH in the future. These include replays and an optional life bar, more info soon.


[ 2022-04-03 14:27:23 CET ] [ Original post ]


Introducing the Shinobu audio engine: A game changer for Project Heartbeat!

One of the biggest issues Project Heartbeat has faced is the Godot audio stack, while sufficient and good enough for most games it really isn't suited for use in rhythm games. For this reason I spent this week working on a new audio engine specifically for Project Heartbeat, it's called the Shinobu engine. Keep reading to learn how you can test it and why it's very important for the future of PH! This new audio engine is based uses the excellent miniaudio sound library. If you need a good library for all your audio needs miniaudio is the king, it's beautiful.

TL;DR: What it means for you


  • Lower latency
  • Better performance
  • No more desyncs!
  • More smooth note movement
  • Ability to adjust your buffer size

The technical side



One of the most important features Shinobu brings to the table is the ability to select your own internal buffer size. Audio just like video, has frames, these frames are composed of instaneous samples for all possible channels, unlike video however the frequency is much higher, while a typical video might have 30 frames per second a typical audio file might do 44100 frames per second, which is quite a lot.. (In case you are wondering the reason why it's ~40 kHz is because of Shannon-Nyquist telling us that "If a system uniformly samples an analog signal at a rate that exceeds the signals highest frequency by at least a factor of two, the original analog signal can be perfectly recovered from the discrete values produced by sampling." and as human hearing caps at around 20k kHz it is enough for us). This means that there has to be an intermediary buffer that gets filled with a bunch of frames, this is the main source of audio latency, as telling the engine to play say a note SFX as soon as possible might take a bit until the OS asks for samples again, reducing this buffer is important to reduce latency, however this must be done with care as CPU usage goes up the lower the buffer size is (for example, at 10 ms the mixing happens 100 times a second). Timing is then done by using thea mount of samples consumed by the audio system every time it asks for it. Another issue is your operating system, sometimes your audio driver might not allow smaller buffer sizes, Shinobu will try the lowest possible buffer size the operating system gives it (but always bigger than the buffer size you set in audio->buffer size). As the audio buffer might sometimes be higher than the frame time i.e it might be >16 ms worth of samples timing from that might be jittery, this is why it now uses an internal high precision clock to interpolate the time between updates. This is an alternative to just lowering Shinobu's internal buffer size which increases CPU usage. This buffer size setting might actually be unnecessary, I am not sure: we will have to test over the following months, but if it works we might just target the lowest latency the OS gives us and match the internal buffer to that and interpolate away the rest.

How to test shinobu



Go to your Steam library, right click the game's cover art/name and select properties, click on betas and enter the super duper secret password MARINSTHIGHS, then click the blue button to opt into the bet branch! If you want to return to the normal game just set it back to "None".

What's left to do


The only major thing that isn't implemented in Shinobu is the spectrum analyzer the visualizer used, I will try to implement it using Godot's spectrum analyzer as a reference.

Source code


As it's tradition, shinobu's source code is available in our modified version of godot as a module: https://github.com/eirteam/godot/tree/0.14/modules/shinobu


[ 2022-03-25 04:11:53 CET ] [ Original post ]


Status of Project Heartbeat on the Steam Deck


Hullo, As you might have heard, the Steam Deck launched last week. We believe Project Heartbeat is an excellent game to play on the deck. Unofortunately we haven't been among the lucky few who received a devkit from Valve before release, so the game is not Steam Deck verified. We will verify the game as soon as we get the ability to do so. In the meantime, it's likely PH already works on your Steam Deck if you have one, Liam from GamingOnLinux tested the game and said it worked fine, so while we don't have an official blessing for Steam Deck verification we reckon the game should work fine already. Obviously Liam didn't conduct an exhaustive test, but we don't think there's any reason why PH shouldn't work on the Deck. A few versions ago we did a lot of work to support all different aspect ratios (this includes 16:10 as in the Deck), as well as improvements surrounding controller usage, mouse hiding and other funky important things. This very post is visible on a Steam Deck by pressing the compatibility details button on PH's library page and pressing Y.

We have reserved a Steam Deck as normal costumers for testing, we are scheduled to get it before the end of March, hopefully sooner than later. Happy button mashing. -EIREXE


[ 2022-03-07 10:38:06 CET ] [ Original post ]


0.13.8 update notes

0.13.8


  • GLES2 is now the main renderer on Windows, due to better performance, GLES3 is still available as a launch option though
  • Many fixes to the GLES2 renderer's graphic displays, including the visualizer, slide particles and etc


[ 2022-02-03 17:46:54 CET ] [ Original post ]


New song: Love Sacrifice

As 0.14 is still far away, I have decided to push this new song early into the public branch for everyone. Enjoy! [previewyoutube=ME5KysG3VQo;full]https://youtu.be/ME5KysG3VQo[/previewyoutube] This is Love Sacrifice, the new song featuring in Project Heartbeat and the first new song of the year. As it's tradition it's a Touhou cover from the Takanashi Koubou creator's circle. The song is composed by SaiNa, sang by Queue, composed by BeatCharger and charted exclusively for Project Heartbeat by resident meme master Yahoo. The artwork was made specifically for Project Heartbeat by the great Guinii featuring Touhou Project girls Renko Usami and Maribel Hearn of the lying in a field together in slightly gay fashion. 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. More news soon! Thank you for your continued support.


[ 2022-01-26 17:40:36 CET ] [ Original post ]


0.13.1 patch notes

0.13.1


  • Fixed downloads failing under certain circumstances
  • Fix multiplayer


[ 2021-12-15 10:22:54 CET ] [ Original post ]


Project Heartbeat 0.13: Many new features, revamped PPD support w/ nnd support..

Song variants



You can now add variants to songs so they have alternative video/audio depending on what variant you selected! This is useful for different mixes of the same song.

New note type: Heart sustains



Yes, we've finally gone mad, heart sustain notes are now exposed in the editor, previously you needed a hack for them, but you are now allowed to use them for any song, go wild.

Video download queue



After 1000 years in development, the video queue is now ready to use! You can cancel queued downloads and all that fancy stuff.

Download all button



There's now a button to download all songs, this wasn't done before because we didn't have a way to cancel downloads, but now we do!

Negative start times


Songs can now start at negative times, this required some engine hacking but it does work fine!!

Display option changes



The game now has a new option for what monitor to use, you can now use the current monitor!

Latency changes



Some code regarding latency has changed, this should result in lower latency, we also no longer use the driver provided latency info, so we suggest using the latency tester to figure out your latency.

PPD support changes


Negative start times


Just like with PH songs, PPD songs now support negative start times.

PPD Downloader improvements


The PPD downloader can now download songs from any website supported by yt-dlp that provides h264 video! This includes NicoNico and google drive! The PPD downloader will also download thumbnails from the video and use it as cover art Additionally, it will also pre-normalize the audio volumes of the songs while downloading!

Unzipping improvements


PPD songs now unzip much much faster and more reliably, for this change the folder download path has been changed to songs/ppd_{PPD Website ID} instead of using the title as before, this helps with dealing with japanese characters on some operating systems.

Remove install and song option



You can now remove your currently imported PPD install, and individual songs too from the PPD manager!

Star counting


The PPD importer now tried to parse the star count of PPD songs in many ways to try what sticks, it may still not work for all cases but it works for way more cases than before.

Video download changes


The video downloader now uses aria2 for faster download speeds, we also now use yt-dlp instead of youtube-dl! Additionally I used some black magic to slim down the ffmpeg binaries, so the game now takes a fair bit less space on disk!

Background music disable option changes


Enabling disabling the background music in the main menu doesn't require a restart anymore.

Double heart custom sounds



Double heart notes now have a custom sound option available, so you can use a separate one from the default sound.

Editor changes


Me and Lino have been hard at work supercharging the editor

Timeline drawing optimizations


Due to an oversight, timeline drawing got slower the more you scrolled through a very long song, this has now been properly fixed!

Playback speed



You can now change the playback speed in the editor on the new bottom left slider, fancy.

Add an universal interpolator



Lino made this fancy tool to interpolate any property

Metronome generator



Editor now has a metronome generation tool

Fix timeline culling



Timeline culling has been massively revamped, so you shouldn't get ghost notes when zooming in and out anymore!

Editor autosaves on playback


The editor will now autosave when playing the song

Hold display



The editor will now show the range of hold notes, so you can plan them ahead.

Editor scrolling change



I made the editor scroll differently, the playhead will keep going until it hits the center, then the whole timeline will move with it.

Video stutter fix


Playing a song with a video does not produce a stutter anymore.

Async shader compilation


The game will now compile shaders in another OpenGL context, which should help prevent stutters when hitting notes for the first time in the session.

Game slimdown


Using some black magic (AKA UPX), the included ffmpeg binaries have been slimmed down to oblivion, this made the game go from ~670 mb to ~460, PH is putting in some gains!

Arrange menu wheel



Lino made this nifty tool to arrange notes in a straight line. It can be accessed with the tab key.

Automatically place notes in a straight line



With autoplace enabled the editor will automatically put notes in a straight line at the bottom of the screen while creating them.

Editor angle snapping



You can now snap the angle of a note by pressing control while placing a note.

Bug fixes/Minor changes


  • Editor: Compensate for first sustain correctly and optimize arrange code
  • Fix slide double rating
  • fix DJA
  • Disable mipmapping on vulkan
  • Fix issue showing the first phrase in lyrics
  • Fix loading screen stalls (not sure how though)
  • Fix reset inconsistencies
  • Fix visual bug that caused max hold score points to not be displayed properly
  • Add audio file existing on disk verification when uploading to the workshop
  • Fix button styling with anti alias
  • Fix multis in editor being broken due to engine bug
  • Update J. Stebbins credits
  • Fix difficulty edit bug
  • Select yes as default when opening the download song media popup
  • Editor: Sanitize angle upon angle arrange and note shift
  • Fix not being able to delete modifiers when using the keyboard
  • Update song list when _added_time is updated on startup (fixes subscribed song sort order being absolutely fucked)
  • Editor: Always assume 1/16th snap for arranging
  • Editor: Add a ScrollContainer for the arrange tab
  • Fix error on close related to vibration killing
  • Fix running game without steam
  • Editor: Autoplace notes which havent been moved around upon note time change
  • Editor: Autoplace multis automatically
  • Editor: Autoplace imported MIDI files
  • Editor: Make BPM be minimum 1
  • Stop vibration properly when a slide note drawer disappears
  • Editor: Automatically arrange angles when autoarranging
  • Make loadingu text fully white
  • Editor: Add a safety net for pos_modified on old charts
  • Fix incomplete PPD files killing the load thread
  • Editor: Make the toolbox and inspector resizeable
  • Editor: Take autoplaced notes as HBBaseNote instead of HBNoteData
  • Editor: Allow note creation from within scripts
  • Make slide multis ignore normal note presses

Future



Guinii, snail (new charter!!!) and Yahoo are working hard on the new charts and artwork, hopefully next update will come with one or two new songs! I'd also like to announce I'm still seeking for more songs to license, either as free updates or post-early-access DLC (this is because the margins aren't big enough for me to pony up the costs of licensing yet, so I either need to make very good deals or I can't do it at all). I contacted KIRA but got no response :( would have been great!. Either way, 4 songs by takanashi koubou are in the queue to be charted together with the remaining Sugano song. More exciting stuff is coming PH's way, I moved into my own office and continue to work on it as my main work. I am obviously still in a pseudo-philosophical search for what to do, because I really want to do things other than PH, but it's been a year-long challenge so far. My current pet project is a metal gear solid clone with cute witches, so let's cross fingers and hope it will become a real thing lol. Thank you guys for your support. I continue pushing like a lion for you! Happy holidays! P.S: Might want to check the giveaway we are having on twitter right now!!


[ 2021-12-14 15:17:24 CET ] [ Original post ]


Update 0.12.2 now available

0.12.2


  • Fix offline workshop support (hi steamdeck users)
  • Feature: Go back to previously selected folder when pressing "Go back"

0.12.1


  • Fixed in-game scaling of resolutions taller than 16:9 (fixes steam deck)


[ 2021-09-27 17:36:01 CET ] [ Original post ]


Project Heartbeat 0.12 Update Notes

Here we are again. 0.12 is ready, this update is pretty big, it also comes with some big news, off we go:

New song: Going my way (DJ Timotei EDIT)


[previewyoutube=kTx61fyqDEI;full][/previewyoutube] A new song licensed from the Eurobeat circle Takanashi Kobo, this song has been charted by Yahoo and illustrated by Reixart.

Website and user rankings





Project Heartbeat now has an official website, this includes web based leaderboards and user rankings a la osu, the ranking system's points have been tentatively named pp (for funny reasons). Do note we want to revisit and probably redo this algorithm eventually, as it didn't perform quite as expected so a bespoke solution is gonna be needed. You can find the website at ph.eirteam.moe

Steam Deck support



While we weren't among the lucky few to get a devkit, but we managed to get the game ready for Steam Deck anyways through some black magic (and some new Steam SDK releases). It will now use the new text input features of SteamOS 3.0 where available. Another features include better scaling of the menus in general, particularly for the main menu.

Big picture mode gamepad text input support



When running the game inside Steam Big Picture you can now use the keyboard whenever you have to type something.

Controller overhaul


As part of the aforementioned deck support we have updated how the controller support works. The selected controller is now the first one we detect an input from, when a controller is being used the mouse gets hidden.

Song search



What took you so long? - Kazuhira Miller, probably

h264 mainlined



After some investigation I discovered that neither my country nor my closest neighbor (France, unfortunately) recognize software patents, thus I've taken the decision to mainline h264 support for PPD migration. Ordinary songs will continue to use vp9 for the time being, in case we have to remove it, but I don't think we will. Previously you had to install a plugin, hopefully this simpler solution will make transitioning easier.

Editor shortcut remapping



You can now remap most shortcuts in the editor

Load time improvements



Load times have been greatly improved across the board by removing some 4D chess code I accidentally added, song load is instant most of the time, and audio normalization is cached, so even if the first load isn't instant subsequent loads should be.

GLES2 improvements


Some minor fixes have been made to make GLES2 support better for those that need it.

Rewritten main menu music playback


The code used to playback songs in the main menu has been made more reliable and more performant, now audio normalization is used where available, else it uses a compressor to try and keep volume under control.

Updated localization


Most localization files for catalan and spanish have been updated

Direct Joystick Access fixes


Last update we introduced direct joystick access, which allows controls to behave in a nicer way by combining the two axis of a joystick for detection, this didn't really work well so it was relegated to an optional feature, new changes and bugfixes should make it now better although some issues have been found that prevent it from becoming the default yet.

ShiftJIS support for PPD zips



When downloading PPD charts you may have noticed it sometimes failed to find the data.ini even though it was there. This was caused because the file names were encoded in an encoding system known as ShiftJIS (JIS stands for Japanese Industry Standard) this encoding is fairly exotic in the west but very common in japan, at least years ago (everyone seems to finally have agreed on UTF-8). The game will now try converting the raw file name data into ShiftJIS if it fails to decode it as UTF-8, which should be nice.

Editor changes



A bunch of editor changes, courtesy of lino. Add X/Y snap for grid notes You can now slide around notes in a straight line by pressing shift while dragging them Practice mode stats in playtest The practice mode stats have been added to playtest in the editor Autoslide option Added an autoslide option to make slide spacing be correct More per-song editor settings More editor settings will now be saved when you save your song:
  • Snap to the timeline
  • Show video
  • Show BG
  • Show grid
  • Snap to grid
  • Grid resolution
  • Autoarrange HV separation
  • Autoarrange diagonal separation
  • Use stage center for transformations
  • Angle circles from the inside
  • Circle size
  • Circle separation
  • Advanced circle mode

Use mipmaps on loaded images


Some mipmapping, filtering and other fancy stuff is now used when loading transparent things such as circle logos and any other gaphic, this is likely broken on some renderers for various complicated reasons, so please let me know if your images come up black so I can add exceptions.

Anti-cheat


After some digging I found some undocumented APIs that allowed me to retrieve metadata from the workshop uploaded by the game on the server-side, this has lead to the development of an anti-cheat solution that's not invasive. It isn't perfect, but not even invasive anti cheat is perfect so you can be sure I am not stealing your Maki Nishikino images.

Hold scoring changes


In order to make holds more consistent and less complicated, the score is now counted from (Note Time - Fine Timing Window).

Menu sorting changes


Difficulties within a song will now be ordered by stars, makes more sense.

Credits menu



A new credits menu has been added to options, this will show people who contributed to the game as well as some legalese. There is also a pretty neat surprise if you scroll all the way down on the "Game" section.

Bug fixes & minor changes


* e96a9d4a - Fix editor error when freeing (hace 8 semanas) * c339fe7f - Include audio loudness in HBSong when saving (and make use of it) (hace 8 semanas) * cd89e6b6 - Hopefully fix last subscribed sorting being broken when a song is updated (hace 8 semanas) * d9ceb1a8 - Add audio nromalization data to all built in songs (hace 8 semanas) * a8c5192e - Fix highest score not saving (hace 7 semanas) * 916666ae - Remove yield that caused stall when returning to menu (hace 7 semanas) * 6b05b942 - Fix slide chain multis in editor (hace 6 semanas) * 3802e579 - Hide multi laser for weird multis when hit (sustains and slide chains) (hace 6 semanas) * ce43c9f1 - Fix slide note scoring inconsistencies (hace 6 semanas) * 0c4040ce - Fix NX-switch controller mode being used outside of the Switch (hace 5 semanas) * 9d8cd77b - Saner defaults for lyrics (hace 5 semanas) * 469c527d - Remove unused virgin eirexe achievement (hace 4 semanas) * dfd9c68c - Fix expressionrunner performance bullshit (hace 4 semanas) * 7c0c1ef8 - Ensure unique resource_paths in ResourcePackLoader (hace 4 semanas) * 8034c611 - Move OptionControlsSection to use UniversalScrollList (hace 4 semanas) * 9f5084fb - Remove remaining uses of legacy HBScrollList (hace 4 semanas) * 715cd6f7 - Add some experimental jitter improvements (hace 4 semanas) * 769a38e4 - Fix expressionrunner error logging (hace 4 semanas) * 8aa05957 - Make expressionrunner cast to HBTimingPoint instead of HBNoteData (hace 4 semanas) * 6c1f0f3c - Fix clear bar color in GLES2 (hace 4 semanas) * 28798742 - Add extremely hitler nazi song verification (verify disallowed file types and subfolders not existing) (hace 3 semanas) * cdc9a18c - Enable encoding text resources to binary to save space (hace 3 semanas) * 23f8c77d - Cancel workshop preview image requests when it is safe to do so (hace 2 semanas) * e186cca1 - More steam error handling (hace 13 das) * a6b36811 - Fix GUI misalignment (hace 9 das) * c029eec2 - Fix seeking issues when not using system clock (hace 9 das) * 6e391e17 - Remove is_on_steam_deck() requirement for GamepadTextInput as per valve's recommendation. (hace 9 das) * c5c466dc - Fix ending of songs without end_time in BackgroundMusicPlayer (hace 9 das) * 136659d0 - Fix ACHIEVEMENT_PERFECT_BUILTIN (hace 3 das) * dec02754 - Update all official songs with hashes and new meta (hace 3 das) * 98f5a2df - Universal scroll list consistency fixes (hace 2 das) * 744408c4 - Fix scrolling from top to bottom (hace 2 das) * 04c35c48 - TTN 2019 chart changes (hace 2 das) * f37fa92e - Some label overflow changes (hace 6 horas) * 02b8da27 - Sanitize composers, writers, vocals arrays on set (hace 6 horas) * 6dccf1f3 - Release holds when the song ends before the hold is finished (hace 5 horas) * 652d15d6 - Fix vibration settings not saving (hace 23 minutos)

Future


3DPV system progress



In collaboration with the V-Sekai people I ported a tool called VMDMotion to Godot, although it's currently very slightly broken in the future it will finally allow VMD (mmd motion files) to be loaded into VRM avatars, which was always the dream. Why not use MMD PMX files you may ask? Because MMD PMX files are not made for games, they are made for offline rendering most of the time, thus they may be too high poly to be used in a game while keeping good performance. VRM models on the other hand are usually made for use in VR, thus they are high performance, this coupled with the extremely nice support from the godot_vrm plugin. You can find info on my port of VMDMotion on our GitHub Onto a new update!


[ 2021-09-22 03:30:48 CET ] [ Original post ]


Project Heartbeat 0.11: New song, homebrew switch port, big editor changes etc..

0.11 is here, this update is pretty big, amongst the news are Lino joining Project Heartbeat development as a volunteer, the return of the switch version, and many many long-time requested improvements.

NEW CONTENT


New song: Through the night 2019


[previewyoutube=TYqqAu5Iwes;full][/previewyoutube] Through the night 2019 is yet another song from SuganoMusic, the song is sang by Renko (same person who sang core creation) produced by Sugano, charted by Yahoo. The art was comissioned from and masterfully created by guinii4, a local Spanish artist, please check out her work!

Return of the switch version



The switch version for hacked machines of Project Heartbeat has now returned, you can learn how to use it by reading this guide. Included are some upgrades to the switch code that plagued the original one with issues, it's still fairly slow because we aren't using any illegally obtained SDK, instead we are using the community developed libnx and mesa nouveau video driver, which is unfortunately slow, but it's playable at least.

NEW FEATURES


New history format


The history now stores the score ratings and percentage separatedly, so whenever you get a higher number in any of those it gets saved.

Direct joystick access



Direct joystick access allows the game to access your controller's joysticks directly, this allows the two axis directions (vertical and horizontal) to be combined, which prevents issues such as spinning the joystick triggering heart notes, because some people (ab)used this for heart spams it's an option. This feature only works with controllers that are in the internal controller database (They are now marked as known in Options -> Input).

Menu optimizations & changes



The menu now uses some new optimizations that makes it faster, the internal render targets are now scaled according to your resolution. The menu animations are now bouncier. You can now press R3 or G to show the currently playing song. The song list also now shows when a song needs its media to be downloaded

Results Screen



The results screen has been changed to look nicer (thanks lino)

SFX system rework


The game now separates between heart notes and slide notes, plus it also has a different sound when pressing a heart or a slider without there being one nearby.

Auto download workshop songs in multiplayer


The game will now download workshop songs automatically when you are playing in multiplayer

Borderless windowed


The game now supports 3 window modes, windowed, borderless windowed and fullscreen, additionally you can now select the display in which the game will be displayed.

Show console option


The console is now hidden by default, it can be restored in the options menu.

Editor changes


Waveform preview



Taken from Godot's source code, I've ported some code related to the waveform preview subsystem and used it in the editor timeline.

Circle transforms



Courtesy of Lino we now have new options to create circles

Minor changes


  • Add the ability to pan around the timeline using shift + scroll wheel
  • Show selected timing point count in the info bar
  • Disable main game input while testplaying
  • The editor now allows holding to the left and right to navigate the timeline quickly
  • The rotation transform spinbox is now editable
  • Correct the way the flip slides transforms selected notes
  • Autoarrange is now smarter
  • Notes are deselected when changing songs
  • Added shortcuts for many things, check the editor manual for info on them.
  • Testplay now shows the song's name

Other Minor changes


  • Heart and slide inputs now ignore each other
  • Limit discord rich presence poll rate to 5 polls per second
  • Rewritten memory management in preparation of switching to release mode
  • Add angle flipping transformation
  • Add select all to editor
  • Volume now goes up to 750%
  • Use string filename sanitizer for difficulty json

Bug fixes


  • Make script runner force an inspector sync
  • Fix song list stealing focus when clicking between items
  • Check for shift only if event is InputEventKey. in SongList
  • Make song jump work more more nicely
  • Revert back to normal note attributes when there are no multis (with automulti)
  • Give love to save as dialog
  • Fix editor zoom bug
  • Fix: Shrink UI width for the transformation tab. bug
  • Fix workshop uploading issues
  • Prevent the user from creating holds on slide chain pieces

Future


PH still has some development ahead, but I feel it's very close to getting out of early access, but I'd like to do that after the engine gets native vulkan support in godot 4.0. I also work on some new games in my free time, that I will be revealing soon, but rest assured, this isn't taking much time (if any) away from PH's development. I have to share my absolute massive hype for the Steam Deck, I think it's a great fit for PH and I plan to request a devkit as soon as they come out to ensure it works fine on the platform! Cheers, and on to 0.12!


[ 2021-07-16 21:00:40 CET ] [ Original post ]


Project Heartbeat 0.10: New Song, Resource Packs, new PPD code with MP4 support

Project Heartbeat 0.10 is here! This update was slightly interrupted by me having surgery so it isn't as big as usual it is also mostly a housekeeping and bug fixing update, but it does bring some new major features and new content!

NEW CONTENT


NEW SONG: Core Creation


[previewyoutube=fO8Kq-dZsvQ;full][/previewyoutube] Core Creation is a song by Renko and Sugano, this song is a cover of the popular "Bad Apple!!" song from the Touhou Project series, the chart was made by blizzin and the artwork was created by Mariale. I hope you will enjoy it!

NEW FEATURES


Resource Packs




Project Heartbeat now has a Resource Pack system, with a brand new editor to boot, you can replace graphics from the game with custom ones, change properties and even upload them to the workshop! The graphics that can be changed and tuned will be expanded upon in the future. The options menu now has a Resource Pack section, from here you can select what resource pack you want, you can also override the currently selected resource pack's notes with the notes from another pack in case you are used to them but want to enjoy the rest of the selected resource pack!

Extended PPD Loader



By popular request, I've added a way to import your whole PPD installation's song folder, the only difficulty is that you have to provide the .dll/.so files that are able to load h264 files like the ones PPD uses, the new importer maintains your PPD folder structure and can play MP4 files, AVI files and a long et cetera. If you are interested in this feature, please hit us up in the discord, we'll gladly help you.

DSC Loader improvements



Initially I was considering removing the DSC Loader altogether, but I was convinced not to do so, this is why I've expanded upon what types of files it can load, I've also given them their own category. The DSC loader can now load Project DIVA Dreamy Theater 2nd/DIVA F/DIVA F2nd DSCs, this was motivated by the closure of the PlayStation Network on the VITA and PlayStation 3 to be able to preserve those edits in PH, although the closure seems to have been aborted now the code was already done so \_()_/ The way DIVA OGGs are played has also been improved, the voice and instrumental will now sync better and the loading times will be improved. You can also load the full song list from a copy of DT2nd, fancy.

Changes to how some notes are handled


Previously, multi notes with two notes of the same type didn't work, this has been fixed, hitting other notes during sliders has also been fixed, this means that some very old charts and some PPD specials work again.

Editor changes


More usability changes have been made to the editor:

Community charting guide


Snail has kindly provided a new charting guide, which you can read here, this guide is also included in the editor, and complements the editor manual.

Keyboard Lyrics Workflow


A new way of working with lyrics has been added, you can now use the following hotkeys: Control+J: Create phrase start Control+K: Create lyric Control+L: Create phrase end

Editor action notification system


The editor will now display some actions as floating text when you enter them, for example pasting, saving, etc.

Video playback changes


The way videos are played back has been radically changed, they should now be much smoother to use, for example when rolling back from a pause the video frame we are seeking to is fetched in the background and not when the rollback is done, which prevents minor stuttering when rolling back, this also makes editor video playback much more accurate.

Results screen graph



There's a new tab in the results screen that lets you see a graph, this graph will help you see where you made a mistake and how close you were to your targets!

VRAM usage optimizations


I discovered some ways to reduce VRAM usage greatly, this is also in part thanks to the new resource pack system.

Main Menu viewport scaling


A new optimization has changed the way the main menu is drawn, this makes it vary some internal resolutions depending on the resolution the game is running at, which should increase performance when using resolutions other than 1080p.

Color channel swapping filters



The ability to swap some of the game's color channels has been added, this has the potential to aid some people with some forms of colorblindness, it's an imperfect solution but it was simple to add and it might be useful to someone.

Other changes


  • Fix scroll list hold to scroll on drifty PS4 controllers.
  • Optimize VRAM usage
  • Add the ability to change sound volume per sound effect
  • Add song count indicator to song list
  • Show difficulty in workshop browser using pre-uploaded metadata (doesn't work for some old charts).
  • Change how note hit effects are drawn to make them faster
  • Entering a property in the inspector will now release focus from the field you are editing.
  • Place the multi note laser behind all graphics
  • Change visualizer algorithm to a smoother one
  • Make menus use the SFX audio bus
Bug Fixes
  • Fix hitting two notes of the same type in a multi
  • Fix hitting notes during slide chains
  • Fix epilepsy warning placement
  • Fix editor note selection with clock arms disabled
  • Make YTDL force IPV4 because microsoft are completely braindead
  • Fix sustain Z order
  • Rework wav loading to prevent crackling noises
  • Make hardware clock option selectable
  • Multiple scroll list bugfixes
  • Fix leaderboard scrolling being disabled sometimes
  • Fix button overlapping in the workshop tabbing system
  • Fix input overlapping issues in song list
  • Fix newlistitem error
  • Prevent subsequent playback issues when finishing a video in the editor
  • Fix issues with controls rebinding


[ 2021-05-01 15:29:38 CET ] [ Original post ]


Hotfix notes for 12/03/2021 (0.9.3)

  • Update ytdl
  • Fix laggy I/O print statements when hitting slide chains


[ 2021-03-12 03:12:44 CET ] [ Original post ]


Hotfix notes for 03/03/2021 (0.9.2)

- Fix holding to scroll in the song list


[ 2021-03-07 15:16:17 CET ] [ Original post ]


Hotfix notes for 03/03/2021 (0.9.1)

Hello Project Heartbeat gamers, this is a small patch issued to fix a small issue with the game. - Fix gigantic VRAM memory leak Cheers.


[ 2021-03-03 10:54:18 CET ] [ Original post ]


Project Heartbeat Anniversary Update (0.9) now available!

Welcome to Project Heartbeat 0.9 this is our first update of 2021 and also the anniversary update, Project Heartbeat will be turning 1 year old next month, so this update celebrates its release! Let's get right into the new stuff.

NEW CONTENT


NEW SONG: Sands of Time


[previewyoutube=ppnRzFVYPo0;full][/previewyoutube] Sands of Time is now live, the artwork was masterfully made by artist Mariale, the chart was made by Blizzin. The song comes from the Initial D inspired games "Densha de D" based on the manga of the same name, it's produced by Sugano and sang by Travis Stebbins.

NEW FEATURES


In-game workshop browser



New functionality to browse the workshop from inside the game has been added, this allows you to subscribe from within the game and will automatically download media. You can make the media auto-download only download audio through a new option added to the options menu.

Mini-tutorial



To help new players I've added a mini-tutorial before the song starts that tells you how to hit the notes that it contains.

Editor minimap



The editor now features a minimap to aid with scrolling to sections of the song quickly.

New latency display



A new Osu! inspired latency display has been added, this shows you what the difference between your inputs and the perfect timing is and also shows an average, the different bands show different timing windows (so COOL in the center, FINE next to it and so on).

Editor slide chain flipping



A new transform has been added to the editor's transform tools that allows you to flip slide chains horizontally.

Audio only downloads



It is now possible to download only audio for songs that use videos, before you needed to download the video and then disable audio, this new option disables it and then downloads only the audio.

New song list



The way the song list works has been changed, the new code is more efficient and makes the song list look and animate nicely, it also makes it much more mouse friendly, this code is also used by the workshop browser, and will slowly be used in more places in the game where scrollable lists are involved. As another change, locally installed, workshop and editor charts are now separated in the song list. This song list also wraps around, fancy. The new song list also adds a new look for the song's cover art and an animation when slecting it.

Controller input changes



Previously the game would use the input from the latest controller to press a button, this was problematic because it would cause double inputs and performance issues when using emulated controllers. The new system only allows for one controller to be used, it will automatically use the first controller it finds the first time and store it, so that every time you run the game that controller will be used. If when running the game that controller is no longer present, it will default to the first controller it finds. The controller in use can be chosen in Options -> Input

Note hit effect changes


The note hit effect has been changed, it now feels a bit bouncy, I have also optimized how note hit effects are displayed and removed which should lead to better performance particularly for slide chains.

Epilepsy warning



You can now enable an epilepsy warning in the graphics tab of the song metadata editor, this is encouraged for charts that have videos with rapidly flashing colors.

Editor scripting



Editor scripting allows you to write scripts to change notes around, this is like a supercharged version of the expression editor.

Chart note usage display



Charts in the song list now show what types of notes are used in it, this is per-song and per-chart.

Intro skip marker



You can now mark the point to where the intro skip feature will jump to in the editor.

Nintendo notes



There are new notes for nintendo controllers, the new shapes created for them has been also adapted for use in the xbox icon pack, so they share the shape but not the colors.

Achievements



Achievements have finally arrived to Project Heartbeat, more will be added in the future.

Engine changes


The engine version has been upgraded to a newer version of the godot 3.2.4 branch, also a patch by RandomShaper has been added that should make some threaded operations safer and thus reduce crashing.

BUG FIXES & minor changes


  • Optimizer visualizer code
  • Added the ability to toggle the game's UI (control+H)
  • Fix layering in multiplayer
  • Fix results screen showing info partially before waiting for workshop vote info
  • Optimize slide particle deletion timing
  • Fix long standing bug that caused button prompts to not change when changing them in options.
  • Disable leftover test.png debug feature
  • Add a HACK to fix case issues for charts made on Windows for Linux users
  • Fix issues with folders section
  • Fix audio preview playback being out of order sometimes
  • Fix opening song settings in-game
  • Add new PPD deprecation disclaimer
  • Fix being able to make illegal notes in the editor
  • Update youtube-dl and force it to use the python3 alias
  • Fix editor plugin tools not behaving properly
  • Fix song preview graphics not showing when pausing
  • Fix many memory leaks
  • Remove usage of SFX pooling for ordinary SFX
  • Use song volume normalization in editor playtest
  • Fix returning from a song that's in a folder
  • Make youtube-dl create cache folder in user dir (fixes downloaded video list not being saved when using custom content directories)
  • Fix opening song settings in-game
  • Add new PPD deprecation disclaimer

FUTURE


I'd like 0.10 to have a focus on new UGC stuff, so I would like to have a new tool that facilitates making icon packs, maybe UI packs, I will also be working on linked hearts finally. I've gotten better at writing code so I'll try to get as many things done as possible as always ;)


[ 2021-02-28 22:14:29 CET ] [ Original post ]


Hotfix notes for 22/02/2021

- Fix deleting charts not saving instantly - Fix loading charts with unknown (usually unreleased) timing points failing


[ 2021-02-22 22:00:15 CET ] [ Original post ]


Hotfix notes for 17/02/2021

- Fixed multi hint sometimes not being visible despite it being enabled


[ 2021-02-17 19:26:28 CET ] [ Original post ]


Hotfix notes for 10/02/2021 (0.8.10)

- Fix issue that made the game require re-downloading of user song media every time the game starts when using a custom content directory.


[ 2021-02-11 05:14:39 CET ] [ Original post ]


Hotfix notes for 10/02/2021 (0.8.9)

- Fixed multiplayer UI layering


[ 2021-02-09 23:38:41 CET ] [ Original post ]


Hotfix notes for 28/01/2021 (0.8.8)

- Fixed error when opening folder list without having any folders - Disable multi threaded texture loading by default


[ 2021-01-30 09:56:05 CET ] [ Original post ]


Hotfix notes for 28/01/2021

  • Fix notes being cutoff
  • Intelligently disable multi threaded texture allocation on windows without ANGLE
  • Fix song settings editor not hiding when resuming with start button.
  • Add new PPD deprecation disclaimer
  • Update youtube-dl and force it to use the python3 alias
  • Fix being able to make illegal notes in the editor
  • Fix editor plugin tools not behaving properly


[ 2021-01-28 06:49:40 CET ] [ Original post ]


Get 30% off on Project Heartbeat!

For the Steam Winter sale Project Heartbeat now has a 30% discount, go get it while you can or tell your friends if you already have the game! https://store.steampowered.com/app/1216230/Project_Heartbeat/


[ 2020-12-27 15:28:35 CET ] [ Original post ]


Project Heartbeat 0.8: Lyrics, optimization/better latency, editor update & more

[previewyoutube=3WsAgByLERs;full][/previewyoutube] Project Heartbeat 0.8 is now available, this update is relatively decent size and comes with mostly under-the-hood improvements, but it also packs some long time requested features and changes. A new song was scheduled for this update however it didn't make it in time, hopefully we'll have it in the next update.

Important changes


Lyrics system



A new lyrics system has been integrated into the game, this allows showing lyrics on screen in two ways, simple full phrases or karaoke-style syllable progression. You can disable the lyrics or change their position and color in the options menu under the "visual" section. This feature is also enabled for PPD charts that come with lyrics.

Translation system and new translations



The game is now officially translated to Spanish and Catalan, the game will try to select the language based on your machine's settings however you can also force a particular language in the "Game" section of the options menu.

PPD Manager Tool



The PPD Manager Tool allows you to change your PPD song's artwork and youtube URLs easily from within it.

Timing window modifier



Introducing the timing window modifier, this modifier allows you to change the timing window of all notes, keep in mind using this disables leaderboard usage. I hope this will be a fun modifier to play around with.

Arrows changes



Arrow notes have been changed in looks, they now have target colors that match the note colors.

Performance improvements


Project Heartbeat is powered by Godot Engine, Godot added a new feature that allows PH to draw notes in a single burst instead of drawing each note and note sprite one by one, this translates into a very big performance improvement, in some cases doubling the FPS. There have also been a lot of under the hood changes to improve performance and make the experience smoother, you will particularly notice these in the main menu song list and in the editor.

Latency improvements


0.8 comes with some new PH-specific engine audio driver modifications which translates into a massive latency reduction, PH will try to go as low as your audio driver will allow. For windows users, this feature is only available if you are using Windows 10.

Editor changes


Timeline revamp



The way you navigate the timeline and the way it looks have received a big change, the new sleeker design should make it easier for you to distinguish each row. New keyboard shortcuts have been added to navigate the timeline, create basic notes and select notes. You can learn more about them in the editor's manual.

Multi presets



A new multi presets tab has been added to the editor, you can use this new feature to arrange multi notes in many different ways, there are also dynamic presets that you can use for some specific cases, I hope you enjoy experimenting with them.

Note transforms



This update also adds some new note transformation options, these allow you to do things such as rotate a group of notes around their center, interpolate note rotations and other fancy things, please try different combinations and see what you can come up with! Other minor changes
  • Change how SFX and Input are handled for the game.
  • Add ability to reset playtest in editor by using the contextual button (F or select by default).
  • Disable caching.
  • Move version text to bottom right and make it hide when hovered.
  • Invert song title and author
  • Add black outline to ratings
  • Add practice mode click to seek and fix practice mode progress and timing label when using start_time.
  • Add check for downloaded youtube dl videos when starting multiplayer games.
  • Add DIVA audio split support to main menu and multiplayer.
  • Added the ability to load into the editor by using the --song-editor command line argument.
  • Make notes be drawn on top of the timeline
  • Use audio normalization in the editor.
  • Show the sine wave on selected notes.
Bug fixes (A lot of these were pushed to 0.7 as hotfixes but they are included here anyways).
  • Fix note duplication bug.
  • Fix fine position breaking undo_redo.
  • Fix rare multiplayer race condition causing post-game to never happen or update.
  • Fix first song played in menu not using normalized volume.
  • Fix fullscreen not being set properly when the game starts causing it to cover half a screen.
  • Fix joining steam lobbies from an invite.
  • Fix editor crash when opening a second song.
  • Fix song load error related to youtube_url based songs and DSC splitting.
  • Fix pre-game screen deadlock.
  • Fix slide particles changing in size when hit too late.
  • Fix DSCLoader randomly failing
  • Fix song chart meta editor rounding up scores.


[ 2020-12-20 06:30:07 CET ] [ Original post ]


Nominate Project Heartbeat for the Steam Awards 2020!

The Steam Game Awards are here, we would be very thankful if you could nominate us for the Labor of Love award, as we feel that's the most fitting after the many months of post-early access release development! Thank you for your continued support!


[ 2020-11-25 21:15:40 CET ] [ Original post ]


Get 30% off in Project Heartbeat!

For the Steam Autumn sale Project Heartbeat now has a 30% discount, go get it while you can or tell your friends if you already have the game! https://store.steampowered.com/app/1216230/Project_Heartbeat/


[ 2020-11-25 21:07:28 CET ] [ Original post ]


Project Heartbeat 0.7.0 now available: The Big One 2 Electric Boogaloo

Project Heartbeat 0.7.0 is now available, this update is one of the biggest yet and is the culmination of an effort to bring some long-requested features to the game.

NEW CONTENT


NEW SONG: Blossoming Spell


[previewyoutube=4GO1kGCNV5o;full][/previewyoutube] Blossoming Spell is our first song from Impedance Eurobeat, our new partner, there are many more songs coming from this artist circle in the future. Blossoming Spell is an interesting catchy song. The chart was created by Twoncity.

CHANGES & NEW FEATURES


New leaderboards & leveling system



After many months of work the new leaderboards are finally available, this new system allows all workshop and PPD songs to be ranked. As an extra feature we have also added a level and experience system.

PPD Downloader



A new tool to automatically download PPD charts from their URL has been added, this is an experimental tool at this time (and performance isn't great) but I hope it's useful to someone.

Audio Volume Normalization


Audio normalization has been added through a new rust module, this makes all songs sound like they have the same volume.

Loading Screen



The game now features a new loading screen, this loading screen is used to have some time to do the audio normalization and other things.

Mouse UI


The ability to use the mouse to navigate most menus has been added, some menus still don't entirely work but for most usual tasks such as playing songs should be working perfectly.

Song Cache


Songs are now cached, this decreases startup times by storing song metadata in a cache file, the same goes for audio normalization.

youtube-dl error handling


youtube-dl now shows errors when they happen, we have also switched to a fork of youtube-dl that is still in development after the RIAA's unlawful takedown of the main youtube-dl repository earlier this month

New UI scaling and styling & note changes




The UI has been changed to be prettier, this includes design and scaling changes, the scaling should now be consistent so that users with higher and lower res screens will see the game with the same element sizes. The main menu has also been changed, with new elements and the removal of the music player (a pop-up now replaces it). The basic PlayStation notes have also been changed with a different design and sizes based on your feedback. The sliders now have a new hit effect with stylized stars.

DSC importing


Project Heartbeat is now able to load DSC files from FT and M39s from within the editor, with more game formats support to follow in the future. It was planned to have the possibility of simply pointing the game to a legally-obtained copy of those games to load it automatically (including mdata) but this wasn't ready, although it's still possible to use this feature through command line arguments if you want so ask around in the discord for more info on this.

Nintendo Switch homebrew port



An experimental port of the game for Nintendo Switch has been added, this is fairly broken and won't receive any official support but feel free to use it, check the text file in the game's folder for more info.

Other fixes & changes


  • Fix custom song WAV loading not properly using the file's mixrate and stereo data.
  • Change great and excellent thresholds to 90 and 95.
  • Use scrolling labels for song titles in a lot of places.
  • Add missing logo to song list preview.
  • Fix UGC download message error.
  • Fix slide chains in multi with other notes (I hate you a tiny bit).
  • You can now precisely place notes in the editor by pressing shift + arrow keys.
  • Also, there are now labels that show the current time in the timeline.
  • The note ratings are now drawn beneath the note if the note is too high.
  • PPD notes that are too close to each other (10 ms range) are now merged into multis, this is because in PPD multis don't really have to happen at the same time, yeah I don't get it either.
  • You can now hide the artist name so that only the logo is shown.
  • Editor selection limits have been removed
  • Fix an issue related to voted items breaking leaderboard and result entering.
  • Sliders now vibrate the controller.

Future


I'm much better mentally, I started taking anti depressants, I still plan to work on this game, sales are going decently well so I'm confident in working more on the game. I have obtained permission from a local japanese-themed EDM musician to use his music, more info will follow soon. I haven't touched the Xbox port yet, I'm trying to find ways to make it without having to write an all-new DX11 renderer, probably with ANGLE. I have cancelled work on the new game for the time being.


[ 2020-11-10 03:50:33 CET ] [ Original post ]


Save 20% on Project Heartbeat

Project Heartbeat is available with a 20% discount! Get it while you can!! https://store.steampowered.com/app/1216230/Project_Heartbeat/


[ 2020-10-29 18:41:55 CET ] [ Original post ]


Project Heartbeat 0.6.0 now available: Practice Mode, Folders, In-editor video

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

NEW FEATURES & IMPROVEMENTS


Practice mode


[previewyoutube=AQqoCXu0o88;full][/previewyoutube] A new practice mode has been added, you can move forwards and backwards throughout the song, create your own waypoints to return to later and even see extra stats to help you know how well you are doing.

Folders


[previewyoutube=6uZZRq3UUdk;full][/previewyoutube] You can now create arbitrary folder structures to organize your songs however you want. Check the video above for a quick rundown of this feature.

Custom note sound support



You can now make your own note sounds and use them by placing them in the custom_sounds folder in your content folder.

New button prompts



A new button prompt system has been added, this will accurately change based on the controller you are using, if this doesn't work for you you can override it in the game's settings.

Decimal BPM support


You can now add decimals to BPM

Icon & hit effect changes



The way the game's icons look has changed, the outlines have been increased and the underglow has been fixed, additionaly the color on some of the notes has been changed to make them stand out more. Hit effects have also been slightly changed to make them more visible.

Analog input changes


I've changed how analog inputs are handled in general, this means that you no longer need to setup analog sticks differently from analog (slide) actions, it should also be more consistent.

Icon pack support improvements


Icon pack support has been improved and it should be way more stable now, also a new simpler icon pack has been provided, you simply have to edit the atlas.png and the icon_pack.json to change the name. You can find the easy pack here: https://github.com/EIRTeam/ph_modding/releases/tag/1.0

Editor video & backgrounds



The editor now has backgrounds just like the game, video also works but it's slightly yanky, you can disable this in the bottom right buttons, next to the grid toggle.

Gamepad visualizer



You can now visualize the current gamepad's input, you can do this by pressing Control+G. The visualizer is enabled automatically in practice mode.

Bug fixes & minor changes


  • Double notes (including hearts) are now slightly bigger.
  • Multi-threaded game loading has been partially disabled, now only song loading is multi threaded.
  • Added sustains for arrow notes.
  • A scrollbar has been added to the editor tools tab.
  • Fixed some issues with the arrange tools.
  • The way multi note lasers are made has changed, which should fix some issues some people faced with them.
  • Fix user receiving a perfect rating when showing result with only wrong failures.
  • Fix slide chain loop sound being unused.
  • Fix custom icon loading.
  • Fix a single character error for imademo.
  • Song volume now affects editor and main menu playback.
  • Fixed offset tool in editor.
  • Capped note selection in editor.
  • Game should fallback to GLES2 automatically instead of giving errors.
  • Support has been added for hybrid (F2nd and AFT style) PPD charts.
  • Message queue size has been raised to support bigger charts.

Future


I have spent the last month struggling mentally, so this is the reason why this update is so relatively small, however I have also been working on the promised new leaderboard system with promising results, hopefully I can ship it in 0.7.0 or 0.8.0. New songs are being worked on, we have over 5 new songs in the backlog. I have also begun pre-production on a new game, and I hope to reveal new information on that soon. Shoutouts to Estrella, Emmilly and Helena for making my life better.


[ 2020-09-17 15:12:35 CET ] [ Original post ]


Save 20% on Project Heartbeat

Project Heartbeat is available with a 20% discount! Get it while you can!! https://store.steampowered.com/app/1216230/Project_Heartbeat/


[ 2020-09-07 17:08:00 CET ] [ Original post ]


New song available: RedLine 2018

[previewyoutube=sNs0ANCaAKc;full]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!


[ 2020-08-11 15:05:18 CET ] [ Original post ]


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


NEW SONG: Getaway


[previewyoutube=IYWKRbY48vY;leftthumb][/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


Discord rich presence



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

Tweet button



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

Main menu music disable option



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

VSync option


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.

"Convert to" dropdown in the editor



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.

Custom icon pack support


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

Add ability to change URLs in PPD songs



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

Score is now shown in song list



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

Play count



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.

Note caching



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.

Slide chain rewrite



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.

Sound effect pooling


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

Hold exploit fixes


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.

PPD double heart importing improvements


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

Multiplayer improvements


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.

Open user directory button



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

Editor general architecture improvements


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.

Experimental ANGLE builds for Windows


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


New leaderboard system


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).

New FAQ


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

Practice mode


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.

Homebrew Nintendo Switch port


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.


[ 2020-08-04 15:06:02 CET ] [ Original post ]


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.

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.

How many songs are currently planned?


Back when we launched the game we announced 5 songs, however this has changed. We will have:
  • 10 songs in total from SuganoMusic
  • 1 song from PKAkatora (connected)
  • An unannounced number of songs from Impedance Eurobeat
I am against microtransactions, so if DLC happens it will only be in the form of song packs with a bunch of songs, I think that's a much better solution that charging per-song (it would also help reduce fragmentation too.

What about 3D PVs? (background 3D animations)


I briefly studied this, however the price would be too great for me to afford currently (PH is my only source of income) but it is something I want to do if the game grows, specially if we do end up having a console release, since the console we are targeting supports hardware raytracing it would be interesting to see. When we switch to Godot 4.0 (and thus to Vulkan) I will be revisiting this idea.

What are the future plans? Are DLC planned?


The future of Project Heartbeat mostly involves polish, the core gameplay I'd say is in a pretty good spot right now. I might study a revamp of the in-game UI in the future too. I will do whatever the community wants me to do as long as I can afford to do it and sales continue to be fine. There is one big thing I want to do, which would be rolling out our own leaderboard system, this would allow workshop songs to have their own leaderboards which I think would be amazing. One other big change will be the move to Godot 4.0 when it becomes available, the new engine will allow the game to run on Vulkan. Regarding DLCs: they are not planned right now, but if the game continues to grow they will happen eventually (the DIVA song count is 36 songs, so I am aiming for at least 20 or so before including DLC, as Heartbeat is a much smaller operation). DLC would also allow me to attract new record labels, as I feel like with DLC I can provide them a better deal they might be more interested in.

What's the status of Guitar mode?


I shelved guitar mode, this is due to a number of reasons including my declining (but now improving) mental health not allowing me to work on the game as much as I want.

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. I am against software patents on principle, so even if I could afford the licensing fees I wouldn't do it. This is the same case as with MP3.

When are you adding catboys?


no


[ 2020-07-24 11:56:52 CET ] [ Original post ]


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.

Scroll list direction holding for scroll list and options


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

Hold and slide nerfs


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.

Tabbed controls section



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

Major input handling changes (including hold cheese prevention)


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.

Editor test play restart button


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

Background dimming option



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

Sound effect changes


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.

Expression editor


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

Performance improvements


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.

Yet another trail code rewrite



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.


[ 2020-07-06 19:19:39 CET ] [ Original post ]


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/


[ 2020-06-25 18:03:08 CET ] [ Original post ]


NEW SONG: Connected now available

[previewyoutube=zgqRHT5yvPc;leftthumb]https://www.youtube.com/watch?v=zgqRHT5yvPc[/previewyoutube] Connected is a song created by PKAkatora, this song is our first deviation from the Eurobeat genre in the game, this song features a synthetic voice and it's fairly happy. The song's artwork, featuring our mascot Aiko was masterfully created by the Spanish artist Mariale. The song was also charted by our resident charting master Twoncity. I hope you enjoy this new song.


[ 2020-06-22 14:08:26 CET ] [ Original post ]


Project Heartbeat 0.3.0: The Big One now available

Project Hearbteat 0.3.0 is now available for all to enjoy, this new update took longer than expected due to me suffering a thumb tendon injury.

NEW CONTENT


New artwork for Imademo 2012...



Due to external reasons the artwork for Imademo 2012 was left unfinished and is the oldest (and most unfinished) artwork in the game, Emmilly has been hard at work doing new art, this is probably one of her best works yet, and it shows.

NEW FEATURES


Extended notes


New note types are landing in PH, these are called extended notes. They create a different type of gameplay and in theory you shouldn't mix them with multi notes or holds, but I know you will so I made sure that they all worked together nicely. No official charts use them (yet) but we will be releasing new songs with the new notes in the future.

Heart notes



Heart notes are like slides except they don't care about direction, you can even flick your stick up and down.

Double notes



Double notes require you to press the same direction on two buttons, if you are playing on a controller you would press d-pad left and Y or Triangle at the same time. Heart notes can also be doubles, so you would have to flick two sticks in the same direction.

Sustain notes



Sustain notes require you to press the note on time and hold it, after that you will need to release the sustain on time.

How to play section



A new how to play section has been added to the main menu, this will give new users a rundown of what's in store for them.

New slide chain mechanics



Slide chains have changed, they now progressively turn blue when you hit them, so you can let go when all all blue and it will clear the slide automatically. You can also hold the slide before the time to hit it comes to hit it automatically.

Favorites tab



Due to growing song libraries we've added the ability to add songs to a personal favorites tab.

New trails



Trails have been updated, they are now drawn in a hybrid fashion, the game creates a mesh for them and fills them incrementally using a shader, this new approach has not been implemented in multi-note lasers yet, but will eventually be used to improve performance of those as well. The new trails also include anti-aliasing, working around a previous engine limitation, this makes the borders of the notes be much smoother. We originally launched them shortly after 0.2.8 was released as a fully GPU solution, but it didn't work well, so I spent 4 days working on them for hours (which led to my injury) but I made it in the end.

Massive performance optimizations


A lot of changes have been made under the hood to make PH not only faster but also less prone to errors (specially around slide holds) and more consistent, I hope this upgrade is enough to allow people with the more modest computers to play the game. I hit around 60 fps playing back 720p 30 fps video backgrounds on my dual-core Intel HD 3000 machine for reference.

New accessibility-friendly default keyboard settings



Accessibility is a recurring theme in Project Heartbeat lately, with the new note leading line features and the new timing circles replacing the clock arms. This time we are shipping new saner keyboard defaults allow everyone to play the game one-handed, thanks in part to my wrist injury for the inspiration.

VP9 video decoding


PH now ships with statically linked FFMPEG to use VP9 video decoding, VP9 is one of the many modern open formats that are widely used in the web, YouTube for examples makes use of it together with AVC1, although it appears it will be superseded by AV1 eventually. The reason to move to VP9 is the same as why most of the web moved to vp9 webms, H264 is a proprietary format, there was one point when Theora video and Vorbis audio inside Ogg containers were considered to be included in the web standard but were ultimately dropped after lobbying from proprietary format supporting companies. This monumental stupidity on the W3C's part eventually led to the inclusion of Encrypted Media Extensions on the web standard, something that Netflix and co have used for evil. This won't change how you use videos in the game, but it will require you to download them again, it is possible that it will make playback less CPU intensive and will make the videos take up less space, performance-wise VP9 is said to be tied with h265, but this is debatable.

Project Heartbeat metadata in PPD charts


In order to allow authors of PPD charts to release songs for both games you can now bundle Project Heartbeat metadata in your PPD charts, the game will pick this up automatically, in order to add them, simply add new entries to your data.ini file starting with project_heartbeat_ followed by the property name, so for the title it would be project_heartbeat_title The following properties are allowed at this time: "title", "author", "preview_image", "background_image", "youtube_url"

EDITOR IMPROVEMENTS


There have been many changes to the editor, most are invisible, such as performance improvements, others are more visible, like the changes we will discuss now.

Chart offset tool



You can now move all notes and events in the timeline through the new offset tool in the tools tab.

Note copying/cutting and pasting


Last update we added the ability to copy note parameters from one note to other using the inspector, this has now been extended and it's possible to copy notes in the timeline using the shortcuts you are familiar with.

Custom content directory and song reloading



It is now possible to select where your custom content is gonna be saved and loaded from, this includes videos and manually installed songs. You can also reload all songs by selecting the "Reload all songs" option.

Editor contextual menu



The editor now features a contextual right-click menu, this can be used to access some of the new features.

Note interpolation



This feature allows you to place notes in a straight line, with their separation being based on their hit time. Simple place your earliest and latest note and select them together with the ones in between, when you apply the interpolate option to them they will be placed in a straight line, separated and ordered by their time.

Minor changes


  • Add extreme to song metadata editor.
  • Allow decimal steps for stars in metadata editor.
  • Add Control+F shortcut to show FPS and video playback data.
  • Add hold to scroll to song list.
  • Add ability to disable video per-song.

BUG FIXES


  • Fix youtube-dl sometimes not finding ffprobe on windows.
  • Fix linux video download regression.
  • Make some changes to how game starts are done to hopefully prevent startup bugs.
  • Make sorting use lowercase.
  • Fix instancing bugs causing score overwrites.
  • Fix chart editor settings not loading properly under some cirucmstances.
  • Fix BPM changes not working properly.
  • Fix inputs breaking when restarting a song with them held.
  • Fix and issue that cause holds to be dropped instantly under some circumstances.
  • Do a hidden fire of the slide particles when the game is starting so that shader compile doesn't happen during gameplay.
  • Add error message when attempting to join lobby with a song you don't have.
  • Fix linux video download regression.
  • Fix editor title pushing controls out of the screen


[ 2020-06-20 16:57:36 CET ] [ Original post ]


Project Heartbeat 0.2.8 now available: The biggest update yet

NEW CONTENT


Aiko is here!



Illustrated by the great Chilean artist Izayoi Aiko is here! she is the new official face of the game and she can now be seen in background of the official song "Cloud Sky 2019". Aiko is a futuristic gothic-styled girl that will serve as Project Heartbeat's main "protagonist" with potential for more characters to come in the future. She's 18 years old, 1,62 meters in height, 45 kg and ready for the big stage!

A new, easier difficulty for official songs


Some users had issues with the official songs being too hard, the built-in songs are usually the introductory songs for new users, so them being too hard was an issue, as it created frustation. In order to solve this we have added a new difficulty called Extreme, moved everything up one step and created a new easier chart, this means that the chart that previously was considered of "hard" difficulty is now normal, and the old normal one is now hard and so on.

NEW FEATURES


Accessibility features


New timing and note path indicators



A week ago we silently launched two new features to make the game slightly easier to play for new users, these two changes are replacing the existing timing arms for circles around the notes and the addition of lines that tell you what path the note is going to follow.

Multi-note indicator



We have added a feature that shows the direction of the buttons you have to press when multi notes are on screen, this should help read them, particularly for triple notes. These options are enabled by default, but you can change them in the settings.

Audio volume settings


Yeah idk either why we didn't have this before...

Song start fade in


Songs will now freeze on start while a white overlay fades in, this should help for songs that start immediately.

Per-song settings



This was a heavily requested one, due to a number of hardware circumstances charts might have slight timing differences on your machine than they do on the charter's machine, to counter this you are now able to change the timing on the new song settings option in the pre-game screen, these settings are saved per-song. You can also change the audio volume per-song to prevent some user-made tracks from being too loud.

Modifiers



One long requested feature was the ability to spice things up by changing how songs played through modifiers, in this update we have included three modifiers. Do note that playing songs with modifiers means your scores won't count towards the leaderboard.
  • Nightcore : This modifier will make your songs faster or slower.
  • Randomizer: This modifier will cause the buttons to change each time you play the song (it doesn't randomize every note, but rather replaces all instances of say, up notes with down notes).
  • Chaos: This modifier randomizes all properties of all notes, this means that they will appear from all angles and be of many different types, not really a serious modifier but can provide some laughs.

Intro skip



We have added the ability to enable skipping the intros of songs, this is disabled by default and must be enabled by the chart's creator, the chart's creator can also specify a minimum note time to allow skipping, so that easier charts that start much later get the intro skip but harder charts that start earlier don't.

Tap deadzone


Tap actions (so, slides) now have deadzones on them, this should prevent accidental presses, this deadzone can be changed in the settings

Add song info to pause menu



Now a song preview with song information will show when you are in the pause menu.

Editor manual



There is now a manual explaining how the editor works in the Steam guides section, this has also been added to the editor. You can also read the guide here.

Editor optimizations


Not exactly a feature but big enough to warrant a spot here: The editor has received some major optimizations to run on older machines, it should work much better now.

Editor optimizations


Editor copy and paste



You can now copy and paste note properties in the editor.

BUG FIXES


  • Fix a bug that would cause the song list to send you to the wrong song
  • Ensure only legal scores are entered to local leaderboard
  • Fix issue with reselecting stored song lists that had under 3 items
  • Fix main menu not hiding PPD song list when there are no PPD songs present
  • Fix youtube-dl invalid cache state breaking some downloads.
  • Fix some strange song list issues
  • Fix crash related to dropping loooong slides
  • Ensure all notes don't exist anymore when restarting a song
  • Fix hold prompt not scaling properly sometimes
Have fun!


[ 2020-05-04 19:58:40 CET ] [ Original post ]


Project Heartbeat roadmap

Laid out in this post are the future updates for Project Heartbeat and how the game will progress through the next few months. These things are planned, but external factors might change them (with the current world state you never know). Also I usually add some new features as people request them, so even if it seems barebones it is likely updates will be bigger (and obviously contain bugfixes).

Update 0.2.8 (coming this week!)


  • Easier difficulties for included songs
  • Song Modifiers
  • New deadzone settings
  • Per song latency settings
  • Song start and finish time settings

Update 0.2.9


  • Project Heartbeat-tan debut
  • New synthv song

Update 0.3.0


  • New note type: Hearts
  • Switch to vp9 as the only video codec
  • New eurobeat song

Update 0.3.1


  • New note type: Double notes
  • New eurobeat song

Update 0.3.2


  • New note type: Sustain notes
  • New eurobeat song
(Here end the confirmed songs, hopefully we'll be able to confirm more). Artwork for this article: "User manual" by David Revoy, licensed under Creative Commons Attribution 4.0. https://www.peppercarrot.com/en/static6/sources&page=artworks


[ 2020-04-29 16:20:37 CET ] [ Original post ]


Project Heartbeat 0.2.7 now available

Before we start


I am aware that this update is probably going to be underwhelming in relation to the last few, this is because of life-related setbacks that haven't allowed me to focus on the game as much as I'd liked, but I still have managed to cram some features into it that I hope you will enjoy.

NEW CONTENT


New song: Hyperspeed out of Control


[previewyoutube=eBDBbaz_aso;full][/previewyoutube] With this update we are including hyperspeed out of control, a song produced by SuganoMusic, sung by Anthony McBazooka, based on a song from Touhou Project called Love Colored Master Spark. Hyperspeed out of control comes with an illustration from David Revoy's Pepper & Carrot open source project. The song has been charted by Henttus in record time and it has some relatively hard sections, I hope you will all enjoy it!.

NEW FEATURES


New Song List



The song list has been completely changed, it now has a sleeker design and accomodates better for custom difficulties, with this patch we are also adding sorting and grouping capabilities to the song list. The new design also allows for star counts with decimal points and longer titles.

MISC CHANGES


  • Adjust work in progress label to a new location
  • Merge pause and play buttons in the editor

FIXES


  • EDITOR: Make editor layer doubleclick only happen when the left click button is pressed
  • The game now disallows you from pausing while the song is ending
  • An issue that would cause some notes to disappear on restart and potentially crash the game has been resolved.
  • Fixed the song meta editor not saving the original title


[ 2020-04-20 15:06:49 CET ] [ Original post ]


Project Heartbeat v0.2.6 now available

Project Heartbeat v0.2.6 is here, this update isn't as big as the previous ones due to me taking a break for a day, but it should still affect some of you.

NEW CONTENT


Background image for music play in the floor


This new background comes from the open source webcomic Pepper & Carrot, I recommend you go check it out, it's quite amusing. Something else that is quite amusing is that a Pepper & Carrot JRPG was one of my first attempts at making a game ever, oh how tables have turned!

New song: Cloud Sky 2019


Finally, new content, Cloud Sky is the next song to hit the hands of players, this song is slightly slower than the rest but it's quite catchy, currently an illustration is being made for it, and from what I've heard it's going to look very nice. As always, this song has been masterfully charted by our charting backroom, in this case the whole song was charted by Twoncity.

FEATURES


  • EDITOR: add playtest
  • EDITOR: you can now move multiple notes at the same time
  • EDITOR: clicking on the timeline will cause everything to be deselected
  • EDITOR: timeline will now jump to make the playhead visible when playing a song in the editor
  • Remove heart power I think I have to explain this one: PH doesn't really need a fever system, and user feedback towards heart power has generally been negative, so we've decided to remove it, when the life mechanic is implemented the former heart power meter will be used for it.
  • New slide graphics (thanks Twon)
  • Readability improvements for notes and judgement

FIXES


  • EDITOR: You can no longer set BPM changes to 0
  • EDITOR: Fix hold indicator not showing the correct icons
  • EDITOR: Fix slide chain pieces sometimes remaining visible while editing
  • Minor game position calculation optimizations
  • Switch to a less crash-prone NoteDrawer architecture
  • Slide note sfx is now quieter
  • Note outline thickness are now consistent
  • Removed UWUs
  • Removed Herobrine


[ 2020-04-12 08:18:28 CET ] [ Original post ]


Steam Workshop is finally here! Say hi to Project Heartbeat 0.2.5

FEATURES Steam Workshop This is the big one, possibly the most anticipated feature for Project Heartbeat, it allows you to download charts from the Steam Workshop with a single click (even when your game is running!). If you are a charter, you can upload your charts using the "upload to workshop" option in the song editor's song selection menu. In order to make it easier for you to enjoy charting, we have published an official guide. After you finish playing a song from the Workshop the game you will be asked to give an opinion on it (although it is not mandatory to do so). Chart verification Songs are now verified when trying to edit them, there are different severities, depending on how bad it is the editor may require you to fix issues before letting you edit the chart. There are also some workshop specific errors, these are checked when you click "upload to workshop". More changes to how video download behaves Video downloads now happen in the background, which means you can enjoy playing your songs while other files are being downloaded, you do not even have to worry about download notifications getting the way, as if you are playing a song the notifications are stored and only shown to you after you are done with it. Imademo 2012 easy and normal charts Long overdue, but the easy and normal charts for Imademo... 2012 are now available. PPD Audio verification The game now includes code to check if the audio file selected when selecting a file for PPD is actually an audio file and if it's of the correct format and using the correct codec (OGG Vorbis in our case). FIXES & MINOR NEW FEATURES - Fix editor not properly loading hidden layers - All audio from video download is now automatically converted to stereo - Fix multi-notes breaking under some extreme circumstances - Fix EditorPlugins not showing errors - Fix BPM hanges - Fix timeline items scaling when zooming in - Fix an issue that caused timeline lines to disappear when using offset - Add area select to editor - Fix moving notes snapping differently from when they were created - Add option to automatically set the value of multi-notes in the editor - Added kojima This version is dedicated to my friend Jose Luis, who died from COVID-19 early last week, may he rest in peace.


[ 2020-04-06 20:44:59 CET ] [ Original post ]


Project Heartbeat 0.2.0 is here!

Project Heartbeat 0.2.0 is here, with new fixes and some interesting new features. NEW FEATURES

Video playback


Project Heartbeat now supports using videos as backgrounds for your songs, with this come a new plethora of options to make life easier and adjust it to your likings, and some video download improvements make this easy to manage. The new options allow you to disable video entirely, only for PPD songs, disable the visualizer when a video is playing or even set the resolution and FPS of the video downloads. Currently only h264/av1 is supported.

Video download changes


The very smart people looking at the game's internals might have realized that Project Heartbeat downloads videos together with songs, this was originally due to the simplistic way in how the video download worked. Among some of the changes, the download code will now check if the files exist and ask you to download them if they aren't, this means that if you disable video downloading, download a song (which will only download audio) you can then enable video again and it will ask you to download the video. Same goes for missing video/audio files. All this means that you will have to download your videos again (but you won't have to enter the URL again for PPD songs).

Work in progress features


One of the things I am currently working on is Steam workshop integration, this should be interesting to see.

Other fixes


- The editor now runs in windowed mode automatically - Make closing the editor chart open popup on startup send you back to the main menu - Ensure you can only enter youtube URLs in the PPD URL entry - Fix circle target size discrepancy - Rewrite the hold indicator to not work sloppily - The game now writes the version string to the logs - Fix simultaneous multi-slides (why tho) - Fix main menu right being cut under some circumstances - Fix the results screen ignoring wrong notes when calculating full note count - Fix editor midi importing


[ 2020-04-02 02:00:17 CET ] [ Original post ]


Project Heartbeat is now available on Steam Early Access

Project Heartbeat is now available to purchase on Steam as an Early Access title!


[ 2020-03-26 21:10:38 CET ] [ Original post ]


Your questions, answered

Some time ago we asked on twitter and on our discord to throw any question you had about the game at us, here are such questions, and the answers to them.

How many songs are included in the base game?


Regarding the song list, there will be five songs by SuganoMusic, two of them are Touhou Eurobeat arrangements and the rest are traditional Eurobeat.

Can you use the PlayStation buttons?


Project Heartbeat infringes no patents, no copyright and no trademarks. Clone games are generally legal (see StrikeLine, RockBand, Heroes of the Storm, HoN, League of Legends, Candy Crush, commercial uses of StepMania, AutoChess and its clones etc...) Regarding the DualShock4's buttons: While the letter X is not copy protected, the specific cross used on the controller, along with the other shapes, are trademarked. Using your own art to represent the buttons, is OK under fair use, specifically nominative fair use. Where the qualifications for nominative fair use are one of the following situations:
  • The product or service cannot be readily identified without using the trademark (e.g. trademark is descriptive of a person, place, or product attribute).
  • The user only uses as much of the mark as is necessary for the identification (e.g. the words but not the font or symbol).
  • The user does nothing to suggest sponsorship or endorsement by the trademark holder. This applies even if the nominative use is commercial, and the same test applies for metatags.

Whats the launch price looking like, and will that ever increase?


Launch price depends on the region, the european price is around 10 with the launch discount and it will increase after early access. However prices for other regions may vary greatly when converted to Euros, so don't take it as gospel.

Is workshop support coming?


Yes, but valve told me to remove references to it from the store page until it's available.

In the multiplayer mode, how many players can you play with at once (size of a lobby)?


Technically we could fit 250 people in a single lobby, but for sanity reasons it's set to 5 right now, but it's a simple one line change to increase this limit if the community wants it.

Are console versions planned?


... Maybe

Is mayonnaise an instrument?


If you try hard enough yes.


[ 2020-03-17 14:53:22 CET ] [ Original post ]


Release date announcement


Mark your calendars, because Project Heartbeat is coming to Steam Early Access on March 27!!!


[ 2020-03-05 09:13:30 CET ] [ Original post ]



Project Heartbeat
EIRTeam
  • Developer

  • EIRTeam
  • Publisher

  • 2020-03-26
  • Release

  • Singleplayer Multiplayer EA
  • Tags

  • Game News Posts 66  
    🎹🖱️Keyboard + Mouse
    🎮 Full Controller Support
  • Controls

  • Very Positive

    (301 reviews)


  • Review Score

  • https://store.steampowered.com/app/1216230 
  • Steam Store

  • Project Heartbeat is a cute community-driven rhythm game inspired by titles such as Clone Hero and Project Diva, featuring music from top artists of the Eurobeat genre made popular by the Initial D anime and manga.

    Features

    • Hit notes to build up your combo and your score.
    • Compete for official song leaderboards.
    • Create and share your own charts!
    • Play against your friends with the multiplayer mode.
    • Play with the five included songs from top artists of the Eurobeat genre.
    • Complete Steam Workshop support.
    • Challenge yourself with the higher difficulty songs.
    MINIMAL SETUP
    • OS: A distribution that supports Steam
    • Processor: Dual core CPUMemory: 2 GB RAM
    • Memory: 2 GB RAM
    • Graphics: A GPU that has OpenGL 3.3 or Vulkan support
    • Storage: 1 GB available space
    GAMEBILLET

    [ 5949 ]

    4.22$ (15%)
    25.46$ (15%)
    2.00$ (80%)
    8.42$ (16%)
    7.50$ (75%)
    7.50$ (75%)
    6.60$ (17%)
    25.19$ (16%)
    2.50$ (90%)
    16.99$ (15%)
    16.59$ (17%)
    3.29$ (18%)
    15.00$ (75%)
    16.99$ (15%)
    4.19$ (16%)
    27.59$ (8%)
    8.27$ (17%)
    4.19$ (16%)
    7.50$ (75%)
    4.00$ (80%)
    2.00$ (90%)
    14.69$ (41%)
    4.50$ (85%)
    5.00$ (50%)
    7.20$ (64%)
    7.48$ (66%)
    10.98$ (15%)
    15.99$ (20%)
    16.99$ (-70%)
    10.31$ (14%)
    GAMERSGATE

    [ 1903 ]

    0.68$ (77%)
    6.6$ (74%)
    0.79$ (89%)
    5.63$ (62%)
    3.28$ (78%)
    2.63$ (62%)
    5.25$ (74%)
    3.4$ (83%)
    3.0$ (85%)
    0.9$ (70%)
    3.48$ (83%)
    2.25$ (85%)
    2.25$ (92%)
    3.0$ (92%)
    2.55$ (87%)
    5.06$ (66%)
    11.99$ (52%)
    7.42$ (59%)
    0.38$ (81%)
    3.0$ (70%)
    1.31$ (81%)
    2.53$ (86%)
    0.6$ (85%)
    1.31$ (81%)
    7.34$ (48%)
    1.5$ (92%)
    0.38$ (92%)
    0.94$ (81%)
    0.6$ (92%)
    2.25$ (77%)

    FANATICAL BUNDLES

    Time left:

    3 days, 13 hours, 43 minutes


    Time left:

    26 days, 13 hours, 43 minutes


    Time left:

    8 days, 13 hours, 43 minutes


    Time left:

    39 days, 13 hours, 43 minutes


    Time left:

    45 days, 13 hours, 43 minutes


    HUMBLE BUNDLES

    Time left:

    6 days, 7 hours, 43 minutes


    Time left:

    6 days, 7 hours, 43 minutes


    Time left:

    15 days, 7 hours, 43 minutes

    by buying games/dlcs from affiliate links you are supporting tuxDB
    🔴 LIVE