!! Distributed Object Views System
Summary
The DOVS system is a simple way to accomplish the task of organizing and determining how to send SOB (Simulation OBject) instances to the various clients. In the tech demo this system will be extremely simple. There are two core components to this system - the client object view and the server object view. They accomplish very specific and distinctly different tasks in DOVS. In this system each SOB that a client or server is aware of is linked to a DOV instance that belongs to it and only it. The DOV is a container that keeps track of what that sob knows about in the world.
Server Side Object View
This component is arguably the most important component in this system. The primary purpose of this object is to determine what SOBs the SOB it is linked to can see. It takes care of continuously checking for new SOBs that have entered the viewing range and removing old SOBs that are no longer in view of the SOB is it managing. In addition to this it takes care of notifying the client-side DOV using a CMsgSpawn and CMsgUnspawn message.
Client Side Object View
The client-side relies heavily on the server-side DOV to do the brunt of the work in determining who can be seen and messaging that information. What the client DOV does is take the CMsgSpawn and CMsgUnspawn messages and creates a server->local ID mapping. This is an important stepping stone to dynamic and global SOB IDs which is important for the networking infrastructure of the game.
-- Main.MattRaykowski - 17 Feb 2006