Analytical Perspectives in Game Design
|
The lock processor is a piece of software that is used to ensure the integrity of the data, as recorded in the game core. This integrity is maintained by only allowing one client or agent to modify the data at any point in time. A lock processor can exist in both the client and server. In this case the server acts as a master lock unit. It must always exist. For performance reasons a client lock processor can also be used to allow locks requests to be sent directly between clients. The following diagram shows the flow of objects across the system then the top-most client wants to modify a data item in the game database. The local database generates a lock request and sends this to the lock processor. The lock processor generates a notification that the lock is allowed and sends this to the login processor. The login processor then sends the notification to all the clients currently logged in starting with the original requestor. The following example is for a distributed lock processor. In this case each client has a client version of the lock processor and login processor. In this case the client sending the request knows of 2 of the three other clients currently on the network. It send the lock request directly to the clients and to the login processor. The login processor has the master login list and hence only sends the notification to the clients not in the list of recipients from the original client. This process, while much more complex is actually faster in notifying other clients of the lock condition. The lock processor consists of the following components.
The lock processor has the following interface capabilities:
The lock processor has the following API:
|
22/11/99
|
See also: [Role
Playing Games] [Game Engine] |