Well, I can try to explain a little:
Imagine that when a player takes damage, we have a "flinch" animation that we play. Imagine you're lagged and you shoot a player; on your client you predict that you hit them (based on their position relative to your gun). Keep in mind that the server doesn't even know you've fired a bullet yet, so you also predict their playing of the flinch animation. If your client didn't do this, any followup shots might appear to hit the enemy on your screen, but might miss on the server because the server played the flinch, which changed this position of the enemies hitboxes, meaning your bullet passed an centimeter from their head instead of hitting it. That's an example of something that has to be predicted and played in sync on the server and the client. Now imagine we have 3 flinch animations instead of 1, and we want to choose one at random to play. To do this, you need to use a deterministic random number generator so that the client and se...
Read more