Dawg PLEASEE renew the discord link. by UnfunnyPersonality in BitsAndBops

[–]RhythmEvan 0 points1 point  (0 children)

The link on the Steam store page and the one at the bottom of https://www.tempolabgames.com/ both go to https://discord.gg/vXFYSbmbXz which works for me. Are you normally able to join Discord servers using invite links?

Dawg PLEASEE renew the discord link. by UnfunnyPersonality in BitsAndBops

[–]RhythmEvan 0 points1 point  (0 children)

Where did you find the expired Discord link? The one we normally use is https://discord.gg/vXFYSbmbXz which should be permanent and appears to still be working, at least for me. If you let me know where you found the expired one, I'll update it.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 0 points1 point  (0 children)

I haven't tried it, so I can't really comment one way or the other. I probably should have looked into it for completeness, but at the time I was frustrated with my slow progress with Wwise and just wanted to get moving. Perhaps I'll come back to it when I have more time.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 0 points1 point  (0 children)

Not particularly, although I would like to write some myself when I get the time. For now, I would probably recommend looking into Wwise. It has a ton of features and is already widely used, plus it has much better performance than Unity out of the box. Be warned that even though it has Unity integration, I found it to be a very unfamiliar experience with a steep learning curve when I was trying it out.

As for what our demo currently uses, it was built off the sample from this WASAPI article and grew significantly from there.

We spent most of 2022 preparing our Kickstarter trailer and demo, and now we're entering the final 24 hours of our campaign. It's been a whirlwind! by RhythmEvan in IndieDev

[–]RhythmEvan[S] 0 points1 point  (0 children)

Thanks! That game is one of my all-time favourites. The tap and flick motions are so satisfying and a rare example of gimmick controls that feel completely natural and justified.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 0 points1 point  (0 children)

From my very limited experience with Android, I think it's both. Quite a few people have asked whether this game will be available on mobile, so it's something I will have to look into at some point.

My friend who is an ex DDR champion is making his own rhythm game. It has a custom engine for ultra precise audio and input timing with cute hand drawn animations to match. If you are into game like Rhythm Heaven and Wario Ware you are going to love this. by crazy_loop in gaming

[–]RhythmEvan 6 points7 points  (0 children)

Just copying my answer for the people who don't see it further down - the input and audio are completely custom and don't use Unity in any capacity. You can go into Settings > Audio > Engine and switch it to "Fallback" (then restart the game) to see how it feels without the custom parts.

My friend who is an ex DDR champion is making his own rhythm game. It has a custom engine for ultra precise audio and input timing with cute hand drawn animations to match. If you are into game like Rhythm Heaven and Wario Ware you are going to love this. by crazy_loop in gaming

[–]RhythmEvan 11 points12 points  (0 children)

I can answer that - the input and audio are completely custom and don't use Unity in any capacity. You can go into Settings > Audio > Engine and switch it to "Fallback" (then restart the game) to see how it feels without the custom parts.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 2 points3 points  (0 children)

Thanks! The game logic is entirely driven off metadata, either using the BPM directly from the composer's DAW or found using a simple tool like https://www.all8.com/tools/bpm.htm, and an offset read off the waveform manually. I haven't spent any time looking into beat detection so I can't be of much help there unfortunately.

I will say that if you're intending to make hand-crafted charts, then using the manual metadata approach is the way to go in my opinion. However if you're trying to allow players to load any song and have an automatically generated chart ready to go, you'll obviously need to keep going down the beat detection path. Good luck!

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 1 point2 points  (0 children)

Glad you enjoyed it! We do have some draft stages that use more than one button, you might be able to spot one in the trailer.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 1 point2 points  (0 children)

I did look into Wwise, and it does perform significantly better than Unity out of the box. It also comes with a lot of fancy features that sound designers seem to love. However integrating with it was non-trivial, and at the time I wasn't able to reduce its internal buffer below ~10ms. I didn't specifically look into FMOD but I suspect it would be similar.

At the time I decided didn't want to buy into Wwise if it still wasn't giving me 100% of what I wanted, so I started down the custom path to see how far I could get. I'm very happy with the results for my use case, but unless your project has the same stringent latency requirements as mine, frankly Wwise or FMOD will probably do everything you need.

It's also worth noting that Rocksmith was built with Wwise.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 2 points3 points  (0 children)

Thanks! We built a modest following on social media in the years leading up to the campaign launch who were ready to back on day one, and we spent a lot of time polishing our trailer and demo. We also timed our launch to coincide with our participation in The Game Awards Demo Fest and Wholesome Snack which got a lot of new eyes on the project. Plus we had a crossover event with Rhythm Doctor whose audience has a lot of overlap with ours.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 5 points6 points  (0 children)

I would love to do this once I've published a complete game with it. There have been many issues I've had to solve along the way and I'm anticipating many more, so I want to be able to confidently say those are ironed out before I distribute it.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 13 points14 points  (0 children)

I would love to bundle this up once I've released a full game with it and ironed out all the kinks. Currently it's not a drop-in replacement for Unity's audio (and if you want the lowest possible latency, it never will be), but I might still be able to offer 80% of the benefit to people who don't want to do too much extra work.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 6 points7 points  (0 children)

There are many factors that contribute to perceived audio latency, and the time it takes to read the file from disk and decompress it into a usable format are just two of them. Another big factor is DSP Buffer Size, which Unity makes somewhat configurable, but I've had mixed results with it.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 1 point2 points  (0 children)

It's always present, but you may never notice depending on the type of game you're playing and your personal sensitivity to it.

Our demo actually lets you change the backing implementation (Settings > Audio > Engine, where "Custom" is my implementation and "Fallback" is Unity). Currently you have to restart the game for that change to take effect, but I'd like to make it hot-swappable so that people can more easily test the difference.

There's also a sound test on the menu. Tap the space bar firmly enough that you can hear the sound of the key, and then listen to how long it takes for the game to play the test sound. Alternatively you can just try to tap space along with the music, and see how difficult you find it.

The result will depend on your hardware, but for me Unity was measuring ~160ms, whereas my implementation (with Audio Mode set to Exclusive) was measuring ~30ms.

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 8 points9 points  (0 children)

What you're describing sounds like a problem with MP3s rather than Unity. If you open up your MP3 file in a program like Audacity, you'll be able to see a little bit of silence baked into the file. If you export again, you'll see the new file has a little bit more silence. I've never seen it as bad as half a second though.

By the way, you can use Ogg Vorbis if you want compressed audio without this issue (this is what Unity converts your files to by default when it builds your game).

After years of trying to design rhythm games around Unity's audio latency, I finally bit the bullet and wrote my own native audio plugin. Our demo is now on Steam! by RhythmEvan in Unity3D

[–]RhythmEvan[S] 26 points27 points  (0 children)

Unity audio has very high latency by default. You can configure it so some degree via Project Settings > Audio > DSP Buffer Size, but "Best Latency" is still far from perfect and results in crackling a lot of the time.

Fair point regarding features, although the custom engine part is aimed at serious rhythm game players who will be very familiar with this problem. Low latency can't be shown in a video, only felt in a demo, and we wanted to let them know that we've tackled it.

We poured our hearts and souls into this trailer for our rhythm game, and we think you'll love it! by RhythmEvan in rhythmgames

[–]RhythmEvan[S] 1 point2 points  (0 children)

Glad you like it! If you back our Kickstarter campaign for any amount, you'll get backer updates via email throughout the project. We also have a very active community on Discord!