mud toys

When I started playing at Argonne as a summer student, I was introduced to using a Mulit-User Dungeon as a collaborative tool. One summer I also decided to learn to do some mud programming, leading me down a path of creating object after object, some of which were actually fun. My experimentation peaked when we created the Forest mud and I was able to created whatever I wanted without fear of getting on the way of others. Here are some of the creations I have, uh, created.

MudSpeak

When I got a Mac laptop in the fall of 2002, I started to learn about the weird hidden-away command-line tools it had. One of the fun ones is osascript, a command-line gateway into MacOS's Applescript language. This lets you get to the speech engine, making it fairly trivial to write up a mud "client" that speaks what happens in a room. So that's what I did.

The script itself is written in Perl, and it just connects to a mud port using normal Perl networking bits. It uses its own character, so you'll need a spare character to actually interact with other people while listening to them. At the top is a voices hash that can be changed to match characters with voices on your particular mud and a substitutions hash that can be used to "fix" words (especially names) that the speech engine doesn't know how to pronounce correctly. You'll also have to change the character/password variables at the top and the mud connection string in the middle to connect to your particular mud. Once you do that, it's a piece of cake!

Neil

Sometime when I was an undergrad in college I ran across a program named gNiall, a GTK frontend to a clone of a program named Niall, a program that attempted to learn languages spoken to it. One day I wrote up my own Perl implementation of the same idea for use with instant messaging applications and the people at the lab loved it. Eventually I also wrote up a LambdaMOO version to live in our mud.

I wanted the mud-based Neil to be a first-class citizen of his world, so he needed a number of "features" that the IM-Neil didn't need. One of these is the ability to emote, which also serves the purpose of preventing Neil from always having the last word in a conversation. Our mud had a long list of antisocial verbs already defined, so I just gave Neil the ability to perform some of them.

Neil also needed to act like other people on the mud. When characters unidle, other people like to wave to them; when people ask a question like "Who did that?", other people like to null-emote as if to raise their hand; etc. The mud-Neil got these same abilities added so that he too can look like a real boy.