My situation lies in a Tower Defense game i’m working on.
Whenever an enemy is in range of a tower, the tower creates a bullet on every client, for every shot.
This sounds ok, but when I’m creating towers that have a fire rate of 0.05s, I have my concerns for the server, as it’s using FireAllClients every 0.05 seconds. Not to mention there would be multiple towers doing this. I’m not entirely sure about what kind of load FireClients/FireAllClients brings, so I would like to know. Any help is appreciated.
Every 0.05 seconds is probably going to overload the server, especially with multiple towers and players. A better solution would be to have the towers fire all clients only when the tower starts/stops shooting instead.
I couldn’t find any limitations myself, but I think any lag would be dependent on the complexity of the process per fire. But this is mainly only a certain for the server as Roblox servers aren’t all that powerful.
But unless you are handing off effects for the client to render, why are you firing clients?
Currently only the server handles what’s in range and what’s not in range of the tower, and the client wouldn’t know anything. I’m firing all clients to create the effect of what happens when an enemy is in range.
Excessive in the sense that you don’t really need to fire a remote that much since there would be a way to fire it once every minute rather than 0.05 seconds. But it comes down to what you really need with that much replication.