Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cheating
- To: crossfire (at) ifi.uio.no,
- Subject: Re: cheating
- From: Mark Wedel <>
- Date: Wed, 13 Apr 1994 20:51:34 -0700
Actually, if LOS is done on the server, the only thing that needs to be
transmitted as a player moves are the new spaces that become visible
(a row and column, and perhaps some other spaces), and what squares are
no longer visible.
If LOS is done on the client, information needs to be transmitted that may
not be used (ie, thigns around the corner, behind walls, etc).
Larger maps for clients: I think that would give such clients hugh
advantages. If the map was 20x20 (instead of 11x11), that is a lot more
information to be seen. Assuming it is in line of sight, you will no where
generators, monsters, etc are. With 11x11, sometimes you need to charge into
a group of monsters to see what is around.
That isn't to say I wouldn't mind the game display to be larger than
11x11. But it should be the same size for all clients.
Back some on pickup: Implementing it might be possible to do on the
client, but this means the clients needs to have more information.
In addition to the fairly straight forward pickup modes (0-5), there is
pick up all known magical and all gems/coins. Then there is pickup based
on value density.
There is no reason why the client could not know whether an item is magical,
its value, or if its a coin. However, that is more information that
gets sent down the wire. As for cheating, have some mechanism to
update the objects. So, you kill a bunch of monsters that have a bunch
of objects. Even if those objects are magical, the server does not tell
the client so until the client player casts detect magic. The server then
tells the client which of those items are magical.
The same could be true for value density. Default value is assumed, but
if identify is cast, then the server updates the value of the items
accordingly.
However, I do not know if this is any better than the client just sending
a request to the server of something like 'pickup (x) (y) mode (z)'.
This is because one reason that was suggested for client pickup was so
that new pickup modes could be added on the client side. However,
if the pickup is based on something that is not mentioned above (ie, magical
plus of weapons), then the server would just need to be changed to update
on the client side. So new pickup modes for the client could not easily be
made unless that pickup mode only uses data that is transmitted.
It might be a good idea to have the client state what level of detail
it wants. This, someone running on a slow link could have the client just
get the bare mininum number of objects (floor and top object), and any time
more detail is needed, it makes that request to the server (like, to see
what might be in a stack.) But clients on a fast link could specify a high
detail level, getting every object, plus value, magical, etc.
--Mark