Way way back when, after my first CS class (101, C++ programming), I
thought I'd make a mud.  I literally spent months (of free time, not
solid, I was in school after all ;) creating underlying structures,
and a few bizzare little maps.
1) Writing a MUD is harder than writing a web app (even a really
complicated one), harder then writing a _good_ http server, possibly
harder then writing a simple database.
2) See #1, it really ain't easy.
</rant>
3) Multi-threadding won't get you much other than overhead.  Use a
ready-made library for handling events, or slice up time and handle
the action in a frame by frame way: Make an event loop, check for
input, process all the events, etc.  The clients that are connected
will happily wait (and not even notice), that your program was waiting
on processing the input.

And good luck :) it's a fun project!
--Kyle

On Jan 22, 2008 8:36 PM, Bill Kelly <billk / cts.com> wrote:
>
> From: "Sean Dolbec" <helbuns / gmail.com>
>
> >
> > Hello i was recently introduced to ruby out of desire to make a mud and
> > to teach others how to while i learn.
> > http://helbuns.dvrdns.org/MUD/MUD.html i have understood enough to make
> > areas but i do not understand multithreading to make good combat. im
> > looking for a good mud guide, whys' and pragmatic where aliitle rough
> > since i only want a mud. anyway anyone who could help i would really
> > appreciate it, please email me at helbuns / gmail.com.
>
> Keep in mind, that if you are writing the MUD from scratch, even though
> you "only want a mud" they are complex enough that you'll have to learn
> a lot about programming in general before you're through.  In other words,
> what I mean is, the statement, "whys' and pragmatic where aliitle rough
> since i only want a mud" doesn't really make sense in the long run.
>
> Anyway, I'd recommend looking into EventMachine[1] to handle the network
> code.  You can avoid multithreading that way (and likely get a performance
> boost as a bonus.)
>
> [1] https://rubyforge.org/projects/eventmachine/
>
>
> Regards,
>
> Bill
>
>
>
>