client based physics&server based physics

What would happen if you would pass around some barrels and they blew up, would that kill you ?
 
poseyjmac said:
yes but those are simple calculations, the bullet or grenade ITSELF doesn't use all the variables of the havok physics engine. bullet goes in a straight line(or if modded has slight drop over time), if something is in the way, it hits it.
I agree with the bullets not using havok, but i'm not so sure about the grenades.
I think they may be simulated using havok, since they can be effected by havok objects, and can effect havok objects.
 
Adrien C said:
What would happen if you would pass around some barrels and they blew up, would that kill you ?
If they were server-side (and they would be), and exploded close enough to you then yes, you would die.
 
SLH said:
I agree with the bullets not using havok, but i'm not so sure about the grenades.
I think they may be simulated using havok, since they can be effected by havok objects, and can effect havok objects.

thats a good point i forgot about, in CS:S its possible they could have the grenades be effected by havok physics instead of the generic way its done in CS, which would be very neato. maybe ill email valve about that
 
when the grenade landed in the E32004 video it bounced and rolled around, so i dont see why not.
 
Further to this, in one of the gamespot vids a corpse flew through the air after a grenade explosion. I wonder how this body would react if it flew into barrels and such. Would it clip straight through it, or hit it and not affect the barrel? I guess it must do one or the other if their purely client side.

I can imagine it looking a little odd having a barrel that topples over when a player brushes past it, but stopping a body going at mach 10 without moving at all.

Plus it might be a little unfair in competion games, if a body flys towards you on your client obscuring your view for a second or two. However the enemy has a clear shot at you because on their client the ragdoll went in a completly different direction. Rare maybe, but i can see people moaning about that.
 
Bottom line: the physics engine isn't deterministic, meaning two different computers (or two different events on the same computer) simulating a physical situation with exactly the same starting conditions, may make slightly different calculations, resulting in different things happening. That's why there's a difference between server side and client side physics.

With server side physics, the physics calculations are done on the server machine, and the position and current movement of the object is sent constantly to all the client machines. Client side physics, on the other hand, are calculated on the client machines, meaning no positions are sent (saving bandwidth), but the reason gameplay-important objects can't be calculated this way is that, because the physics engine isn't deterministic, each client computer may calculate the movement differently, which would cause problems. For example: you might be shooting at someone and expecting to be hitting them, but on their computer (not yours) they are actually behind a barrel. Obviously that doesn't work out, which is why server side physics is used for those sorts of things.
 
well, we know that ragdoll corpses can properly interact with physics objects such as barrells because of the plinko room demo in e3:2003, which means that the ragdoll CAN BE server-side. will they give us some variables to determine whether its possible in CS:S is the question.
 
Logic said:
Bottom line: the physics engine isn't deterministic, meaning two different computers (or two different events on the same computer) simulating a physical situation with exactly the same starting conditions, may make slightly different calculations, resulting in different things happening. That's why there's a difference between server side and client side physics.

With server side physics, the physics calculations are done on the server machine, and the position and current movement of the object is sent constantly to all the client machines. Client side physics, on the other hand, are calculated on the client machines, meaning no positions are sent (saving bandwidth), but the reason gameplay-important objects can't be calculated this way is that, because the physics engine isn't deterministic, each client computer may calculate the movement differently, which would cause problems. For example: you might be shooting at someone and expecting to be hitting them, but on their computer (not yours) they are actually behind a barrel. Obviously that doesn't work out, which is why server side physics is used for those sorts of things.


Yup and you can get away with that for small fluff items like rubble and coke cans popping out of a drinks dispenser (ala bink movies). But if the ragdolls are client side, and tbh i think they will be due to the large bandwidth required to sync all the clients if they were server side. I think large player models being thrown around and having no effect on the world will look a little wierd, and with CS being so competive I can see the moans "waaah that corpse blocked my view of you on my client, no fair!!" being used.
 
poseyjmac said:
well, we know that ragdoll corpses can properly interact with physics objects such as barrells because of the plinko room demo in e3:2003, which means that the ragdoll CAN BE server-side. will they give us some variables to determine whether its possible in CS:S is the question.
That has nothing to do with server or client side... of course you're still going to get that, even if it's client-side. The objects that are server-side that it comes in contact with won't be doing any moving around, though.
 
Letters said:
That has nothing to do with server or client side... of course you're still going to get that, even if it's client-side. The objects that are server-side that it comes in contact with won't be doing any moving around, though.

no, a ragdoll corpse that interacts with another physics object HAS to be server side. if its client side, then which clients body placement will affect the barrel?
 
I'm curious, how can the physics be non-deterministic? Are there random variables involved or something?
 
poseyjmac said:
no, a ragdoll corpse that interacts with another physics object HAS to be server side. if its client side, then which clients body placement will affect the barrel?
Server-side just means that the server is telling your computer where things are... they aren't completely disregarded by your client-side stuff...

And I said the server-side object wouldn't be affected...
 
Client-side objects are effected by server-side objects.
Server-side objects are effected by other server-side objects.
Client-side objects are effected by other client-side objects (from the same client)
Server-Side objects are NOT effected by client-side objects.
 
Lanthanide said:
I'm curious, how can the physics be non-deterministic? Are there random variables involved or something?
Non-deterministic simply means that it's not the same on each computer. This could be because of random variables (unlikely that havok has random stuff in physics, probably pseudo-random), or because the position of objects depends on how frequently the physics calculations are done.

