FunkinCrew / Funkin

A rhythm game made with HaxeFlixel
https://www.newgrounds.com/portal/view/770371
Other
2.97k stars 2.29k forks source link

Bug Report: enabling practice mode when starting a freeplay song and spamming arrow keys or wasd it stops everything like no music and the notes stop in place #2732

Open crazyj3re opened 5 months ago

crazyj3re commented 5 months ago

Describe the bug

the bug is that when enabling practice mode when starting a freeplay song and spamming arrow keys or wasd it stops everything like no music and the notes stop in place

To Reproduce

start a freeplay song and turn on practice mode and try and spam arrow keys or wasd

Expected behavior

not sure

Screenshots/Video

WIINDOWS 11

v0.4.0

Additional context

ninjamuffin99 commented 5 months ago

hmmm I haven't been able to replicate. I'm on Mac as of writing/testing, when I get back to my windows PC I'll do another test. Maybe it's just quirky windows !

NotHyper-474 commented 5 months ago

I'm on Windows 11 too but also couldn't replicate

Hundrec commented 5 months ago

Also couldn't replicate on Windows 11 Maybe it's a performance-related bug?

crazyj3re commented 5 months ago

i got a video of it happening!

https://github.com/FunkinCrew/Funkin/assets/172078225/2eca435e-c4f7-47e3-bea1-5f2d4c60132c

NotHyper-474 commented 4 months ago

Managed to reproduce this on browser! Seems to be related to https://github.com/FunkinCrew/Funkin/issues/2901

Edit: Managed to reproduce in Desktop version too.

EliteMasterEric commented 1 month ago

Still haven't been able to reliably reproduce this particular issue (I can't seem to spam as fast as you're doing in the video?) but I have a theory:

The audio system has a hard cap of 32 sound channels. If a sound attempts to play while the audio system is capped, it won't play, and this can cause the instrumental to not start. If the instrumental doesn't start, that breaks the Conductor and therefore all the gameplay logic.

AbnormalPoof commented 1 month ago

Reproduced on macOS. You have to spam really fast (spamming WASD and the arrow keys helps)!

https://github.com/user-attachments/assets/05aea627-0bd8-4622-8abd-ff91ec2ba9d3

NotHyper-474 commented 1 month ago

The audio system has a hard cap of 32 sound channels. If a sound attempts to play while the audio system is capped, it won't play, and this can cause the instrumental to not start. If the instrumental doesn't start, that breaks the Conductor and therefore all the gameplay logic.

That's very plausible since when I was trying to reproduce it sometimes one of the vocals would permanently stop playing instead.

In this video I managed to break both(?) vocals

https://github.com/user-attachments/assets/ee618a5b-9e29-425d-91bf-409407a383bf

AbnormalPoof commented 1 month ago

If a sound attempts to play while the audio system is capped, it won't play, and this can cause the instrumental to not start.

Would it be possible to "queue" the sound to play the next time a sound channel is available if it's capped? Worst case scenario it delays the instrumental/song starting. (At least in theory?)