[pythian] Re: CODE - Network

  • From: "Steven Soroka" <ssoroka@xxxxxxxxxx>
  • To: <pythian@xxxxxxxxxxxxx>
  • Date: Mon, 29 Jul 2002 09:50:42 -0500

> All client critical information (not-stored) must be still
> handled on the
> server side. Thus, state machine is the way to handle
> movement. User presses
> mouse button and client sends a "I'm moving forward now".
> Server gets the
> mesg, then responsds with, your position is now x,y,z. Now then, this
> movement only has to be sent out about 5-10 times per second,
> because you
> can use interpolation to guess where you are going to be on
> the next packet
> and animate smoothly. This is the exact method that games
> like QII and CS
> use. Additionally, you can keep track of the player state (is
> the player
> involved in combat, and for a short period after you can send
> faster updates
> to keep the battle more precise).

That sounds odd.  Why wouldn't the user process the movement, and send it to
the server to check for validity? the server doesn't need to control the
users movement, only ensure that he's not warping around the planet.  If his
movements are within his speed constraints, the server should bow out and
let the client handle it.

Some things the server should control, some things it should just do
reasonable tests on to ensure nobody's cheating.

> In any situation that is critical, the server is the trusted
> authority. This
> means some people will have skewed realities, but that's life
> until someone
> makes a better internet. This happens all the time in CS when
> you swear you
> buried a clip of ammo into someone then you die and they
> still have 75% of
> their health. It can never be perfect, but it can be very close.

Yeah, that's lame. If that happens to me, I stop playing pretty quick.  I
wouldn't consider that playable, and just chalk it up to "that's life". I'd
shut it off.



Other related posts: