Next Previous Contents

4. Client Server Data Flow

There are four major sub-components. The Game Subsystem (QGS) and the the server side client system are both run by the server process. The client side prediction (CSP) and the refresh subsystem are both run by the client. There are four different loops, one in each subsystem, which respond to events and changes.

We will mostly ignore the refresh subsystem and loop run by the client process for this discussion, as it simply samples the client side image of the world state.

There are four different images of the world state:

4.1 The Server Loop

The QSP process ticks away at 10Hz, at each Game Tick calling the Game Subsystem. The Game Subsystem updates the master copy or master image of the world state, in full detail.

This master image is exposed to the server process to a limited extend (see DLL documentation). The following data is seen by the server: NOT DONE.

Theoretically the server would just tick away and send ??? updates at 10Hz, in the absence of any client responses (see timeouts???).

The overall game loop, server side, should look like this:

The server side client system is driven by network packets indicating that the client executed its CSP. The server tries to saty in sync with the way the client processes user inputs as much as possible, to minimize the artifacts resulting from POV snapping.
Next Previous Contents