Hello, I have been considering a few ideas about how to best implement sound effects and visual effects into my game.
Sound
I have read about using SoundService and firing events to clients. For SoundService, I figured that I can just use a module like Audio Manager on the server. I’ve heard that doing sounds on the server is not the best idea. Before I continue on with writing something to fire events to clients, I need to know if it’ll be efficient.
Visual Effects
For visual effects, I could try a similar approach and use Emit() at specific times on the server or I can try to use FireAllClients with the particle to be played and have the clients handle it all.
For both of these, would it also be better to instantiate sounds and particle emitters throughout the game or have already them already on the part that I want them to play on?
I believe that implementing sounds and visual effects is better to do on the server compared to on the client. Both the sounds and visual effects will automatically be replicated from the server to the client. If you decide to implement the SFX and VFX through the client, then there could be synchronization issues and problems with latency.
It ultimately depends on what exactly you want to do with the SFX and VFX. If you want unique sounds and particle emitters to be shown to each player, then a client-side implementation could be better. However, if the sounds and particle emitters are going to be the same for each player, then a server-side implementation is the way to go.
For instantiating the sounds and particle emitters, I don’t think instantiating through a script or by a part is that big of a difference. I’ve seen it done both ways, but I don’t know exactly if one way is considered to be better than the other as long as your consistent.
1 Like