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



 writes:
 > --->[From Carl Edman]
> 

>     The client is only _required_ to keep the information on the
>     couple   dozen squares which are in current view (though good
>     clients will want   to keep more around as a form of automatic
>     map drawing).
> 

> This I disagree with. You can get HUGE piles of artifacts (10-30
> items deep) on each square.

Huge piles of artifacts in each square ?   What dungeon is that -- I  
think I'd like to visit it. :-)

> The client should only be required to know what is on "top".
> Otherwise, you add a whole lot of mostly useless information being
> transmitted across the wire, which will never be used.

Who says that that information is useless ?  Some clients may be able  
to show several (or even all) of those artifacts in one big heap.  In  
any case the amount of information transmitted is not "vast".  All you  
get are about 30 or 40 bytes for each item when you see it the first  
time (all of which will be in one TCP packet).  All that is not  
retransmitted every time you make a step or move somewhere else.  


Note that the ITEM command is also what tells you what you yourself  
(and others) are carrying and what is inside containers.

> If the player is _really_ interested in all the items on a square,
> the "EXAMINE" comand should be used on that square. (and after all,
> this is more realistic.. you should have to use a turn or
> two going through a large pile of stuff)

I disagree most strongly.  All latency is annoying to players but where  
latency when the player actually does something is bearable, latency  
for just looking at things is extremely frustrating.  By having all  
visible items known to the client and only having actual actions  
require a round-trip, you can avoid the later _and_ give clients  
greater freedom in how to design their user interfaces.

EXAMINE is a useful command, but its syntax should be 'EXAMINE <item  
tag>' and it should refer to the more careful and deliberate  
examination which can give you history or special magical bonuses.

>     Personally, I'd love to see as much as humanly feasible of these 

>     interface decisions to go into the client.  For example, a client
>     may   have several 'pickup' lists (some hardcoded, others added
>     by the user)   which cause it to e.g. automatically pick up (i.e.
>     send MOVE commands   for) anything called 'diamonds', 'rubies',
>     'pearls' and 'platinum   coins'.
> 

> This sounds quite good. But it still will have to send a "PICKUP"
> command to the server.

Well, that is what the MOVE command does (MOVE <item to be picked up  
tag> IN <viewpoint item tag>).

Note that this would not work if the client doesn't know all the items  
which are in every square as you suggested above.

	Carl Edman