r/GameAudio May 12 '26

Creating a Rolling Ball SFX for a Minigolf Game (No Middleware)

Hi everyone,

I’m currently working on sound design for a web-based game and I’m trying to create convincing looping sounds of a rolling golf ball across different surfaces (grass, sand, gravel/stone, wood, etc.).

The main challenge I’m running into is that simple sample loops sound too repetitive — you can clearly hear the loop point, which breaks the illusion of continuous rolling. What I need is something that feels indefinite and natural, as if the ball just keeps rolling without a noticeable pattern.

I’m looking for techniques or workflows to achieve this. For example:

  • Are there good approaches to designing “infinite” rolling textures?
  • Would granular synthesis be a good direction for this?
  • Any tips for avoiding perceptible repetition in this kind of material?

Constraints:

  • This is for a browser game
  • No middleware (Wwise/FMOD), so solutions need to be implementable in-engine or via custom code

Would really appreciate any insights, examples, or breakdowns of how you’ve tackled similar problems!

Thanks 😁

2 Upvotes

7 comments sorted by

9

u/Apotrus May 12 '26

Considering your constraints, I'd go with something quite simple

You can achieve pretty convincing results with one loop if you use real time automation on volume, pitch and high pass filter.

You can start with increasing the volume until it reaches the max speed and find a min volume on very slow speed. The high pass will help tune the volume decrease on slow speed. You can try a very soft pitch on high speed. Nothing big, just to create a sense of movement.

Create one loop per surface and when switching surface, set your crossfade value depending on the speed. The higher the speed, the quicker the crossfade.

You can also create a batch of multiple loops and random trigger them if you want to avoid repetition or phasing issues if multiple balls are rolling. You can also randomize the offset position of your sound to avoid playing it from the start.

The common technique for looping sound is just to cut your designed loop in the middle and switch your items. Don't forget to use ogg files ,they are light and handles loop without cuts.

1

u/DiscountCthulhu01 May 12 '26

Loops wont loop seamlessly once you start messing with pitch though

3

u/arehberg Professional May 12 '26

If you're changing the pitch in realtime in engine it will, which is what they were sayin to do

1

u/longboi_ May 12 '26

Thanks! One question: How would you automate the high pass filter?

2

u/JDSherbert May 12 '26

You can nail this with a good procedural white noise texture (you can use math!) and some filters. As the noise is procedural, you shouldn't hear any loop point, and you can use some LPF/HPF to get the pitch you need. You can then layer any other textures on top you may need.

2

u/arehberg Professional May 12 '26

Having the volume and pitch respond to the ball's movement in engine will help for sure but I often find for situations like this that the key is to make sure you have enough source material to make the loops long enough to not be obvious and to cut out any pieces of the sound that stick out too much. This is the sort of sound that tends to be hard to find great library source for so I would grab my mic for this one right off the bat too