Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cheating & LOS
- To: crossfire (at) ifi.uio.no (Crossfire Mailing List)
- Subject: Re: cheating & LOS
- From: Philip Brown <>
- Date: Fri, 15 Apr 1994 14:55:46 -0700 (PDT)
- In-Reply-To: <> from "Carl Edman" at Apr 15, 94 01:32:07 pm
>>>>[From Carl Edman]
The client/server protocol does not have "rounds".
Yes it does. See below
Yes, the server has
to keep LOS maps, both for computational efficiency and for the sake of
the protocol. Whenever an item moves or changes, the server goes
through the list of the LOS maps for all players and immediately sends
ITEM commands to all the players for whom the item is in the LOS.
Absolutely positively not.
The protocol itself does not have an explicit notion of rounds, but
that's because it's underlying purpose is to best handle rounds.
The whole model for crossfire REQUIRES syncroynous rounds, across
player/monster movement.
At each round, the server goes through each player's 11x11 map, and sends
everything relevant.
A player move takes (usually) one or more number of rounds. But so does
standing still for some amount of time.
The only reason the protocol has support for partial uploading of a 11x11
map to a client, is simply because it's more efficient that way, not
because we want asynchronous updates.
When a player moves (or an item with effect on LOS is destroyed or
created inside the players LOS) a new LOS map is created for the
player. Then the server compares the old and the new LOS maps and
sends a single MAP command for all the squares in the new LOS and not
in the old and a single UNMAP for all the squares in the old LOS but
not in the new. Then the old LOS map is discarded.
True enough.
That is the entire display code in a nutshell. There are no
"updates". There are no "rounds". Everything happens instantly.
Not true.