Chucho MUD
v.0.1.1

INTRO
-----

Chucho MUD is my foray into Game programmaing and Ruby. The basis for my MUD
came from Ron Penton's "MUD Game Programming" book (ISBN 1592000908).

My main goal is to create a flexible, extensible Ruby-based MUD that is easy to
use and adapt to any genre. I endeavored to separate engine code from game
logic using the "logic module" system. Take a look in "logics"
directory for examples of these modules. I've also started using
Meta-Programming to create an intuitive domain-specific language (in this case
the domain is MUDs!) to relieve content developers from as many "programming"
tasks as possible.

All that being said, Chucho MUD is definitely a Work In Progress. See the TODO
for more details.

REQUIREMENTS
------------
Ruby 1.8.2

FEATURES
--------
Lots!

USAGE
-----
To start Chucho MUD:

    ruby chucho_mud.rb

To stop Chucho MUD:

    Ctrl+C

To enter Chucho MUD:

    telnet <host> 4000

Some intialization occurs, so be patient. You will be prompted to create an
account if you haven't already. After creating an account, you can create a
character, then enter the game.

Once you are logged in, use the command "help" to get a list of commands. You
can change you rank to 2 for more commands.

Info gets written to STDOUT and the logs directory. 

KNOWN ISSUES
------------
* Passwords are not encrypted!
* I'm sort of brute force loading stuff, so you'll see lots of warnings. Bear
    with me.
* Combat is not yet impleneted.
* chucho mud isn't really "configurable" yet -- it just runs on port 4000 --
    change chucho_mud.rb if you wish

FAQ
---
Q. How you pronounce "Chucho MUD"?
A. It's "chew-cho" and "mud" (mud is just dumb backwards).
 
Q. Why "Chucho MUD"?
A. Because I'm Mr. Chucho. Right.

Q. This whole thing is sort of weird. What's the deal?
A. To be honest: I've only ever played one MUD... I'm more interested in game
design in general. Plus also: RUBY!  

Q. What about OLC and stuff?
A. Change your "rank" to 2 and some admin commands appear. Your character is
stored in a YAML file under "data/players". Also, it's not quite OLC, but a cool
trick is to load up 'irb'... Do $game = Game.new and you've basically got the
whole MUD loaded in the Ruby interpreter!

ACKNOWLDEGEMENTS
----------------
Around the time I started work on Chucho MUD, Teensy MUD (another Ruby MUD)
appeared. It's a great MUD, full of great ideas. Seeing as Teensy MUD's creator
is *much* more adept at writing networking code than me, I incorporated the
entire networking "core" into my application (see /vendor/teensymud). I also
borrowed the idea of using YAML to store game objects. Brilliant!

Teensy MUD - http://sourcery.dyndns.org/teensymud/index.html

CONTACT
-------
http://www.mrchucho.net/index.php/projects/chuchomud

- or -

mrchucho @ mrchucho . net
