Unusual client features and you

Started by CodeMaster, September 13, 2016, 11:34:47 PM

Even back in 1994 there were dozens of clients available to the average MUD player .  It's a testament to how popular MUDs were back then, relatively and absolutely, even though most of the clients you see on that list probably don't work anymore.

More importantly, that huge list also points to how easy it is for one programmer (or a small team) to write a complete client him/herself.  I'd wager that, just like the games they were designed to connect to, most MUD clients have been written by students, hobbyists, and part-timers to cut their teeth on sockets programming before moving onto slightly more challenging MUD client staples like aliases, logging, color support, triggers.  Unsurprisingly, if you do some digging you'll find some MUD clients out there with highly idiosyncratic features and UI choices, written very much to the taste of their authors.

This thread is for tallying unusual/weird/awesome MUD client features, both good and bad, and how they mesh with your play in general.  I'll kick things off with a couple I found neat.




The Potato client has two input areas (how weird is that?):


The idea being that if you're typing something lengthy in one input area and need to reply quickly or perform another one-off, you can just switch input windows and then pick up where you left off.




The Portal client has all sorts of weird features.  It's skinnable, has a one-touch "boss" button to make the client look like a clock, and has an integrated music player (!).  By far its most charming feature, though, is the "instant graph paper" feature that will send graph paper to your printer in a pinch:

The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

September 14, 2016, 08:43:28 AM #1 Last Edit: September 14, 2016, 08:53:41 AM by Lizzie
Just as a reminder - a central reason for mud clients to be so prolific in 1994, was that most people didn't have internet access in 1994. CERN had JUST recently released the WWW to the masses the year before and it still hadn't yet caught on; most access was from Europeans. The first web client - Mosaic - still didn't come automatically with computers yet. Graphical internet games weren't popular yet, because they didn't exist yet. Simutronics games were still only available on GEnie, Prodigy, CompuServe, and AOL. GemStoneIII didn't "go internet" until 1997 and even then, was only accessible with its own proprietary client, the Wizard.

ZMud existed in 1994 but was not well-known but to a handful of coders. MUSHclient v.2 wasn't released til some time after Win95 was released. MUSHclient v.1 and its extensions was built primarily for Nick Gammon's own use, to play MUDs on.

What I liked about ZMud was the split screen and tab-able text editor. I was a builder for almost the entire time I used ZMud though, several years. Most of it was with MOO, some with LP and a smattering of DIKU. Building with MOO using ZMud was almost seamless. Our GM required that all builders make each room unique, with a minimum of 3 "interactable" items in each room. I was able to tab to the text editor, write a room, items, the interaction code for each item, all the flags, everything - paste it into the new room, then alt-tab back to the editor, make a couple of changes (instead of "to the west, lies blah blah" it would be "far to the west, lies blah blah" and "the skies darken overhead from the swell of foliage" it would be "the skies are black from the overhead swell of foliage" and so forth), and press a single button to plug the whole thing into the next room.

Plus while I was building, I had the "live game" going in the split screen. I could be monitoring roleplay in one section of the game world while building a character's new house at the same time, and not need to have two clients open for it.

I totally loved that feature.
Talia said: Notice to all: Do not mess with Lizzie's GDB. She will cut you.
Delirium said: Notice to all: do not mess with Lizzie's soap. She will cut you.

Quote from: Lizzie on September 14, 2016, 08:43:28 AM
What I liked about ZMud was the split screen and tab-able text editor.
<snip>
Plus while I was building, I had the "live game" going in the split screen. I could be monitoring roleplay in one section of the game world while building a character's new house at the same time, and not need to have two clients open for it.

I totally loved that feature.

I remember zmud's integrated text editor back when I was using 4.62 (can't believe I remember the version number).  Here's what it looks like for anyone curious:


and I remember you could use those buttons at the top to dump the text straight to the game, which was a great feature.

