adonthell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Adonthell-devel] Ideas from yesterday's meeting


From: Kai Sterker
Subject: Re: [Adonthell-devel] Ideas from yesterday's meeting
Date: Sun, 02 Dec 2001 21:16:05 +0100 (CET)

On Sun, 02 Dec 2001 11:58:09 -0700 Lakin Wecker wrote

> The server maitains the game world as a whole, which includes avatar 
> positions, state of a door(open/closed/jammedshut/broken/etc.), and 
> everything else.  The client maintains it's local game_state which is in 
> effect a copy of the servers's game_world.   

I guess everything depends on the representation of the world and the
local game state, doesn't it?

Assuming that we continue with the current layout we'd have the following:
* The world is split into different maps.
* Each map itself is split into different submaps.

A submap is the smallest unit the renderer can handle without modifying
the existing code. It should be reasonably small to allow the client to 
know everything what happens on the submap.

That is, if a door on a submap is opened, the server can propagate this
event to all clients that display that submap. However, if a client
"enters" this submap, it wouldn't be hard to send the complete state of 
this small area once, and after that only update if a change occurs.

At the same time, the client could drop all state information of any other
submaps, as it's a) possibly invalid by now and b) will be updated once
that submap is entered again.

To give you an idea, the size of the current map, which consists of about
15 submaps is 4313 bytes. That contains all objects on the map and all
character positions.


That way you wouldn't need to know for each object which client has an
up-to-date state of it, only for each submap, which is less work, I'd say.
Espacially if we have many objects on the map that can change their state.

It also gets rid of the problem that the client displays wrong
information, because his cache is not up-to-date. The client practically
had no cache ;). Still, as I said, by keeping the submaps small, changes
should still be pretty smooth.

Kai





reply via email to

[Prev in Thread] Current Thread [Next in Thread]