[MUD-Dev] Re: Current Projects

Andrew Wilson andrew at aaaaaaaa.demon.co.uk
Wed Oct 14 04:25:56 New Zealand Daylight Time 1998


Alex Stewart:
> Well, after having just said that I don't have any topics to
> start, I'm going to go ahead and start one.. :)

> What are your current projects?  For those of us out here pushing
> the technological envelope (or just hacking around), what are we
> up to, anyway?
> In particular:
>  * What kind of software are you working on? (MUD driver, MUD client, etc?)

I'm working on a client.  TclTk based, works cross-platform.  In
one sense the project has become a testbed for weird ideas and
experiments with UI design, which is a lot of fun, but the constant
tweaking it's been subject to has also formed a stable and functional

It's not just UI stuff either.  The client is an early adopter of
the MCP/2.1 client-server protocol that some people in MOO land
are getting into.  So I get to play with MOO code too.  

>  * Why?

Seriously?  I find the level of personal satisfaction that I get
from projects like this to be high.  I've been lucky in work and
so I have time to spend concentrating on this sort of thing.  I've
been lucky enough to hang out with some smart people too and that's
helped the development process.  I think the field is underdeveloped,
at least in the public arena, though there are certainly some pretty
wild research projects around.

>  * What are its features?

Mmm, cross-platform support, very flexible UI, lots of scope for
funky tweaks.

>  * What does it do (will it do) differently than other things do?

Compared to other clients?  Well I'm only just got round to putting
ANSI colour into it.  Not because it's hard to do, but because
everyone else has already had a go.  I wasn't going to learn too
much by getting into ANSI early on, not when there were buddy lists,
whiteboards, desktop drag&drop, maps and a heap of other little
possibilities to explore.

>  * Any neat concepts involved?

Plugins.  You know what a plugin is, the concept is simple.  You
write a simple, efficient tool with a minimal API and then you let
other people play around with adding functionality in the form of
extra chunks of code that just, er plug in to the simple thing.
They get to play, you get a free ride and the core product doesn't
go to hell under the weight of a million bad hacks.

Well that's the plan anyway.  I've got a 1000 line API document
one week in-progress that is barely readable.  Everything has to
start somewhere...

What else?  Well this client-server protocol thing is cool.  The
very least it can do is allow you play boardgames with people.
Chess, Go, Ataxx, Othello, I've already got that sort of thing.
The Tk widget set is good for displaying game board and counters,
and the protocol lets you send the necessarily complex messages
between users without fear of messing things up.

If it were just a way to construct 1/2/multiplayer board games then
that would be enough, but wait, there's more (for only 19.99)!
MCP can let you think seriously about building something a bit
different to yer standard mud UI.  How about an ICQ lookalike?
Imagine lots of dialog boxes popping up for "you have mail", "page
user", "message of the day", "who's online" and all that stuff.

Well personally, I'd actually avoid using *that* sort of tool for
my own comms (Go on punk, steal my focus!).  But if you want to
experiment then just wire up your ICQ-lookalike plugin and off you

Oh, and it *looks* good.  It's a personal thing perhaps, but when
I want to mud I don't want to see FIXEDWIDTH FONT ALL CAPS LINE
WRAPPED AT CHARACTER 79.  I want to see a nice legible font, subtle
indentation of paragraphs, that sort of thing.  I want it to look
like a page on paperback book. IS THAT SO WRONG?!?

Hem... One experiment took this to its logical conclusion.  A
plugin that displayed the output on 2 adjacent pages of a 'book'.
Lines flowed from top to bottom on the left hand page and then
started writing out on the second page, so you read it like it was
a book in your hands.  You could flip backwards and forwards in
the book to read your scrollback.  If you flipped back a couple of
pages to read some stuff the book would keep writing, adding new
pages while people spoke.  If you flipped forward a few pages you
could catch up with them.

Of course the downside with using a A PERFECTLY ACCEPTABLE FONT
FOR HUMAN BEINGS is that a lot of existing tools look odd, columnar
WHO output for example.  Sure you can blow a month trying to get
real HTML-like table formatting on a Tk widget, or you can just
rewrite the output from your @who command to be formatted differently.
Output from my '@@who' command looks like this:

      0:22 Ben, Ann, Ivan, Kenny, Alex, Jay, Wayne, Matt, Zachary,
      Ken, Fasteddie, snooze, dave, and Networker
      Drema, Exedore, keith, and Kaya

>From this output I'm getting an indication of who's idle, names
are sorted on idle time.  I can see how idle each room is.  I only
care about people idle for less than 5 minutes, they get an idle-time
next to them.  I get to see where the people are hanging out, where
the party is at.  Some rooms, you see, can have different functions.

I guess most people were sleeping on that day...

Don't ask me about HTML.

>  * Any boring concepts being used in neat ways?

Um, triggers, highlighting.  You can rig it so that when the client
sees a URL or email address it'll turn it into a hyperlink.  Tk
knows enough about the underlying OS to let you be able to click
on the URL and start up a webbrowser pointing to that URL.

    You say, "So I get to see the following sort of thing every day..."
    Joe says, "Check out the DOW on http://dailynews.yahoo.com/headlines/bs/ 
	sure looks like a bad day for investing my millions."
    You say, "Gimme a sec..."
    [click on the URL, pop the browser, take a look...]
    You say, "Aaah, nasty.  Keep your money in Gold"
    Joe nods.

Hyperlinking is boring for sure, my webbrowser is *never* closed
these days.  Mmm, so if I can get the client to talk to it...

>  (you get the idea.. anything big I'm leaving out?)

Not as much as I left out.

>      Alex Stewart - riche at crl.com - Richelieu @ Diversity University MOO
>                          http://www.crl.com/~riche
>            "For the world is hollow, and I have touched the sky."


Andrew.Wilson at cm.cf.ac.uk http://www.cm.cf.ac.uk/User/Andrew.Wilson/
Voice/Fax: +44 (0) 1865 513 091

More information about the MUD-Dev mailing list