[MUD-Dev] Thoughts on a simplified multiplayer game.

J C Lawrence claw at kanga.nu
Fri May 23 01:02:01 CEST 2003

On Thu, 22 May 2003 17:20:28 -0400 
Edward Glowacki <glowack2 at msu.edu> wrote:
> J C Lawrence wrote:

>> While this is the common wisdom, its wearing thin.  There are several
>> useful levels above UDP's lack of guarantees, before reaching full
>> TCP behaviour which are useful.  For example a layer atop UDP which
>> guarantees order of delivery while not guaranteeing delivery can be
>> useful for delta/mark based update messages.
>> Have a look at ENet.

> But in a MUD scenario, with each packet as a command (per the original
> post), you need guaranteed delivery as well.  

Only for some things -- it depends what the messages in question are,
and thus what their requirements are.  For instance if you are using a
delta/mark based messaging layer for position and movement information,
in general you don't care about guaranteed delivery, but do care very
much about order of delivery and the rate and pattern of lost messages.

> You can't exactly have your "quaff healing potion" commands falling
> off the face of the earth...  

Quite, but I can tolerate having some of the, "rotate [x,y,z]" and,
"velocity [x/X,y/Y,z/Z]" messages lost (even if I can't have them

> I'll cede the point that there may be other options between UDP and
> TCP that might be viable for this particular application, but hold
> onto my suggestion of TCP for simplicity (i.e. it's ubiquitous, and
> doesn't require additional libraries to be installed or distributed
> with the client), since the original poster was big on simplicity.

If you have a client which needs installation, then (usually) bundling
another lib in the binary package is a minimal delta (no comments on DLL
hell please).  If you're distributing source balls, then the delta is
extremely small.

> Somewhere in there I think I lost track of what I was arguing
> about... =P Maybe it had something to do with being a text mud vs a
> graphical mud, doing one right vs. doing both poorly, and to be
> careful with how you ride the line down the middle...


I've not been assuming any particular sort of client- or interface type;
text, graphical, or other.

J C Lawrence                
---------(*)                Satan, oscillate my metallic sonatas. 
claw at kanga.nu               He lived as a devil, eh?		  
http://www.kanga.nu/~claw/  Evil is a name of a foeman, as I live.

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the mud-dev-archive mailing list