By split-screen, are you referring to the horizontal split that occurs when you're scrolling?  zmud was the first program I ran into with this, but I know most MUD clients have this feature now (i.e., when you scroll up, the window splits in two so you can see 'live' text while reviewing the log).  I think this is mudlet with that feature in action:


I can't verify but I think this split-screen scrolling is an innovation that came from MUD clients.  I can't tell you how often I've wished for it in a regular terminal emulator or a program like GNU screen whose scrollback interface is pretty sad by comparison.
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

If you look through the documentation for tinyfugue, you'll see a flag called bamf.  This toggles tinyfugue's support for an outmoded feature called a "cyberportal".


I've never seen one of these in action, but Cyberportals can be summed up as automatic client redirection to another game, managed by the MUD client.  A client supporting this feature would trigger on a message like this:


#### Please reconnect to MudName@1.2.3.4 (host.name.if.known) port 6565 ####


and immediately reconnect you to another game, possibly going so far as to log you in (ideally, the client would gag the markup and you wouldn't even notice it happening).

From my reading, it was only TinyMUD and UnterMUD that supported "cyberportals".  But apparently, at one point in time (~1992), "most clients" supported this feature (e.g., (tinytalk, tinywar, tinymud.el, tinyfugue).

Cyberportals are from a different era of MUDding, and as far as I'm able to tell the concept never really took off.  It's far easier, especially these days, to just multiplay and not isolate yourself from the people on one server or the other.
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

I think the only use of a cyberportal I came into, was when the MUD designers literally had an entirely different server for a half of the game... so when you took an 'automated boat ride', it would log you into the other server.
Quote from: IAmJacksOpinion on May 20, 2013, 11:16:52 PM
Masks are the Armageddon equivalent of Ed Hardy shirts.

Arm's 'graphics' are limited to the familiar login screen, the infobar and the wizlist pantheon.

Really, the ascii art login screen is featured on almost every mud in existence; every client supports it as long as you're using a fixed width font.  But some clients (the aforementioned MUSHclient, Potato client, zMUD, others) take support for mud graphics to an extreme and implement FANSI (http://fansi.org).  FANSI is an attempt to bring support for BBS-like ANSI art (i.e. 256 colors and an extended character set including 'shader' characters) to MUDs and other plain text media.

For reference, you used to see ANSI art in some MS-DOS/curses login screens,






BBS door games,




and "electronic shareware catalogs" you often found packaged with games:



(who says a lady can't slay a few monsters?)

Someone went so far as to implement a mouse-driven editor for these graphics called MUSHII.  (Ever heard of a mouse-driven text editor?  You have now.)




The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

The directions command is one of my favorite commands in the game.  In combination with stop it facilitates a bit of light automation like getting from the Bazaar to the Gaj in a few keystrokes.

When I can't use the directions command I set up a series of aliases in my favorite play area that bring me to and from a nexus.  That way I'm always two commands away from being anywhere I want to be.  This also makes it easy to patrol if that's something your PC does.

An even more powerful feature would be the ability to 'push' commands onto a stack and then 'pop' their opposite when you want to backtrack (e.g., the opposite of north, up, and enter stall is leave, down, south).  I thought I came up with this, but in fact it's been supported off-the-shelf in some clients for a very long time.  And I probably shouldn't be surprised.

Tintin is probably the earliest example, where they're called "path commands".  Apparently the command #path map will even show you a visual representation of the path you've taken (very cool).  I imagine it might look like this:


#    o--o--o
#    |
# o--o


but maybe someone can verify.

Another early example was System 9 and Mac OS X's Rapscallion, which calls it "backtracking".  (Rapscallion is an especially interesting client -- as far as I can tell, it was one of the best full-featured MUD clients for Macs, and its official homepage was actually hosted on... GeoCities).
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

[Double post]
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

One feature that I'm surprised to see in a lot of MUD clients today is the out-of-band 'chat'. You might think of this as a peer to peer IRC client that inlines with the text scroll of whatever game you're playing, and it happens without any reliance on the MUD(s) you're playing.

(You wouldn't want to use it when you play Armageddon.)

The best example is the MudMaster chat protocol which is featured in a ton of popular clients (MudMaster2k, Mushclient, Tintin, zMUD/cMUD).  zMUD also derived their own protocol called zChat, which is apparently some superset of the earliest version of the MM chat protocol.

And that's what's weird about it -- these are like chat plugins for games in which chatting is one of the main things you do!  The other big irony is that you increasingly see support for 'capture windows' in modern mud clients, which are typically used to separate the chat out of the game (?!):




So what's the point?  The point is: there's way more you can do than just chat.  The MM chat protocol lets you snoop your friend from within the MUD client (with their permission), which could enhance real-time communication and cooperation. There also seems to be support for asking someone else's client to do something for you, so you and your friends could get together and mutually script out a cyberportal-surfing botnet comprised of MUD clients.  I haven't run into anything like that, though. :)
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

Just wanted to say this is both waaay over my head and really cool to read.
He is an individual cool cat. A cat who has taken more than nine lives.

Thanks everyone for the responses!  Makes me look like less of a maniac.  Here's another odd MUD client feature I just remembered...




Up until around 1997 (and Winamp!) mp3s hadn't really caught on.  So when I wasn't listening to the little radio/CD player next to me, I had this collection of dozens of MIDIs to listen to.  It seems so ridiculous to me in retrospect, but clearly I wasn't alone -- here's a cute feature of the Portal MUD client:



"Full media controls allow you to play your mp3's or MIDI's while you play your favorite MUD!"

On Armageddon, we have the beep command which you can use to try to lure AFK players back to the game.  We also have the kill beep.  If your client supports Armageddon's beeps, then it knows to make the 'bell character' (ASCII 0x07) invisible and play a bell instead -- like a simple trigger.

Some clients took support for sound even further and implemented something called the MUD sound protocol.  Just like the 0x07 character, MSP is essentially a set of specialized triggers for playing sounds and music.  Your MUD would echo something like this to you:


!!SOUND(rain.wav V=80 P=20 T=weather U=http://www.example.net/)


...and your client would go quietly hide that text, download rain.wav from example.net if you didn't have such a file already, and then play the sound for you.

Ultimately I think MSP works best on hack/slash MUDs, especially Star Wars MUDs which have iconic music and sound effects that you'd just expect.  These days I just listen to Spotify when I play Arm.
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

I dig this thread.  I don't have much to offer on the  features  - My first mud client was Wintin95 and I didn't have a clue how to do anything fancy.  I didn't even know how to split input/output.  I played Altered Reality (now nonexistent ar.static.net).



When I first started playing Armageddon I had graduated to Wintin.net - which I guess is still around.  I finally got around to learning the basics of aliases and other commands.  Maybe I just didn't know how to set it up, but wintin always seemed more geared to the hack and slush muds.



Later in my Arm career I converted to MUSHclient (based on an Arm GDB user poll and some threads on how to set up infobars etc), but now using linux at home, so this time around using tintin++...

Oops, sorry, this wasn't a "what client do you use" thread.


More than welcome. :)  Tintin++ is a good choice, I think -- it always amazes me when I look at its feature set.  I had some luck scripting tf in the past if you're looking for other good unixy clients.
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

October 11, 2016, 11:06:49 AM #13 Last Edit: October 11, 2016, 11:31:39 AM by nauta
RE: MSP

I have often wanted to do this in my tintin++ client:

#action {scrab has arrived from %*}{
 #system mplayer EyeOfTheTiger.mp3;
}


This isn't an actual unusual client feature, but a possible one.  Recently, I implemented the phases of the three moons into my prompt (see below), as well as the weather.  Ever since then, I've been itching to plug this information into 'xv' or some other external command to automatically load a different image as my desktop background, based on the output.  It's easy to do in tintin++, I just need the artwork.  So, for instance, it would be something like this:


#action {The {thick|thin}%W {waxing|waning} {crescent|gibbous} of the red moon%W {is high|hangs low} in the {western|eastern} sky.}
{
 #var {rmoon} {red(%1 %3 %4 %6 %7)};
 #substitute {%0}{};
}

#action {Half illuminated and {waxing|waning}, the red moon%W {is high|hangs low} in the {western|eastern} sky.}
{
  #var {rmoon} {red(half illuminated %1 %3 %4)};
  #substitute {%0}{};
}

#action {Bright and full, the red moon%W {is high|hangs low} in the {western|eastern} sky.}
{
  #var {rmoon} {red(full %2 %3)};
  #substitute {%0}{};
}

#action {Almost imperceptible, the red moon%W {is high|hangs low} in the {western|eastern} sky.}
{
  #var {rmoon} {red(full %2 %3)};
  #substitute {%0}{};
}

#action {Half illuminated and {waxing|waning}, the white moon%W {is high|hangs low} in the {western|eastern} sky.}
{
  #var {wmoon} {red(half illuminated %1 %3 %4)};
  #substitute {%0}{};
}

#action {The {thick|thin}%W {waxing|waning} {crescent|gibbous} of the white moon%W {is high|hangs low} in the {western|eastern} sky.}
{
  #var {wmoon} {white(%1 %3 %4 %6 %7)};
  #substitute {%0}{};
}

#action {{Hanging low|High} in the {center of the|eastern|western} sky is the black moon.}
{
  #var {bmoon} {black(%1 %2)};
  #substitute {%0}{};
}



#action {You have no feeling about the weather indoors.}
{
  #var {bmoon} {black(indoors)};
  #var {wmoon} {white(indoors)};
  #var {rmoon} {red(indoors)};
  #var {weatherhere} {indoors};
  #var {temperature} {indoors};
  #substitute {%0}{};
}

#action {The air is as silent as the sand.}
{
  #var {weatherhere} {silent};
  #substitute {%0}{};
}

#action {Gritty sand blows in from the %w, piling in small dunes.}
{
  #var {weatherhere} {sands from %1};
  #substitute {%0}{};
}

#action {{A|An} {infernally hot|extremely hot|strong very hot|very hot|hot|strong warm|warm|strong cool|cool} {wind|breeze} blows from the %w.}
{
  #var {weatherhere} {%2 %3 %4};
  #substitute {%0}{};
}


#action {A fierce {cool|warm|hot|very hot} wind howls out of the %w.}
{
  #var {weatherhere} {%0};
  #substitute {%0}{};
}

#action {A %w sandstorm from the %w fills the air with whirling sand and dust.}
{
  #var {weatherhere} {%1 storm from %2};
  #substitute {%0}{};
}

#action {A %w storm whirls sand and dust from the %w, obscuring the sky.}
{
  #var {weatherhere} {%1 storm from %2};
  #substitute {%0}{};
}

#action {A %w sandstorm whips stinging dust from the %w across the land.}
{
  #var {weatherhere} {%1 storm from %2};
  #substitute {%0}{};
}

#action {{A|An} {extremely hot|strong hot|strong very hot|very hot|hot|strong warm|warm|strong cool|cool} {wind|breeze} blows from the %w.}
{
  #var {weatherhere} {%2 %3 from %4};
  #substitute {%0}{};
}

#action {It is {a|an} {cold|cool|hot|very hot|warm|extremely hot} {day|night}.}
{
  #var {bmoon} {black(set)};
  #var {wmoon} {white(set)};
  #var {rmoon} {red(set)};
  #var {temperature} {%2};
  #substitute {%0}{};
}



And then you'd have something like:



if ($rmoon = 'waxing' and $wmoon = 'set' and $bmoon = 'set') { system(xv -root - quit img/waxing_rmoon.jpg); }
(and so on)


So if someone can get me a jpg for each of the different moon variables -- I think each moon has about five different variables, so it'd be, uh, math -- I could totally whack it out.

ETA: So I looked at all the permutations -- it'd be a lot.  Especially if you tack into the image the sun and weather.  But still, it'd be super cool!

Here are the permutations of the moons:

red/white:
     thick|thin                     waxing|waning   crescent|gibbous        high|low western|eastern
     half illuminated           waxing|waning                                      high|low western|eastern
     bright and full                                                                           high|low western|eastern
     almost imperceptible                                                                high|low western|eastern

black:
                                                                                                      high|low center|western|eastern
as IF you didn't just have them unconscious, naked, and helpless in the street 4 minutes ago

Nauta - in my tt++ setup I made lots of use of your audio alerts!  You have no idea how OCD I became listening to all the KDE sounds and deciding which one best reflected various events.  For KDE I needed to use "paplay" rather than mplayer, but anyways

This is the one I choice for "a foreign presence"

http://vocaroo.com/i/s0lYrJIfz1u1

Cascading style sheets (CSS) came to browsers in the late 90s as a means to separate (i) the styling and positioning of elements from (ii) the content. These days, you can take the exact same HTML content and completely change the appearance of the page ("reskin" it) by mixing it with another style sheet (see also: the current theme you're using to view this forum).


By contrast, MUDs are extremely rigid with how things are styled and positioned; they are by and large linear streams of text, occasionally dotted with color codes to make your prompt red or a room description's title yellow.  I don't think any (existing) MUD has strayed very far from this.

But some MUD clients have tried to address the situation.  In 2008, for example, Mudlet introduced "MUD styles" which are basically CSS in a MUD client.  Mudlet hasn't taken this too far in the last decade -- its MUD styles only seem to recognize "lines", "prompts", and "paragraphs" as the styleable entities, but maybe you can automatically markup other things for styling by way of regular expressions (anyone know?).

ZuggSoft set out to accomplish something similar with their MUD extension protocol (MXP).  MXP is essentially a way for a MUD to markup a text stream, just like HTML, and let the client decide how to display the elements. Interestingly, like HTML, MXP supports "hyperlinked" text.  One example they give is to make the word "fountain" clickable in a room description; when it's clicked, the user drinks from it (bleh)

The unusual tkMOO client (which appears to have been forked into a more modern client called tkMOO-SE) supports rich text formatting on certain MOOs, and, weirdly enough, marking up "whiteboard" objects that can be shared with other players, and then rendered through their tkMOO client:

The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

TinyFugue also suffers from EMACS syndrome, so you can do all possible computer management from within your MUDclient if you wish. My favorite example of this is /ps, which is a rather idiosyncratic replication of the UNIX ps command.

TinyFugue also has the /tr command, which stands for 'translate'., whose whole purpose appears to be making leetspeak (or, for Armageddon, dwarfspeak) easier. You provide /tr with two arguments; the first is a list of characters, and the second is a list of characters with which to substitute each character in the first list on a character-by-character basis. So, for example, if I set up:

/tr go 'a

and then sent the command

say Going well today?

my output to the MUD would be

say Gain' well taday?
There is no general doctrine which is not capable of eating out our morality if unchecked by the deep-seated habit of direct fellow-feeling with individual fellow-men. -George Eliot


Quote from: Tisiphone on July 05, 2017, 06:04:58 PM
TinyFugue also suffers from EMACS syndrome, so you can do all possible computer management from within your MUDclient if you wish. My favorite example of this is /ps, which is a rather idiosyncratic replication of the UNIX ps command.

That's neato, Tisiphone.  Speaking of doing all possible computer management from your MUD client -- among its myriad features, TinTin++ supports a run command that will run a command-line application through the typical TinTin++ interface (and so with access to all of its scripting capabilities).

So if you really love your MUD client, you can utilize it to script out a sequence of server updates over ssh, or to download a set of files using a text-based ftp client, or to easily write a question & answer bot on top of a command-line IRC client, or manage torrent downloads using something like rtorrent.
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

"I'm sure you, who reads this now, do have an even bigger Mudhead, than I have." --DikuEd Creator Georg Essl

The zones in Diku derivatives are usually made of 4 files: a file describing the rooms, a file describing the NPCs, a file describing the objects, and a file defining where the NPCs and objects should be placed when the zone resets.


Today it's unusual for builders to edit these files by hand but, early in MUD history, many builders had to.  There weren't good online creation tools or, if there were, they were poorly written and could crash the MUD.  You'd be writing something that looked like this (c/o the CircleMUD docs):


#18629
The Red Room~
   It takes you a moment to realize that the red glow here is coming
from a round portal on the floor.  It looks almost as if someone had
painted a picture of a dirt running through a field on the floor of
this room.  Oddly enough, it is so realistic you can feel the wind in
the field coming out of the picture.
~
186 ad 0
D0
You see a big room up there.
~
~
0 -1 18620
D1
You see a small room.
~
oak door~
1 18000 18630
E
portal floor~
It looks as if you could go down into it... but you can't be sure of where
you will end up, or if you can get back.
~
S


So I made my first zone by hand in Notepad.  I pored over documentation, painstakingingly typed up my descriptions, put the numbers and the tildes in exactly the right places to define the linkages between rooms, and did the binary arithmetic required to set flags.  And when I sent it in to my game's admins... it actually worked!

(Admittedly, one of the admins did kindly clean up the extra carriage returns Windows left behind...)

You can imagine my elation when I later discovered there were "offline" creation tools, DikuEd among them:

QuoteThe reason for me to start the DikuEd was, that i couldn't stand the classical way of creating items for Diku-Muds, having to look for the right values in the doc files to find the right Item-Type, to give it all necessary and wanted flags, to find out, what a certain flag means when a type is used...

These offline creation tools felt just like a (lonely) single-player MUD client, hence this post: you could walk around in the zones you were creating, get a feel for their layout, take a look at the NPCs you were writing up and where you'd placed them.

I remember being struck by the absence of any kind of latency.  If you were used to playing over a 9600 baud modem, this felt like playing the fastest MUD in existence.  The polished, syntax-free interfaces for editing rooms and NPCs (some with GUIs!) were not only a huge step above Notepad, but also a step above the online creation tools.

Today offline creation tools are more or less outmoded, but you can still find old MUD sites filled like graveyards with broken links to them (for example here and here).
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"

Specialized clients and web-only clients are often seen as technological steps forward, but they're likely to reduce accessibility to a genre that is one of the most accessible out there.

Truly, as long as your game provides telnet access, it's probably at least somewhat accessible to blind and visually impaired players.  With that said, I think it's worth mentioning VIP MUD in this thread.  This is full-featured client that's been specially tailored to blind players.  Unusually for a MUD client, it's expensive -- $30.  But it has some interesting features I thought I'd point out:


  • Specialized support for sound packs that "decorate" the entire game with helpful audio cues.  Alter Aeon, for example, has taken advantage of this and offers a couple of different sound packs you can download that work with VIP MUD.
  • A "bread crumb" feature, which lets you reverse your path to a start point.  Similar features have been mentioned earlier in this thread -- see Tintin's "path commands".
  • And by far the most interesting to me is an ascii art gag.  Rendering Armageddon's login prompt through a screen reader leads to an incomprehensible audio sequence of "slash slash tilde slash slash underscore slash..."; games with lots of ascii art are going to be a real nuisance.  VIP MUD detects this stuff (as well as repetitive spam) and keeps it from interfering.
The neat, clean-shaven man sends you a telepathic message:
     "I tried hairy...Im sorry"