Multiplay for HL2 Q/A


May 15, 2003
Reaction score

The physics in the single player part (judging from the movies from E3) look absolutely fantastic, but how will physics work in multiplayer? Won't there be a problem with sending all the physics information packets to all the players? Are you perhaps scaling the physics engine down for multiplayer?

"Well, the simple answer is that there are client-side and server-side physics behaviors. You use client-side when maintaining cross-client coherence isn't important. This cuts down network traffice while maintaining the appearance of physical simulation throughout the world.

Yahn, anything you'd elaborate on?"

Yahn (follow up on Gabe's question)
"No, that's basically correct."

Me (asking for clarification)
"So basically what you are saying is that the physics appear to the player just like they do in the single player game without scaling it down, but objects that aren't required to have a correct placement in the world (like soda cans, small rocks, and so on) will be handled client-side, but bigger things (like a crate that's thrown on a player with the gravity gun, or a mattress falling down to block a hole in the
ground) will appear in the correct spot for all players?"

"Yes, it's definable per-object, so exactly what's client vs. server simulated is tunable."
It means (I think) that some items will be done client side and some server side, so what you see may not be exactly what someone else sees (in terms of small, unimportant things like soda cans etc).
For example - if you shoot a can, it will fall and do its physics stuff on our comp only. No-one else will see the physics pattern what you saw (unless they can see the can aswell [thats my theory]). If you shot out a big crate or some windows, then all players on the server would see that change, regardless of their position on the map
I think murray has a point there + ofcourse what you see isnt what the game tells the server etc...if you see a can fly causs you shot it it will send the server the object id for the can and the path its taking if some1 else sees the can fly otherwise it will just send the new location of the can..or something like that :eek: