[MUD-Dev] Re: Graphic design, client questions

Thinus Barnard thinus_barnard at bigfoot.com
Fri Dec 18 11:04:00 CET 1998


Caliban Tiresias Darklock wrote:

> A published protocol spec can change that; people who want a client for the
> Foo platform just need someone to write one. If the protocol is text-based,
> such a client can be scripted almost trivially using your protocol
> description.

I like this. Then someone can even build a java app on it if they feel like it.
I take it the script will be something like this:
s1,s2,s3,s2;o1,o2;s1,s2,s3,s4;o6;
s1 tells the client what picture to display for the floor, s2 for the left wall,
s3 for the roof and s2 for the right wall. The room description is terminated
with the ';'. Then o1 and o2 tells the client which object pictures to display
and is terminated with the ';'. Then the next room is described if the player
has a lookahead to the next room. This is very simplified as I will need to send
names of objects and also extra commands defined but I really like the idea.

As for text mode I see a few problems.
1. I can send the text description of the room and append the string needed for
the graphics protocol. This seems like a waste if the player has got the
graphics. Instead of sending 1 line of text for the graphics protocol I now have
to send 5 lines of description plus the 1 line for the graphics.

2. Text/Graphics mode. Define two methods for displaying messages to the player.
One method sends just text and the other sends just the graphics. Maybe define 2
different player objects, one that handles graphics and one that handles text.
When the mode is switched the old object is copied to the new one and the old
one destroyed, otherwise you will have to check everytime a message is sent
whether the player is in text or graphics mode. A problem when the player is in
graphics mode and a picture is not available.

3. Always run in graphics mode. When the client cannot find a picture request
the text from the server.

A combination of 2 and 3 is probably the best way to go.

As for a fixed command set:
Caliban Tiresias Darklock wrote:

> >The client can force the user to only enter valid commands.
>
> MUD and client versions would have to match... exactly. BAD idea.

Not true. The server can tell the client what commands are available. The
standard command set can be imbedded into the standard graphics resource. When a
player enters a room the server tells the client what extra commands are
available. When the player exits the room the client can remove the commands
again. At least you can do some checking on the client and don't have to send
everything to the server. You will need a very flexible client to really get
good results through scripting. The client will have to display an inventory,
display a body graph with the inventory for using items, define some buttons on
the main form to easily get to the inventory, skills, spells, combat options,
etc. Should be an interesting scripting challenge.

Looking at the above I realize that you can implement a graphical inventory in a
client without needing any specific scripting from the server. The client can
just check for any get/take/give/drop/use type commands and update the
inventory. The client can assign default images for the items in the inventory
and allow the user to associate the items with different pictures if desired.
Has anybody done this?






More information about the mud-dev-archive mailing list