Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A quick draft of a preliminary proposal for a possible version of the crossfire protocol
- To: crossfire (at) ifi.uio.no
- Subject: Re: A quick draft of a preliminary proposal for a possible version of the crossfire protocol
- From: Jason Fosback <>
- Date: Wed, 13 Apr 94 12:01:36 -0700
All this talk of transmitting pixmaps and maps and items and ... is all
well and good, but I'd also like to consider the possibility of having a
"smart" client. A client that has its own pixmaps (or tiffs, or picts, or
.bmp's) could just receive placement of an item, and the client could
display it. This raises at least two issues, one good, one bad.
The client could display a native image, with whatever resolution and
color depth they wanted. This allows for some REALLY nice client
implementations that take full advantage of the native client environment.
The disadvantage is in getting updated pixmaps. If a pixmap changes or a
new one is added, it has to be transmitted and translated into some sort
of displayable format on the client. This isn't too difficult, but it
would just look funky on the client side (e.g., a jaggy, scaled black and
white pixmap on a 24-bit color machine). Of course, the client could
implement a "default" pixmap that could be displayed for different
archtypes.
I would advocate that the protocol should definitely be a
transmit-on-request protocol; the server should assume that the client
"knows" about everthing, unless the client says otherwise. This allows
for a virtually unlimited client that could maximize the native
environment (YES!) and use only the barest resources of the server.
LOS, as well as other compute-intensive operations, could be computed on
the client, unless the client says "no, I can't compute this". This would
allow the server to be just a glorified event-processor that maintains a
matrix of items and movements. Then, all that's transmitted to the client
is the barest of information in order to represent the state of the
current map.
The worries about cheating, I think, are unfounded. It would be easy to
cheat, no matter how you implement the client/server architecture. Carl
has already mentioned the possibility of "robot" clients that cruise
around picking things up. Your average user wouldn't be able to do this
type of thing, and probably wouldn't care to. Only a handful of hackers
(like all of you) would be able to. However, anyone that actually writes
code for Crossfire should be smart enough to cheat, regardless of what
restrictions we put in :) So, we shouldn't limit the possibilities of
things like LOS computation.
-jason
____________________________________________________________
Jason Fosback, Systems Engineer | No sir, I didn't like it
--- Paradigm Systems Corp --- | -R&S
Internet: | Star Trek:
NeXT mail: | The NeXT Generation...