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: Lakin Wecker
Subject: Re: [Adonthell-devel] Ideas from yesterday's meeting
Date: Sun, 02 Dec 2001 14:19:14 -0700

> > 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.

Works for me. :)
Lakin



reply via email to

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