Should Cutscenes Be Managed On the Client?

Context: The game that is being made is where people walk around the map trying to find important objects and when you touch them, it plays a little cutscene type effect. Then the server would count the amount of times you’ve done that.

A developer on a team I’m in suggested that for the game, the server should only be used for handling the increase in how many times you’ve done it, while the client would manage every single player’s cutscene effect. For example if the effect was there was an explosion particle on the object, the client would check if itself or other players had touched it and play the effect at that location. On the surface, I don’t really see anything wrong with it, because it would make the game look smooth on all the clients, but is there something I’m missing that would ruin this concept?

EDIT: Look at this post for clarification Should Cutscenes Be Managed On the Client? - #4 by Crystalflxme

Assuming this cutscene is only supposed to be visible to the single client, yeah, it sounds like good practice to me. I’ve also retitled your post to be more searchable. :slightly_smiling_face:

From experience it is always better to do a mix between the two. All the animations should be played on the client for performance reasons and if played on server they can appear jittery, then keeping track of where the animation should be position wise in the server so you can then update it at specific points to try and keep clients in sync if its important.

If its only like a 5 second cutscene however you should be fine handling it purely on client.

My bad, they aren’t really cutscenes, they are more just effects. Sometimes an animation might play, there might be a particle effect, etc. I also don’t think I clarified enough that one client would run checks for every single player they see and do those effects on the client. All of the visual effects for every single player would be managed on every client like so:


The lines represent managing their visual effects. One client would manage their visual effects and everybody else in the server, but so would every other client.