Fast computer = lots of calculations = accurate physics.
 
Letters said:
Haha, that should clear it up, SLH. :)
Yeah, this thread shouldn't really be this long. I thought my longish post earlier would've stopped confusion, but i guess not.
 
poseyjmac said:
well, we know that ragdoll corpses can properly interact with physics objects such as barrells because of the plinko room demo in e3:2003, which means that the ragdoll CAN BE server-side. will they give us some variables to determine whether its possible in CS:S is the question.
All the stuff from the e3 demos are single player... there's no server side in single player, everything's calculated on the player's computer.

But it is true that ragdolls CAN be server side.. anything can be server side. They just won't be in CS: source (or any current multiplayer) in order to save bandwidth. Trust me, most people would rather have client side ragdolls that don't interact properly with crates\barrels than a nearly unplayable game due to lag. It'd be easy enough for them to add server side ragdolls as an option when creating a server, so that they can be used in a LAN situation where bandwidth isn't much of an issue.

Oh and Lanthanide, I'm pretty sure the physics are non-deterministic because there are a lot of corners cut... in order to cut down CPU usage enough for it to be playable, calculations probably aren't made as often as they should be, depending on current CPU usage. If the main CPU loop waited for the physics to be accurately calculated, the game would run slower when there are more calculations to be made. That's bad enough in single player (everything going "slow-mo" because you've knocked a bunch of things over), but when playing online, it's imperative that the game consistantly runs in real-time, otherwise you'll be out of sync with everyone else. There's presumably a lot of approximation and rounding off in order to keep things running smoothly, so the exact same situation may play out differently depending on the CPU speed and usage at the time.
 
Logic said:
All the stuff from the e3 demos are single player... there's no server side in single player, everything's calculated on the player's computer.

.

if you know about the leak you know that the e3 demo has MP component, if another client connected he could see the player doing the physics stuff. so even though its SP its still server side.
 
poseyjmac said:
if you know about the leak you know that the e3 demo has MP component, if another client connected he could see the player doing the physics stuff. so even though its SP its still server side.
Even if you're on a single player map in that case, it's still multiplayer. What I meant was that the stuff in the e3 demos wasn't multiplayer. There was only one person playing.

Anyway, I didn't know that about the leak, but surely that doesn't demonstrate anything about the final game. All that would suggest to me is that the multiplayer in the leak hasn't been set up the way it will be in the final game (in the sense that all the physics default to server side) which is either a result of loading maps that aren't intended for multiplayer, or just the early state of the code.
 
ok, so completely server side physics in pultiplayer games are not currently possible due to bandwith restrictions.

but, why wouldn't the physics in single player all interact with each other? (i.e. a ragdoll hits a barrel at mach 10 and it will move)
 
Headcrab Cakes said:
ok, so completely server side physics in pultiplayer games are not currently possible due to bandwith restrictions.

but, why wouldn't the physics in single player all interact with each other? (i.e. a ragdoll hits a barrel at mach 10 and it will move)
In single player, they will.
 
Logic said:
Even if you're on a single player map in that case, it's still multiplayer. What I meant was that the stuff in the e3 demos wasn't multiplayer. There was only one person playing.

Anyway, I didn't know that about the leak, but surely that doesn't demonstrate anything about the final game. All that would suggest to me is that the multiplayer in the leak hasn't been set up the way it will be in the final game (in the sense that all the physics default to server side) which is either a result of loading maps that aren't intended for multiplayer, or just the early state of the code.

you miss the point. the point is, its possible for it to be entirely serverside in MP
 
poseyjmac said:
you miss the point. the point is, its possible for it to be entirely serverside in MP
He said that in post #58.

p.s. A good way to think about SP is that all physics is server-side since the one computer player is (could be thought of as) the server. Indeed in many games the SP is done still using a server type system (not sure about source though).
 
SLH said:
He said that in post #58.

p.s. A good way to think about SP is that all physics is server-side since the one computer player is (could be thought of as) the server. Indeed in many games the SP is done still using a server type system (not sure about source though).

who thought that anything in SP was clientside?
 
poseyjmac said:
who thought that anything in SP was clientside?
It's not really either, but all physics behaves as though it's server-side. :)
 
poseyjmac said:
who said otherwise?
Nobody needs to have said otherwise in order for something to be worth saying. He's just helping clarify it for anyone who may not understand, as there was some confusion earlier. Don't worry about it, if you understand then it's all good :thumbs:
 
sorry guys, i was confused when i last posted, which confused the rest of you, but thanks for clearifying :thumbs:
 
Breyah

If i am playing SP will a deadbody interact with another dead body( not go through each other?)
 
barnacle said:
If i am playing SP will a deadbody interact with another dead body( not go through each other?)
Yes, they'll interact.
 
Logic said:
Nobody needs to have said otherwise in order for something to be worth saying. He's just helping clarify it for anyone who may not understand, as there was some confusion earlier. Don't worry about it, if you understand then it's all good :thumbs:

ok and remember that shoes are made for walking in
 
poseyjmac said:
ok and remember that shoes are made for walking in
Well that's very interesting, because I am, in fact, made entirely of wood. :cheers:
 
Back
Top