Net protocols for MUDing

s001gmu at nova.wright.edu s001gmu at nova.wright.edu
Tue Feb 24 09:54:07 CET 1998


On Tue, 24 Feb 1998, Chris Gray wrote:

> [Chris L:]
> 
> :The key feature of TCP which I'd remove would be the error correction. 
> :Given a predictive client its both unecessary and counter-productive.
> 
> Only to a certain extent. Sure, you can probably cruise over a bit of lost
> data in graphics or audio output. Missing some text from the middle of
> a paragraph could be a bit shocking to the average user, however. Also,
> the channel back from the client to the server should not lose any of
> the user's input. What you want is the ability to be sure that if a
> message arrives, then it is the complete message that was sent, not some
> fragment of one. You will also want to do your own checks on any header
> of the message, since UDP doesn't even guarantee correctness. (It typically
> is correct over ethernet, because of the way ethernet works, but it isn't
> over SLIP, for example, which is one reason why you shouldn't run NFS
> over a SLIP link.)
> 
> If the system gets a bit smarter, with some caching in the client, then
> some sort of reliable protocol will be needed, both ways, to co-ordinate
> that cache.

It occurs to me that if you tie together the idea of using UDP connections
with the proposed mud markup language in another thread (<SMELL1> ...
</SMELL1>, etc), you could easily chop the paragraph into Data Packets,
based on the already defined sections of the paragraph.  As long as each
complete section is recieved before the player sees any of it, it should
look reasonably acceptable to a player.  If one or two sections come in a
little later, *shrug*, no biggie.  The client will just add that layer of
resolution as it becomes available.  I'm reminded of the way some pictures
on the web load, by first drawing large blocks and then redrawing with
smaller and smaller blocks until individual pixels are drawn.  Maybe a
more appropriate analogy would be the original King's Quest, where it
would draw in pieces of the image until the whole scene was drawn.

-Greg




More information about the mud-dev-archive mailing list