Quote:
Originally Posted by dead bwoy
So I guess what you're saying, PMB, is that the client-side prediction needs to be improved to be able to use HL2 physics in CS:Source?
|
Look, if you know, at an instant T, the position, shape, center of gravity and mass of an object, and if you know the position, direction and velocity of a force that you apply to it, you can compute
precisely what will happen to this object over time, right ?
Client-side prediction should work just that way. It doesn't -
it shouldn't - require any more parameters to be sent over the network.
Unfortunately many game physics involve randomness (which is something completely irrelevant in pure physics but very handy to simplify computations a lot), and this is why physical phenomenons differ between computers (i.e, you explode a barrel, and on some PC it would land somewhere, while on the other it would land elsewhere, given the exact same initial conditions). This is why randomness has to be synchronized between all clients. To do this, one very simple way is to send the server's random seed state over the network. Because "randomness" doesn't intrinsically exist in a PC. Randomness is in fact just a math suite, where the number to come is computed using the number that came out already. The random "seed" is just the current position on this suite, i.e this number. Not two PCs can output a different random result if they share the same random seed. This latter phrase look weird, but it makes sense