I’m wondering whether I should do effects such as particles on the client or server. I hear a lot of people do it on the client by firing all clients when an effect is to be played, though I’ve always done it on the server, and I much prefer it.
SIDENOTE: Right now, I’m doing effects on the server. I’m not sure if this has any connection, but after being on a different tab for a reasonable amount of time while you are testing in studio (play button), effects are really laggy and delayed. Also, remote events fire really slowly. What is going on??
It goes slow after not having studio focused after a while. It’s really weird and it also happens in-game. It also makes moves really slow and this is very bad for my game. Thank you for replying, I think I’m going to try client and see what happens.
I would definitely give client a try. I put animations and tweens on it now, which was basically a requirement for my game to look good. Only issue is communicating it. Instead of a remote event, consider using attributes. No biggie if using an event is better, though.
As for the tab thing is weird. If it gets better once the tab is refocused, it’s probably intentional to simplify the calculations if you’re not paying attention.
I think it must be something I’ve done. It’s quite rare and I’m waiting for it to happen again so I can record it and compare it to how it’s supposed to be.
I hope that’s the case, but even when I refocus it does not fix at all. It seems like some sort of server lag… I’ve seen this kind of thing in other games but with different circumstances.
I believe particles are automatically rendered on the client if it detects a particle emitter, so there’s not much of a reason to do it that way. As for animations and tweens, it is definitely advantageous to do what you’re describing, although if it’s possible to use attributes or values instead (and on the client connect to AttributeChanged) that’s better.
The only reason I’d include particle emitters is for consistent architecture, though you’re right & the method I described would use more than the required resources.
Is not a way I’d thought about handling this.
There’s potentially an argument of using RemoteEvents over in-built ROBLOX events for easier manipulation and interpolation, though I can see the discussion on saving resources by eliminating the need for extra objects.
Interesting idea. I think I’m still on the fence about which method I prefer.