[MUD-Dev] Re: (fwd) AD: [custom graphical] whitestar

Dr. Cat cat at bga.com
Thu Apr 30 12:12:13 New Zealand Standard Time 1998

> If I might interject, I have the same sort of issues with most other MUD
> developers. Unfortunately, I don't have the time to seriously develop an
> active project; however, interface design and mass marketability are key
> issues I would dearly love to discuss. Some time back, I tried to start
> such a thread. It crops up peripherally now and again, but I've never
> really seen as much interest in it here as I'd like to.
> Basically, I'm hearing you say that you want to talk about the same things
> *I* want to talk about, and postulating that no one wants to hear it. I do.
[mild flattery snipped]

Well, I don't know if many people do, given the "not much interest" you 
cite from prior attempts.  Anyway despite my earlier cranky remarks (I 
suppose I forgot to take my geritol that morning and the nurse didn't 
bring me my walker either so I couldn't cross the room to turn on the TV)
the main reason I don't talk about my work too much is because I have 
hundreds of things to implement, most of which I thought up years ago, 
and only one programmer (me) working on them.  And talking about the 
stuff doesn't get it done, adds only a small amount to my pool of ideas 
for what to do through the ensuing discussion - and with hundreds of 
things to do already that will make my product better, I really don't 
need ANY new things tossed in there, do I?  With the tiny subset of my 
plans that's currently implemented, and usage levels that only reach 
around 150 players at peak times, it's really "put up or shut up" time, 
and I'd rather go "put up" and talk later.

Still, flattery is flattery, and I can toss out a few more comments here 
- even though I sense you're asking somewhat different sorts of questions 
about user interface design than the ones I'm thinkg about.

> Let me open this up with a few observations I've made about command
> interfaces. I don't talk about this much, because command interfaces don't
> seem to be of much concern in discussions here. By command interface, I
> don't necessarily mean a command line, but whatever method the user employs
> to communicate with the server; in most cases here, that means a command
> line, but most people have at least some interest in going partially or
> fully point-and-click. It's not much of a secret that I tend to prefer text
> to graphical, based on certain economies of bandwidth and disk which come
> from that, but I have to admit that when push comes to shove graphical will
> pull more users. 

This is a non-issue to me.  All functions wherever possible must be 
executable using either mouse-only or keyboard only.  This just seems 
intuitively obvious to me.  Generally the "easy for novices" way of doing 
a thing (usually, but not always, the mouse interface) should be the 
easiest to notice (or have shoved in your face by the documentation), 
while the "power user" interface should be not too hard to find out 
about, but not "in your face" if you don't desire it and don't go looking 
for it.

Bandwidth isn't a big issue either.  Right now the traffic for Furcadia 
with 100 users online is usually small enough that it could fit through a 
single 56K modem.  Of course the server's going through a T-1, as well it 
should be - a maxed out modem would be giving people lots more latency, 
not to mention choking on the occasional bursts of higher bandwidth 
utilization.  But the point is, bandwidth usage on a well designed 
graphic mud doesn't necessarily have to be high.  Indeed, the current 
bandwidth usage on Furcadia can be (and will be) further reduced with 
some additional optimizations.

> To a degree, this can be remedied with natural
> language processing, like shorthand: 
> "Look." [There is a blue box here.] "Examine it." [You pick up the blue box
> and examine it; there is a button on the side.] "Press it." [You press the
> button on the box; the box makes a loud noise and begins to vibrate.] "Drop
> it." [You drop the blue box; it vibrates more urgently.] "Hide." [You duck
> behind something; the box explodes, but you are shielded from the blast.] 

This, to me, is a false grail.  As I mentioned earlier with regard to my 
scripting language, I'm a strong believer in mapping the tools tightly to 
the expected solution space.  Regretably most software developers seem to 
feel that the solution space is (or should be) "as many different things 
that are possible to do as I can possible enable the users to do".  This 
is the correct solution space to shoot for if you're developing a C 
compiler.  If I wanted my players to have the maximal power to interact, 
maybe I should just give them Unix shell accounts and a C compiler and 
say "Ok, go to it!  Play, have fun!  If you want to play in some 
particular specific way, go code it!"

In software aimed at consumers, particularly non-programming consumers 
(the majority of the human species, even now), I think the value your 
software has is directly related to how well you figure out "what is the 
set of things most users of this category of software most want to do", 
and build the capabilities of your software to be tightly coupled to that 
set of desires.  Where you provide more power or flexibility, you should 
do interface design such that the most desired options are obvious and 
easy to figure out, and the extra stuff is findable but not "in your 
face" to the users with simpler wants/needs - who will only become 
distressed if you throw up some screen with 173 options, buttons, 
sliders, and commands.

Print Shop was a good example of this, back in the 80s.  When it came out 
us power-users and developers-of-tools-for-other-power-users looked down 
our noses at it.  Things like paint programs, desktop publishing 
software, etc. etc. was FAR more powerful than this wussie little toy.  
Why would anyone even want it?  Well, it did a few things, but it turned 
out it did the few things that a LOT of people wanted to do, and it made 
it so quick and EASY to figure out how to do them!  They sold that thing 
so fast that everyone at Broderbund had to pitch in to help duplicate 
disks and stuff boxes in order to ship all the orders to distributors - 
from the secretaries right on up to the president!

Natural language doesn't fit well with this, for me.  Not only are you 
suggesting, by providing it, that "any English sentence you can type is a 
valid command string", thus offering the poor person trying to learn your 
game the hugest possible solution space, but it's not even a case of 
covering all that solution space for the power-users at the expense of 
the novice.  Your game is always going to be stuck understanding only a 
tiny percentage of the potential command strings, and even the power 
users will have to learn which things really work.  My senior apprentice 
calls this kind of thing "fighting the interface", and it's very bad.

"Look. [There is a blue box here.] Turn it over and read the writing to 
see if it was made in Taiwan. [I see no writing on the blue box.] Listen, 
jamoke, I wanna know if it was made in Taiwan! [I see no player named 
"jamoke" here.] Whassa matter with you, you stupid computer, don't you 
understand plain english? [I'm not sure what you're trying to do.  Type 
'help' for more instructions.] Aw nuts to you, just nuke that blue box 
and tell me where I can go in this game to find some lasagna to eat or 
meet some cool people to talk to that like the same TV shows I do. [I'm 
sorry, Dave, I'm afraid I can't do that.]"

By contrast, if you had SimpleGraphicMud where you had four compass 
arrows to click on to move, a text input box labelled "type messages here 
to talk to other players on your screen", and buttons labelled "get" 
"drop" and "use" for dealing with objects you see on the ground, it's 
unlikely that anyone would waste much time trying to do things that 
aren't doable in your game.  Players not feeling like they're wasting 
time is a good thing.  Tightly map your interface to what's actually 
doable.  And try to map what's actually doable to what players will want 
to do and what will generate large amounts of the mystic quantity known 
as "fun".

> Graphical interfaces offer a great way to avoid ambiguity.

Precisely.  They also generate simple, immediate "rewards" in the form of 
easy to digest feedback.  You see the little blue box move from the 
ground at your feet to the inventory box that shows "item currently in 
your hands".  There's a percentage of the human race that will feel that 
same sort of satisfaction at "seeing" it move out of the text paragraph 
that describes your current location, and "into" the paragraph of text 
that comes up whenever you type "inventory".  But they're a minority, one 
that just happens to have been a majority of the early adopters of 
computers.  While that minority is important and more intelligent on 
average and should be catered to forever (and I'm even a member of it 
probably), my job is to cater to the majority that really requires 
graphical feedback in order to maximize their fun.

> What gets overlooked in a lot of games I've played is whether a given
> interface is confusing or not. Every time a user has to go use your help,
> no matter how good that help is, his frustration level builds.

The real issues here, and the solutions they suggest, seem to me to be 
territory that most user interface designers aren't even aware of yet.  
For one - the "help file" concept, which Windows has gone so far as to 
define a bunch of fancy tools and standards for, is very static.  But the 
fact is, learning is an ongoing, dynamic process, and the help a users 
wants/needs in their first hour of using your product is very different 
from what they need in their second day, which is different from what 
they need after three months.  But pressing F1 for help in any Windows 
app is likely to pop up the exact SAME help menu with the same sub-menus 
and documents every time, forever.  Context-sensitive help is a small 
step in the right direction.  But considering learning the game to be an 
ongoing process, unfolding along the time axis, lets us immediately think 
of alternative solutions.  Consider that you, as creator of a game, feel 
that most people will want to learn about the "buddy list" feature after 
a certain amount of usage.  You could monitor every player, see if 
they've already found/used it on their own, and if not, say that 5 days 
after they first play, or 12 playing-sessions after they first play, or 
20 usage-hours after they first play, or the first time they get past the 
Palace of Gralfalnibar, you have "Beekin the Help Dragon" pop up and 
suggest "Say, now that you've gotten this far in the game, I think you 
might want to learn how to be told automatically when your friends are in 
the game.  Click [Here] to find out or [Here] if you're not interested."

The ultimate solution to the "help" problem, though, comes from the 
unique nature of the online medium, and wasn't even available as an 
option in the old days of single-user applications running on 
non-networked computers.  Consider "RTFM syndrome" or "my dad's 
navigation method".  Why do so many people ask "stupid questions" that we 
needed to even invent a half-joking acronym to tell people to try reading 
the documentation?  You could say it's because much documentation is so 
difficult to get the answers from for a novice user that they avoid it 
for that reason.  You could say it's because much software is so 
difficult and loaded with complex features that it's not bad writing that 
makes manuals so, it's almost inevitable that they will be unless maybe 
you had unusually brilliantly GOOD writing.  These may have truth to 
them, but they're only the tip of the iceberg.  You could say it's because 
most people don't come from a culture where "reading big long 
instructions things or browsing through them to get to some particular 
part that answer my question" is part of the life experience they're 
used to, acculturated to from experience with other things besides 
computers, accustomed to, conditioned to, trained to expect.  There 
you're getting a little close to the key underlying truth.  Why is it, 
though, that most people don't have to read even the simplest 
instructions about how to turn on a TV and change channels, how to run 
the microwave oven, the washing machine?  Why doesn't a farmer's son ever 
have to read an instruction manual on how and when to plow the fields, 
harvest the crop, feed the chickens and collect the eggs?

It's because people learn how to do all the basic things in life from 
other people.  That's what people are used to, what they want, and what 
they're conditioned to do to seek out knowledge when they perceive that 
they're missing something.  My partner and I have put out games with not 
many commands, and a little summary of the key ones permanently displayed 
in the lower left-hand corner of the main game screen.  It's ALWAYS 
there, and it says how to move, talk, whisper, and pick up items.  
Doesn't matter.  You'll still see newcomers ask how to do those things, 
and older players tell them how.  (Or whine about the newbies, but we try 
to do social engineering to minimize that!)  In the first few seconds, a 
typical person's eyes will register static text and think subconciously 
"more work to do", and see scrolling text that is people talking to each 
other and think "Aha, people!"  And immediately they will want to be 
talking to those people.  It's the most natural reaction in the world.

My other example is how my dad gets directions to places.  We can be in 
some city we're travelling to, ask someone for directions to the art 
museum, and find out it's three and a half blocks away, and here's five 
obvious landmarks on the way there.  Doesn't matter.  We'll have walked 
one block, spotted the first two of the five landmarks, and come to the 
street sign with the name of the street to turn left on...  I'm thinking 
we're well on course with no worries.  But if dad sees a fellow human on 
the sidewalk - he's asking for directions again.  It's an excuse to talk 
to people!  How could you ever pass up a chance to talk to people?  My 
dad can't, because it's the most pleasurable thing he could possibly do.
Compare this with the stress of reading through manuals or helpfiles.  
Most of which are static, don't understand natural language queries, and 
aren't flexible enough to figure out a response to questions they never 
expected or encountered before.  Even if it's just "Gee I dunno, but I 
think Bernie might know that."  That beats the hell out of what happens 
with manuals, which is usually that you spend extra time browsing even 
every vaguely-related topic to make sure the info you want isn't buried 
in there somewhere obscure, before you finally give up in disgust.

The ideal help interface to me is a big button that says "help", and when 
you press it a dialog pops up that says "Do you want to A) ask for help 
from another user, or B) browse through the game documentation?"  When 
people (most of them) pick A, in an ideal world there'll be enough 
volunteer player-helpers that most or all of the time a little chat 
window can pop up instantly, with someone typing "Hi, what can I help you 
with?" and you can type right back and you're off and running with the 

There's various enginery of thought about how you encourage players to be 
the volunteers for this, and whether or not you can really get enough and 
what to do if you don't, but I won't go into all of that here.  Back to 
work, or something.

   Dr. Cat / Dragon's Eye Productions       ||       Free alpha test:
*-------------------------------------------**  http://www.bga.com/furcadia
  Furcadia - a new graphic mud for PCs!     ||  Let your imagination soar!

MUD-Dev: Advancing an unrealised future.

More information about the MUD-Dev mailing list