[MUD-Dev] Monthly FAQ Posting

Ling K.L.Lo-94 at student.lboro.ac.uk
Tue Nov 17 17:57:50 New Zealand Daylight Time 1998


Mud-Dev FAQ

Last modified:   10 November 1998

1. Introduction
2. Frequently Asked Questions
3. Previous Topics
4. The Members
5. Scenarios
6. Resources
7. Glossary
8. Changes, To Do & Acknowledgements

Please email any corrections, suggestions or constructive criticisms
to Ling, elkll at student.lboro.ac.uk.

Recent Changes:

981110 -- Just found a long lost email for FAQ alterations.
	  FAQ: Changed MUD-Dev links from /index.html to /
          The Members: Minor alterations to JCL's bio.
	  Resources: Link and brief for original ColdMUD added.
		     More links for Habitat added.
		     Displaced programmming links with those supplied by JCL.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			1. Introduction



The following may also be found at the list's homepage straddled at
<URL:http://www.kanga.nu/~petidomo/lists/mud-dev/>.

--<cut>--

List charter 

The MUD Development mailing list is not platform, language or game specific,
but concentrates on discussing the design and implementation of any and all
MUD servers and systems.  Another large related topic is game design.  This
does not mean that the details of a specific server or game design point
can't be discussed in excruciating detail, or even that server or game
source can't be bandied about and picked over, just that the list isn't to
become a religious stomping ground for your platform, language, server, or
hobby horse of choice.  The topic definition is not limited to technical
areas: social engineering, cultural considerations, applicability of
technical addresses to "soft" problems, and other less rigorous avenues of
investigation are also fair game. 

The goal is high signal, low noise. The MUD Development list is NOT an
email version of the rec.games.mud.* newsgroups.

--<cut>--


Also from the same page is a message for the commercially orientated amongst
us:

--<cut>--
Note from the list owner 

The list has a number of members who work professionally in the field. Their
presence raises certain concerns for intellectual property, trade secrets,
copyrights, etc for the list and for list postings. The below should give an
overview of this area, what I expect of list members, commercially affiliated
or otherwise, as well as the intended character of the list.

As list owner I expect all list members to be responsible for what they post.
The rules are obvious: If there is something your company or affiliations
does not want publicised, then don't post it to the list. If you see one of
your commercial or other partners post something to the list that shouldn't
have been, then don't bring it up on the list -- take it to direct email.
Raising such issues on the list will be used as an excuse for removing
membership. 

Please do not use this as an alibi to start adding disclaimers to your posts.
You are the members on this list, not your companies. If it isn't your
opinion don't write it. If you are reporting someone else's opinion, state
it as such.

If a post is written as a representative of your company or affiliation, then
identify it as such.  Adding a signature which identifies your affiliation is
not enough.  That can be too easily automated and is not an explicit statement
of representation.  A leading paragraph identifying the source or
representation placed above all the textual body including the attributions,
will do (keep it short).

Commercial grandstanding, advertisements, chest puffing, or other forms of
promotion are not appreciated on the list and will be rewarded with removal of
membership. The list is an expressly non-commercial venue. It is intended as
an intelligent and free discussion by peers in the field, both hobbyist and
professional.

Membership of the list is not a right. You are here as my guests. This is a
private list run as a personal contribution to the field. I trust the list's
membership to behave accordingly.

Posting to the list may be considered analagous to having a conversation in my
living room using bull horns while the windows are open and everyone has tape
recorders. There is no secrecy, or control of the dissemination of data once
it is posted.

And on a final note: Attempting to invalidate or discourage a discussion or
avenue of investigation on the list because it strays too close to a
commercial project's field or other such interest will be deemed an
intentional personal insult and due cause for permanent removal from the
list along with all associates.

Thankyou.

J C Lawrence, MUD-Dev list owner.

--<cut>--


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			2. Frequently Asked Questions



1. What should I do now I have joined?

If you have not already, please read the rec.games.mud.* FAQs to
familiarise yourself with all the different sorts of muds out there, see
<URL:http://www.cs.okstate.edu/~jds/mudfaqs.html>.  Take some time to
browse through the list's webpage.  It may be found at
<URL:http://www.kanga.nu/~petidomo/lists/mud-dev/>.  Answers to most list
operation related questions may also be found there.


2. How do I post?

Posting on the list is a privilege which may be obtained from the list
owner (who resides at mud-dev-owner at kanga.nu).  It is suggested you lurk for
a while to get a gist of how things work on the list.  When you do approach
the list owner for posting privileges, attach your intended posting.


3. What is the accepted standard for posting?

In short: No more than 80 columns wide, and only use 7bit ASCII.  If
you are posting from a country/language which uses "special"
characters, such as with umlauts or other diacritical marks, then
please ensure that your mailer properly MIME wraps them.  Most modern
mailers will do this properly.

MIME, HTML, RichText and similar are discouraged.  This encludes
"vcard" attachments from NetScape mail and similar.  Small MIME
attachments, such as a graphic used to illustrate a point discussed in
the text of a message are acceptable.  The guiding rule is that the
brunt of the value of a message must always be in the text.

A reply to another posting must have at least the name of the original
author if your mailer does not automatically prepend one, eg:

  [Bubba]
  >On  4 Jan 98 at 22:20, Boffo wrote:
  >> Buffy <Buffy at players-r-us.com> wrote:
  >>> I just found a cool mud at <URL:http://web.mud.com>
  >>
  >> Golly Gosh!  Cover me in eggs and flour and bake me for 40 minutes!

These are commonly referred to on the list as "attributions".

Web pages are usually referenced in angled brackets as above.  

When quoting a log from a game, put at least two spaces at the start
of each line so that when it is quoted it does not become confused
with other conversation text:

--<example>--
I have a maze in my game:

  > look
  You are in a maze of twistly little passages, all alike.

Isn't it neat?
--<example>--

Will be quoted as:

--<example>--
>I have a maze in my game:
>
>  > look
>  You are in a maze of twistly little passages, all alike.
>
>Isn't it neat?
--<example>--

Use a bit of common sense when quoting.  Include enough of the
original message to make sense; no more or less.  Avoid quoting an
entire post with a one line reply (btw, one line replies are bad :).

Also, don't be afraid to change the subject heading to something more
relevant if the topic has strayed somewhat (usually happens to most
threads).  

Oh yeah, and a sensibly sized signature.


4. What is meant by high signal to noise ratio?

The noisy postings include messages which essentially say "I agree!"
and add no extra value, or those that do not relate to the purpose of
the list (like what you had for dinner, how your codebase/driver is
clearly superior to all others in existence and why language such and
such is better than such and such).  Try to keep on topic and you
won't go wrong.  However, the list is infamous for long postings which
start with one topic and end up rambling on about something else
completely different towards the end.  But so long as it is regarding
muds...


5. I just made a post about such and such but no one responded to it!

There could be several reasons why no one has answered to your
posting.  If it was to start a new thread, it could have been that the
topic has just recently been discussed.  Try waiting a while before
bring it back up again.  If it was in answer to a current thread,
other list members will have read it but just might not have anything
to say on that point right then.  


6. What's all this Bubba business?

Bubba, Boffo, Buffy and friends are all typical mud players bred for
test scenarios devised by various list members.  Originally procreated
by J C Lawrence (how, I don't wish to know), they have since come into
widespread use amongst the mud usenet groups (much to J C's amusement).


7. Aaargh!  The traffic is too much!

Perhaps switching to the daily digest mode would help?  Please refer
to your invitation for the appropriate information.
[NB: Since the change to Petidomo, this is no longer supported but
     I believe it is being worked on.  In fact, 70% done as of Jun/98. ]


8. How do I access the archives?

List traffic is archived daily and housed at:
<URL:http://www.kanga.nu/~petidomo/lists/mud-dev/>


9. How do I turn off the list while I'm on holiday?

There is a "nomail" feature which keeps you subscribed whilst not sending
you list traffic.  It may be activated by mailing mud-dev-request at kanga.nu
with the body of the text as follows:

  nomail <your email address>

To turn it back on after the holiday, substitute "mail" for "nomail".
Note the email address is optional.

Posting privileges are retained so you may find the same feature useful
if you post from several email addresses but would like to receive mail at
just one (don't forget to get posting privs for those addresses).

For more complete information, please take a look at both
<URL:http://www.kanga.nu/~petidomo/lists/mud-dev/#tune-out> and
<URL:http://www.kanga.nu/~petidomo/lists/mud-dev/#priviledge>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			3. Previous Topics



Here's a list of practically all the topics discussed since the list's
creation up to early Jan 98 (early traffic may be missing):

Server design:
 Affects vs. spoofs
 Security concerns of spoofs
 Component based bodies vs. aggregate bodies vs. atomic bodies
 Rooms vs. coordinate spaces vs. mixed forms of the two
 Methods of handling coordinate spaces: neighborhoods, tree forms
 R-Trees, R*-Trees, 3d arrays, Quad/Oct trees 
 Automated population containers
 Event models
 Internal process models
 Security models
 Multi-threaded server design [conflicts resolution?]
 Database design for a server
 Use of transactional databases in a MUD server
 How to avoid resets
 Parsing systems, and language development tools
 Design of internal MUD languages
 Variations on event-driven design
 Disk vs. memory based designs for MUD servers
 IO Socket efficiencies.
 Telnet protocol and terminal emulation
 Design of Object IDs and Object ID recycling
 Artificial probability systems
 Virtual rooms, virtual objects, virtual mobiles
 Sending mail from within a mud server
 String handling and memory
 Verb handling - global vs. local vs. mixed
 Generic objects
 Object assemblies
 Collision detection
 Client scripting and scripting prevention
 Graphical interfaces
 Must have books for programmers
 Web vs. Telnet

Game design:
 Classes of players and what they want from a game
 Levels vs. level-less vs. abstracted levels vs. level-comparatives
 Keeping a goal progression without levels
 Handling of character inventory and representation of inventory
 Families and their impacts on clans, multi-charring, and tactics
 Character senses, representation and extension
 Re-usable quests or plotlines
 Generic quest creation systems
 Rumor systems, handling rumor propagation, and rumor decay
 Races
 Placement of characters in the MUD-world predator totem-pole
 Handling of character death as an in-game event
 Perma-death vs. resurrection
 Economic systems (and lessons learnt by prior experiments)
 Energy-style ecologies and economies
 Ecologies for MUD worlds
 Inter-player communication systems
 Perceived danger levels for characters
 NPC AI, goal-oriented NPCs, intelligently automating NPCs
 Player characters as NPCs/monsters
 Nutrition
 Wounds and trauma systems
 Combat systems (round based, no rounds, interactive, etc.)
 Combat messages
 Combat scripting and action
 Dynamic descriptions and perception
 Views on the "undead"
 User command interface design
 All about bows, longbows, crossbows, etc.
 Festivals and in-game mud games
 Supporting both RPers and GOPers
 Virtual chemistry/alchemy
 In-game political and social structures 
 Implementing mundane professions (or Nation of Shopkeepers)
 Methods of integrating PK (coexistence with non-PK)
 Handling poison and disease
 Inebriation and drugs
 Dragons - a number of viewpoints
 Spoken and written languages  
 Food - interesting or irritating
 Starting characters or creating characters
 Amalgamud specification document
 Alignment vs. reputation 
 Character positions and rank point system
 Automatic name generation
 Learning and skill progression  
 Classless systems and profession-based systems
 Physics and the mud universe
 Hard sci-fi vs. science fantasy
 Character places of their own
 Character henchmen and servants 
 Thieves - ideas  
 Allowing players to affect the world
 Group play and group dynamics
 Spells and spell-casting systems 
 Characters - heroes, nobodies, or prey species
 Game balance
 Hive minds
 Traps and riddle lists
 Representing character stats - numeric, descriptive and graphic
 Settings for mud worlds
 List members' inspirational fantasy and sci-fi books
 Handling and building of large trackless areas
 Gods and deity systems

Mud Administration/Philosophy
 Lorry's document on wizarding
 The morality of logging and snooping
 Problems with socializers
 Social control and engineering
 Dealing with "problem" players
 Is the virtual world real?
 Gender issues
 Bartle's mud papers
 The purpose of mudding
 Motivating builders and coders
 Role-play vs. Game-Only Play discussion
 PK vs. Non-PK discussions
 The infamous rape discussion 
 Habitat papers and anecdotes
 Overriding players' control of the character 

[courtesy of Jon A. Lambert]


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			    4. The Members



Below is not the complete list of members but it does give a good
picture of a small and active cross section.  Feel free to post any
corrections or additions to the maintainer.

			--------oOOOo--------
John Bertogio

Occupation: head geek for Pulse Research,Inc.  <URL:http://www.paper.net> 
Location: Portland, Oregon
Addresses: alexb at internetcds.com (son's account, hits machine at home)
           jb at internetcds.com (son's account, hits machine at home)
Webpage: <http://www.paper.net/mud/> (just samples)

Personal details:
	- Married 25 years, three children. Ages: 4, 12 and 19 
	    (sophamore at Reed College in Portland
	- Politics: Non-doctrinare Libertarian (Wife: Bleeding heart liberal)
	- Excessive use of "", () and ... in posts.
	- Table top war gamer in my youth. (Hobby killed by family life)
	- Engineering education. Started in 1970. Finished with liberal
	    arts degree in 1989
	- Worked in sales and marketing, first in audio industry, later
	    moved to computers when audio went goofy (pre-cd).
	- Worked for Egghead Software in its salad days...played hundreds
	    of pc-based computer games.
	- Moved to Pulse Research about 10 years ago. Did sales and systems
	    work. Company has over 2000 newspaper clients in North America
	    We got into internet systems for newspapers almost 4 years ago
	    with (god help us) bbs systems. 
	- Started bbs project with contract developer...very talented person
	    with serious flaws. We developed and still own world's best 
	    newspaper-oriented bbs system. Of course, no one including us
	    now cares about that. Used RIP techology...great technology
	    god-awful CEO. BBS used xbase database at its core.
	- Implosion of bbs market led to decision...find a way to move 
	    technology to the web or get a real job and actually work for a 
	    living.
	- Moved technology to the web. Used FoxWeb <www.foxweb.com> to link
	    MS Visual FoxPro dbase. Fired contract developer and rewrote and
	    expanded all programs from BBS. Something of a trick since 
	    previous programming experience was a D in one quarter of Fortran
	    in 1971 and a few "Hello World" level projects in basic.
	- Got idea a xbase mud was possible from TBBS program Legends (no 
	    connection to mud of the same name)
	- Used company technology to build a prototype mud. Mud development
	    now produces technology used in company products.

Server concepts/features:
	- Built on relational database model. Extensive use of SQL. Engine
	    has very high speed indexed searches.
	- Totally persistant world with the ability to handle millions of
	    objects.
	- 1200 by 800 cell base world creates "Civ" style world map. Not
	    tiled currently...but could be, uses solid color pixels for maps.
	- Current world has 1 million base cells with 4 million gateways 
	    connnecting. 
	- Each cell can have infinite number of traditional mud style rooms.
	- Auto generation of some terrain features as areas are exploited
	    (Example: Mines) 
	- Stateless elements dealt with by combination of cookies, session
	    tracking, auto events and auto refresh.
	- HTML form-based editing for all system elements. 
	- System is designed to be very extensible. Adding new features or
	    skills can often be done in minutes.
	- Hybrid NPC/flora/faunua generation. 
	- Adventurers can form parties which are persistant and gain stats 
	- PC, NPC and significant creatures use the same data structure.
	- Designed to allow active gamemastering

Client concept/features
	- Client program is MS IE 4.0...stock, no plugins, no ActiveX
	- Hate frames? You'll really hate this one.
	- Multiple user interfaces. Selectable
	- On-the-fly generated HTML provides most of the content

Game concepts/features:
	- Game system based on amalgam of systems: Aftermath, C&S, elements
	    of AD&D, GURPS and some freeware systems.
	- Skill based. No fixed classes. Skill trees encourage differentation.
	- Attempts to bring the elements of good single player frp games
	    to multi-player existance. Inspiration is the "Dream Park"
	    novels.
	- Ability to 'get lost' in a huge world and build a presense
	- Managed Pk system with subtle intervention
	- Easy player building of elements
	- Unusual use of world time elements
	- Extensive use of profiles. Player controls plans of character but
	    does not have absolute control over all actions, especially in 
	    detailed interactions like combat.
	- Very limited exposure to numbers. Game has stats on/off command used
	    for development and testing.
	- IC advantages to eating and drinking in taverns.  

			--------oOOOo--------
Travis S Casey

Occupation: Unix sysadmin
Address: casey at nu.cs.fsu.edu
Personal details:
	- Started in '89 on a Tiny variant.
	- Really started in '93 on MudDog (LP).
	- Accidently wizzed on SWmud (LP).
	- Erratic development of a cyberpunk mud.
	- Contributed some to the Lima LP mudlib.
	- FAQ maintainer for rec.games.design.
	- Married with two cats.

			--------oOOOo--------
Matt Chatterley

Occupation: Student.
Location: England.
Addresses: neddy at itl.net
           caffeine at unreal.org
           root at mpc.dyn.ml.org
Personal details:
	- Main interests are game design (theoretical), and ways to change
	    things that are (tm) into things that should be (patent pending).
	- Occasional cynic, and critic of online gaming environments.

Server: Caffeine (LP)

			--------oOOOo--------
Reed Copsey, Jr.

Occupation: 
	- Whatever I find at the time (Usually programming or database 
	  administration or setup)
Addy: rdc at efn.org
Personal details:
	- Too damn busy to do anything
	- Spends lots of time lurking here, and unfortunately doesn't
	  participate nearly as much as he should and would like to
	- Basically a self-taught programmer who spends more time
	  tinkering and coming up with different ways of doing things
	  than getting anything productive written
	- Is always trying to figure out the best (and cheapest, as he's
	  currently way in debt) way to learn just about anything he can
	  get his hands on

Secret Server Project:
	- Kolmteist
Server Highlights:
	[ Note: This is mostly in design phase.  I very recently decided
	  on a complete rewrite for both the server and the client, so all 
	  that's left that is at all useful is some basic utility-type 
	  classes: socket handling, data structures, string handling, etc... ]

	- Written in C++
	- Uses a relational database backend, though total persistence 
	  is not (yet) a major goal (though this has changed many times 
	  as he comes up with new arguments for or against it)
	- Completely event driven
	- Object customization through an internal extension language
		- Current design (which will probably last another week 
		  *snicker*) is actually inspired by MS Access (yuck),
		  with simple extensions being written as very straight forward,
		  macros on any object, which have the ability to call 
		  user-written procedures, hopefully allowing some semblance
		  of flexibility in a roundabout way
		- Hoping to allow players to use the same macro interface
		  in a stripped down manner to allow for a fairly high
		  degree of player-customization and automation (see below)
	- A significantly slower-than-average combat system which is 
	  completely unautomated unless macros are used... (Roughly turn
	  based from the player's POV, with a turn/round once every few 
	  seconds, the avg fight lasting 1-4 minutes)
	- Completely disassociation, both in code and in game, of players and
	  wizards/imms. (builder/administration have no direct in-game form)
	- A custom client required for various reasons:
		- direct path (completely bypasses the game server) to the
		  relational database backend, allowing building
		  and game administration even if the mud is down or the 
		  builder doesn't want to deal with people
		- more flexibility in display to allow better-than-ansi color
		  and text handling parsed client side, inline images, and
		  some html-ish functionality similar (and inspired by)
		  various mud extensions chaco add in pueblo (point and click
		  commands, etc)
		- the ability to spawn multiple windows (crucial)
		   - Will have an account style login, with menu's to choose
		     which character(s) to play, each of which spawns a separate
		     window.
		   - All out of character communication, information, etc will
		     be directed to the account window (or a private chat-style
		     window spawned for private, ooc communication)
		   - the hope is to encourage roleplaying by complete separation
		     of VR and non-VR commands, both in the commands (without
	 	     using a special character like $, @, or #) and in output

			--------oOOOo--------
Marc Eyrignoux

Occupation: Student
Address: eyrignou at efrei.fr
Location: Paris, Toulouse (both in France)
Personal details:
	- 21 years old
	- Role player
	- Attempting to code a mud with friends (for school, for entertainment
	    and for improving in programing)

Server design:
	- in C++
	- using a relational database (surely MySQL)
	- under Linux RedHat 5.0
	- multi-threaded, event driven
	- still only in project phase
	- 1 world: small basic medieval-fantastic world, with basic races
	    like elves, humans, orks...
	- trying to promote the roleplay aspect of the game, with (hopefully)
	    a quest generator for not having to rewrite another quest every
	    day.

Client design:
	- in Java, graphic oriented
	- the most intelligent as possible, but not as much as Nathan's one

			--------oOOOo--------
Chris Gray

Occupation: Programmer (UNIX?)
Address: cg at ami-cg.GraySage.Edmonton.AB.CA
Location: Edmonton, Alberta, Canada
Personal details:
	- Never really played a MUD other than his own (bar 4 hours on Northern
	    Crossroads, and some LP experimenting)
	- Old enough to be the father of most of you, so his perspectives
	    might be quite different
	- Done very little RPG-ing, but a fair amount of Adventure gaming
	- Thinks the Web and C++ suck big time! (shocking!)
	- Studied programming languages for AI at Alberta.  Attempted to
	    implement a language called ALAI (A Language for Artificial
	    Intelligence - original, huh?) but got bogged down.
	- Taught computer architecture, programming languages, and adaptive
	    information systems for the department instead.
	- Started but never finished PhD in required internal features for
	    multi-user protected OSes (at Alberta!)
	- Creator of programming language 'Draco' for CP/M, later ported to
	    Amiga/68k.
	- CP/M version of Draco still in Simtel.  Docs managed to end up in a
	    McGraw-Hill book without any permission!
	- Worked with Myrias, a parallel computer company.
	- Wrote Myrias' ANSI C compiler.
	- And Amiga Empire (rewrite of Empire, in Draco of course!)
	- Heard about MUDs and wrote a quick and dirty AmigaDUM.
	- Myrias went bust two months later (no connection!).
	- Now works with the remnants of Myrias which has been brought back to
	    life.
	- After 6+ yrs, AmigaDUM it is now called AmigaMUD and can be found on
	    Aminet (v1.1).
	- AmigaMUD currently being ported to Linux.

			--------oOOOo--------
Marian Griffith (De Vries Griffith to be more precise)

Addresses: gryphon at iaehv.nl
Web page: <URL:http://www.iaehv.nl/users/gryphon>
	- Lots of information on the !Overlord project.  An attempt to collect
	    ideas to improve on muds but does not aim at any finished product.
Interests:
	- Interest in roleplaying and game world building but will talk about
	    anything ;) (except for pk because there's nothing to be added that
	    hasn't been said many times already)

			--------oOOOo--------
Michael Hohensee

Occupation: Part time student?
Addresses: michael at sparta.mainstream.net
Personal details:
	-  17 yrs of age during March '97

Server: AeMud - Arbitrarily Expandable MUD
Server concepts/features:
	-  Written in C.
	-  Treats all objects equally for certain common uses.
	-  A spiffy and mostly efficient memory-allocation/recycling system.
	    (Which may actually be kinda pointless, but it was interesting to
	    code)
	-  A command queue that is used equally by players and computer-driven
	    objects.
	-  Highlights include interactive portals and simulation of liquids.

			--------oOOOo--------
Raph Koster

Occupation: Lead designer for Ultima Online, for Origin Systems
Location: Austin TX
Addresses: rkoster at origin.ea.com
Personal details:
	- Creative director of mud (not actually director of UO).
	- Married to fellow mud designer Kristen Koster, also list member.
	- One kid, another on the way.
	- BA in English (creative Writing) and in Spanish (Literature), and a
	    Master of Fine Arts in Creative Writing.
	- Age 26.
	- Particularly interested in social evolution in virtual environments,
	    and related issues such as administration of said environments,
	    methods of social control, user awareness of social context, etc.
	- Game and server features that contribute to the above.
	- Most everything Mike Sellers listed off ;) such as ecological sim
	    layers, Maslow, etc :)

Server: LegendMUD, known on there as Ptah
	<http://mud.sig.net>
	<telnet://mud.sig.net:9999>
	- Used to run lectures often of interest to the mudding community.
Server concepts/features:
	- Has evolved into a weird hybrid of LP and Diku.
Game concepts/features:
	- First classless mud.
	- Probably the first historical theme gaming mud.
	- Attempt to provide a truly fictional immersion, from detailed
	    hand-designed questing, to carefully crafted and well-written
	    areas, to output designed to read like prose (see the speech
	    system for an example of what I mean - adverb support, etc etc).
	- Word-based spell system (it doesn't work, wasn't pushed far enough
	    into the realm of spell language).

Server: Ultima Online, known there as "Designer Dragon"
	<http://www.owo.com>
Game concepts/features:
	- World simulation.
	- Maslow-based AI system for ecological sim and for basic human
	    activity (NPC moods, etc)
	- Pool-based conversation system.
	- Economic sim layer.
	- Social control mechanisms (notoriety, etc).
	- Dynamic modular quest system.
Noteable facts:
	- Appears to be the first big mass market persistent world that really
	    breaks through and establishes the genre as a commercially viable
	    one.
	- Pretty controversial, plagued with all sorts of problems from day
	    one, reviews range from stellar to in the toilet. ;)

			--------oOOOo--------
Jon A. Lambert

Occupation: contract programmer for 12 years, primarily mainframe DBA
Addresses: jlsysinc at ix.netcom.com
Web page: <http://www.netcom.com/~jlsysinc>
Personal details:
	- Former BBS operator - C64 and later DOS, ran many mud-like games.
	- Occasional player on funny little Compuserve mud
	- Attempts to rationalize interest in muds as practical professional
	    education. :P
	- Player of paper & pencil games since mid-70s... primarily early
	    D&D, RoleMaster, Vampyre, Warhammer and Cyberpunk
	- Favorite Computer Games - Tradewars, Civilization, Simcity, Hammurabi,
	    Empire, Railroad Tycoon...Ok just about anything design by Sid Meir
	- Age - Too old to rock-n-roll, too young too die.
	- Favorite color - blue
	- Favorite character - Odysseus Laertes of Ithaca

Secret Project: TychoMud
Mud theme:
	- Greek city states - synthesis of historical period 2500-200 BC with
	    unique interpretations of popular and lesser known mythologies.
	    Game physics, sciences and medical lore almost wholly based on
	    Plato's wacky universe. Yes, water does flow upward, at least
	    through the hole in middle of Earth.
Alternate Themes:
	- Original FRPG campaign world.
	- Dark postmodern theme.
Server concepts/features:
	- Complete persistent objects backed by transactional relational
	    database
		- Event driven and multi-threaded
		- Graphical interface to text-based game
	- Object-oriented concurrent stack-based mud programming language
	    (a twisted genetic mutation of Rexx, Java and Ada)
	- Graphical user/builder component-level programming/building
Game concepts/features:
	- Game system based on RoleMaster FRPG - skill driven system
	- Heavy roleplay single account - multi-PC, NPC, or
	    gamemaster/storyteller
		- Deistic intervention (always IC), capricious and encouraged
		    Direct
		- Deistic programmed control of in-game systems (solar, lunar,
		    climate, oceans, etc.)
	- Realistic flora and fauna ecologies (reset/repop - thou shalt not)
	- Resource driven economies Social, political and economic driven game
	- Magic rare and equipment poor
    	- Realistic professions

			--------oOOOo--------
J C Lawrence

Notes:

  MUD-Dev list owner -- please direct all list-related postings to
  mud-dev-owner at kanga.nu.

  All postings written as list owner are identified as such.

Occupation: 

  Contract programmer for 15+ years, ex-school teacher, printer,
  sailor, fisherman and other sundries, small time SF&F writer,
  dinosaur, philosopher.  Self taught.

Addresses: 

  claw at null.net (work)
  coder at kanga.net (home)
  Please use these in preference to all other addresses.

Personal details:
  
  Started MUDding in '84 on Shades, SX MUD (MUD1/MUD2), and still
  heavily influenced by same.  Was a part of the IOWA project with
  Pip Caudrey.  Been working on a MUD server on and off since '85.
  Major inspirations in chronological order: Shades, MUD2,
  Transputers, Marcus Ranum, Uber, Unter, LP, Aber, Tiny*, Northern
  Lights, MOO, Stephen White, LambdaMOO, a large bunch of IBM's OS/2
  developers, Cool, Interlude (neat!), Dave Engberg, C++, Cold, Mike
  Cowlishaw, Legend, ColdX, Greg Hudson, MUQ, BeOS, Inferno, Limbo.
  Self-educated in pure math, english literature and religious
  philosophy.

Server: 

  Unnamed, but last referred to as "Murkle".  There are several
  increasingly sarcastic acronymic expansions of "murkle" that are
  left up to the reader to discover.

Server features:

  Written in C++.  Compleatly persistent world achieved by
  transactional persistant store.  Event driven heavily
  multi-threaded lockless server design.  OO internal programming
  language ala Python/C.  Server has no prior knowledge of the game
  mechanics it is hosting.  DB (persistant store) is disk based and
  contains a full rollback feature for crash recovery, bug hunting
  and logging.  Same rollbacks allow for limited time travel by
  users.  Free user programming allowed.  No logical difference
  between mobiles, NPCs, and players.  Players may control multiple
  bodies simultaneously.  Swarm-type bodies as possible.  Players are
  heavily abstracted from their characters, which are heavily
  abstracted from their character bodies.  Players connect to
  accounts, from which they select characters to play, which in turn
  control bodies.  Thous shalt not repop, and thou shalt not reset.
  No global namespace in game, players and characters all have
  individual private namespaces.  

Game features:

  Particle based energy-centric resource economy drives and limits
  the game world.  Magic is merely a side-effect of the particle
  economy.  Permadeath.  Free PK.  Extremely high magic world.  No
  particular interest in RP.  GoP-centric.  Players and mobiles may
  freely steal bodies from each other.  The goal is to re-attain
  godhood.  Resolution of control from body toward player is
  generally not possible.  Violently fluid programmable combat where
  very minor items and affects can be devastating.  Skill webs.  No
  real levels.  A human should never have to wait for a machine --
  there is no waiting.  Heavy use of unstable positive feedback loops
  for populations and NPC behaviours.  

Scenarios:

  Bubba and the Crystalline Tree

  The Great God GooGoo and his holy relics

  Castle Krack, the Elven Forest, and the Sceptre

  UggUgg's mana fight

  Orc breeder/fighter/nobles

  Mobile population migrations

  A farcical justice system

  Trash collectors (TC's)

  Bubba digging the Panama Canal

  ...many others...

			--------oOOOo--------
Jon Leonard

Occupation: Chip designer
Location:  Mountain View, California
Address: jleonard at slimy.com
Web Page: <http://www.slimy.com/~jleonard/>
Personal details:
	- Started MUDing as a freshman in college on the LPmud at
	    fenris.claremont.edu.  I took over admin of it and played
	    with the server source code until I determined that it would
	    be easier to start from scratch to get what I wanted.  This took
	    a few years.
	- mostly a lurker on the list
	- I'm paying for a full-time net connection, so I can host my
	    MUD, or any other interesting MUDs.

Server: Qxhrptrwzzllp't
	<telnet://slimy.com:2121>
	This is a completely from-scratch design, which at this point is
	mostly a lisp-like interpreter with a partially written mudlib
	running on it.

			--------oOOOo--------
Kam Ling Lo (prefers Ling)

Occupation: Electronic & electrical engineering student, will probably
              specialise in either microprocessor design or EMC.
Addresses: K.L.Lo-94 at student.lboro.ac.uk (or elkll@ for short)
	   kllo at iee.org
Personal details:
	- Merely 21 but feels far too old anyway.
	- Purple hair!
	- Self-taught computer knowledge, so quite ignorant.
	- Broad interests in science in general.
	- Pet interests include artificial life and graphic novels.
	- Thinks gameplay is of paramount importance.
	- Heavily sci-fi orientated.  Influences include all C64 and Amiga
	    games past, various books, cartoons, especially those with 'mechs
	    in them.
	- Somehow managed to accumulate knowledge of various paper games no one
	    else has ever heard of (eg: Air Eaters Strike Back!)
	- More interested in heavy strategy gamer than muds.

Server: Vague (DGD LP)
Mud Theme:
	- Post Interstellar War, set in one solar system cut-off for several
	  hundred/thousand years.  Heavily commercialised, whole system
	  fragmented into legal mush.
	  cf: Against a Dark Background by Iain M. Banks.
Server concepts/features:
	- Just barely working.  Currently investigating quaternions.
	- Switching from the tradition view that the connection controls a body
            in the game to the connection controls a soul which directs the
	    body.  Oughta credit JC Lawrence one day for inspiration/blatant
	    rip-off.
	- This design should eliminate a few design problems and further
	    minimise creators cheating by forcing creators to code only when
	    disconnected from the body.
	- Would like to implement a translator that compiles a custom
	    scripting language to LPC.
Game concepts/features:
	- Meat of the mud is not remotely mud-like in the traditional sense.
	- Players direct a team of agents on a series of missions, for each
	    mission a 1km x 1km world will be generated.
	- Players perceive the game world through the eyes of their agents,
	    text descriptions will be generated on the fly.
	- Heavy emphasis on espionage and covert operations.
	  cf: Goldeneye
	- Design documents available at request.

			--------oOOOo--------
David Love (aka Sauron)

Occupation: Student
Address: dlove at kusd.kusd.edu
Personal details:
	- Worked as admin on ROCK 
	- Oldest of six children
	- Has a grasp on perl, expanding on C, trying to learn Java
	- Enjoys indulging in mindless hack & slash off and on
	- Lover of the Final Fantasy series along w/ many console rpg's
	- Pastimes: arcade games, paper rpg's, ccg's, computer games (XvT 
	    and War2 among favorites), bbs-ing (anyone remember MajorMUD?)

Server: TWON, a slowly warping version of PennMUSH
Game concepts/features:
	- Attempt at a hybrid between the RP aspects of a MUSH and the
	    in-depth combat style of a MUD
	- Faction-based
	- Attempts at a working real-time combat system
MU* Theme: 
	- Attempts to be an epic war story

			--------oOOOo--------
Katrina McClelan

Occupation: student of Electrical Engineering/Computer Science (*)
Address: kitkat at directcheck.aries.net
Personal details:
	- Interested in rpgs (kinda standard huh?) and sports (as a spectator).
	[Any particular preferences?]
	- Programmer of 11 years (considering I'm only 21, rather a long time).
	- 3+ years completed towards a degree in CS, although I recently
	  changed to EE for more of a challenge.
	- I work full time for the school doing a lame brainless job, but it
	    pays better than student work, and I get free tuition.
	- My dream server would be based on objects and collisions to
	    resolve damage, to the extreme that even players would be
	    represented as organic "objects".
	- Favourite colour: Cyan/teal.

  (*) from occupation, if I were to get a "real job" it'd be as a UNIX
  systems administrator or a UNIX programmer, both of which I am more
  than qualified to do  :)

Server: Erizon (katmud v1.0)
Server concepts/features:
	- Mostly it is a remake of diku with smarter mobs, better handling of
	    most things, cleaner code.  To someone that has only been exposed
	    to circle/merc/rom type muds, my code would look really awesome.
	    To the members of this list, the code is average at best.
	    I'd implement something better if I had time to.
	- It is becoming a little more event driven now that I've gone to
	    a segmented combat engine.
	- Strongly based on AD&D rules, which despite lacking realism
	    are reasonably simple to understand/program.
	- It has delayed casting/combat which uses what is more or less
	    an event engine to resolve them.
	- Mobs are allowed to have default eq if they don't load with it.
	- I have a string sharing table and a zone reset engine that is
	    pre-processed for speed (if a zone loads 10 orcs, the mud will
	    load 1 orc from disk and memcpy it onto 10 mobile structs).
	    Nothing flashy, but it craps all over stock mud.
	- Has a terminal server which allows menu based OLC with
	    lib curses.

Game concepts/features:
	- Faithfully based on AD&D.
	- It uses the maintained powers psionics model from AD&D. 

			--------oOOOo--------
Greg Munt

I lurk too much. Partly due to being unemployed (maybe I should petition 
BT(*) for free local calls), being overwhelmed by list traffic, and partly 
due to the fact that I have been in New York for the past 3 or 4 months. Whilst
there, I got engaged to a Bahamian. Maybe my email address will swap a 'uk' for
a 'bs' soon (reasonably likely). At least local calls are free there. Grrr.

Found muds in early '94, in the form of a Tiny derivative, UglyMUG (one of 
the few muds on JANET(**)'s PAD network at that time). Left six months later to
join the administration of a derivative of Ugly. 18 months after that, was 
running it. 6 months after that, had been kicked out of the admin team, and 
banned - now bitter, twisted, and forever opposed to democratic muds. The 
so-called "Admin Wars" produced a satirical re-telling of Star Wars, 
where I was reduced to a dribbling figure, shivering over a VIC-20 and a 
2400 baud modem. (I kid you not.)

My 'real' experience has been working in COBOL/DB2 for British Steel. 
Currently I'm trying to use that to get a job. Alternatively I might 
have an opportunity as a Junior Games Programmer (with CodeMasters - 
possibly UK-only company? *shrug*)! Who said mudding was a waste of time? :)

Since selling the VIC-20 (*koff*), I hacked up a mud from scratch, and 
after six months produced "Frontiers". The website (at 
http://www.uni-corn.demon.co.uk) was produced - not by me, I hasten to 
add - in 6 days, and is infinitely better. It was around this time that I 
began reading rec.games.mud.admin, and Martin Keegan wandered onto 
Frontiers. (Read DejaNews for the results;)

Now, Frontiers has been closed down, and I have started anew. First 
efforts are always worst efforts - probably - but I learnt a lot from it, 
and continue to plod through. Current project is called "Ubiquity", and 
is, I am quite proud to announce, at the design stage (Frontiers started 
at the implementation stage *doh*). At the moment, it is nothing more 
than a BBS with talker extensions, but I plan to later turn that into an 
underlying command shell for a coordinate-based, all-singing, all-dancing 
mud (yes, I'm still working that bit out). The command shell idea was 
actually suggested (or I evolved it from one of his ideas, I can't 
quite remember) by Nathan Yospe, on this list. This time I am going 
slowly, working on the things I know about first, rather than tackling 
everything at once, and achieving nothing (see Frontiers).

                      Age: 24.
                   Height: 6'8 (which may be irrelevant - though it's always 
                           sort of relevant to people, when they meet me).
                    Likes: unconventional ideas.
                 Dislikes: the accepted norm (see DejaNews).
          Worst attribute: 50% of my time is spent planning; 5% of my 
                           time is spent carrying out those plans.
           Best attribute: Selfless, emotional.
 Best thing about my life: I'm so in love...
Worst thing about my life: ...with someone who lives thousands of miles away.
            Claim to fame: I once met Ling's brother. He compared me to 
                           John Lennon, which I still find amusing. 
-------------------------------------------------------------------------------
There is a 99% chance that I hate and despise your miserable little existence.

(*) British Telecommunications charge 1UKP/hour for local phone calls. Scowl.
(**) The Joint Academic NETwork - now forms the *.ac.uk part of the Internet.

			--------oOOOo--------
Alex Oren

Occupation: Programmer in a consulting firm.
Address: alexo at bigfoot.com

MUD Background:
	- AD&D DM since '85.  Had a brief and fascinating encounter with an LP.
	- Got interested in OO MUD server design in '95.
	- Posted a request for help[*] (22-5-96) that started a correspondence
	    which later evolved into the "CC list".
	- Due to RL pressures reduced to lurking status.  The server,
	    unimplemented, now gathers dust in some obscure corner of my
	    mind.

Server concepts/features:
  Affects.

[*] http://search.dejanews.com/msgid.xp?MID=<31a32684.293427796@news.ibm.net.il>

			--------oOOOo--------
Mike Sellers

Occupation: Chief Creative Officer for The Big Network; Chief Alchemist of
Online Alchemy.  Okay, both of those are real titles, but they boil down to
being a game and game-world designer.  

Some previous occupations: creator of Meridian 59, user interface designer,
software engineer, animal fertility lab scientist, fantasy miniature
sculptor, movie extra (Apocalypse Now), and one-time circus roustabout.

Location: Pleasanton, California 
Address: mike at online-alchemy.com
Interests and Personal stuff:
 - Homeostatic mechanisms in world politics, ecologies, and economies
 - Maslovian-inspired AI for NPCs and mobiles
 - creation of strong communities online
 - creating games that provide a truly immersive experience
 - making online entertainment into a viable business
 - being happily married with six kids :-)

			--------oOOOo--------
Matthew Sheahan (chiaroscuro)

Occupation: Runs small Unix-based ISP, Crystal Palace Networking, with wife.
  <URL:http://crystal.palace.net>  Hacks Perl and Sendmail for actual money.
  <URL:http://www.ajna.com>
Location: Sparta, New Jersey
Address: chaos at crystal.palace.net
Personal details:
	- DOB 08/15/1974
	- Curmudgeonly Discordian, incredulous occultist.
	- First exposure to MUDs c. 1992, cut teeth on Holy Mission and
	    Cyberworld, now malefic dictator figure on Lost Souls as Chaos.
	- RPG background in AD&D, Shadowrun, Rifts, V:tM, M:tA, CP2020,
	    GURPS; currently runs GURPS "Men in Black" campaign.
	- Many lessons learned by balancing the needs of a large base of
	    running code and a midsized player base with aggressive
	    technical advancement.
	- Primarily a lurker.

Server: Lost Souls (Amylaar LPMud migrating to MudOS)
Address: <URL:telnet://lostsouls.org:3000>
	 <URL:http://www.lostsouls.org>
MUD Theme:
	- Syncretic medieval fantasy theme evolved via a process of
	    integrating the typical setting elements stolen from fiction
	    into a cohesive worldview.
Game concepts/features:
	- As stands, Lost Souls is a technically advanced MUD with a strong
	    set of quality requirements and many tools for producing
	    advanced content, but rather standard in terms of game play
	    elements.
Future plans:
	- Replacing simplistic skill system with a skill tree.
	- Adding GURPS-style design elements to character profiles.
	- Replacing AD&D-style alignment system with reputations.
	- Replacing poorly-implemented "standard LP style" quests with a
	    dynamic scripted-task mechanism a la Daggerfall.
	- Adding an item crafting and enchantment system.
	- Adding player ownership of structures and businesses.
	- Adding a level of territorial rulership to the game bearing some
	    small resemblance to the AD&D Birthright setting.
	- Eliminating levels and "experience" as they are known.

			--------oOOOo--------
Vadim Tkachenko

Occupation: Web Developer & Java reusable code manager
Location: Quad Cities (border of IA/IL), USA
Address: vadimt at 4cs.com office
Webpage: <URL:http://206.139.13.63/~vt/gradient>	[moved to below?]
	 <URL:http://gatekeeper.4cs.com/~vt/gradient>	[temporary]
	There is an access restriction based on the rule:
	I want to know who you are.  Register, and get it free.
Personal details:
	- Age 32, programming since 1988
	- Reusable multi-tiered architectures
	- Consistent game model
	- Balanced extensible world
	- Like to design MUDs more than to play them (as they exist now)
	- Hundreds, if not thousands, hours spent playing one-player RPGs, the
	    favorites are Eye of Beholder, Ultima Underworld

Server: Gradient
Status: Skeleton
Features: 
	- Implemented in Java, based on the reusable client/server framework
	    model, code-named Jukebox (BTW, today (Feb0298) accepted as a
	    corporate standard :-)
	- Inherently multithreaded, multi-protocol, multi-model (you can just
	    plug in the protocol adaptor, business logic adaptor and Voila!
	    You have it)
	- Persistent objects as DB (now looking at Voyager -
	    <URL:http://www.objectspace.com/voyager>), no resets
	- External NPC engine, based on the logic and interaction history
	- Multi-protocol clients: stock telnet clients as well as specialized
	    graphical ones (DB implications here)
	- Ability to invoke the scripts as URL references (for advanced players
	    :-) - you specify the URL, it's being interpreted and executed

Game model:
	- Consistent object interaction model, based on property tree,
	    representing weighted features/subfeatures/sub-subfeatures and the
	    actions result of which depends on the property values (including
	    regexp on the property values). Actor/Target/Context property
	    evaluation model is engaged, which allows easy implementation of
	    the gradient worlds (BTW, this is where the name comes from).
	- Game balance is considered critical for the world playability's sake
	- Gods balanced with their incarnations, energy balance between the
	    gods and worshipers.
	- Magic energy transformations (fixed input, accumulation by accidental
	    targets, transformations to other kinds of energy)
	- Soul and body are separated, resurrection (or, more exactly, body
	    capture) for bodies, perma-death for souls
	- Advanced NPCs indistinguishable from players (ideally), control over
	    which may be taken by admins/players (body capture)
	- Stubborn unique objects which have own idea how to behave depending
	    on the conditions (location, current ownership, etc.)
	- Alternate realities and terraforming for players (initial idea from
	    Castle Amber by Roger Zelazny)
	- Object-oriented structure: you can have the inheritance
	    (object/weapon/blade/katana)
	- Objects hidden inside one another: the more advanced you become, the
	    more you're able to identify/use the object.

			--------oOOOo--------
Greg Underwood

Occupation: Programmer Analyst, Simulated Immersion Research Environment
	    (SIRE) Lab, Logicon Technical Services, Inc.
	    Wright Patterson AFB, Dayton, OH.  Basically, I work on the USAF's
	    F16 flight simulators.
Address: s001gmu at nova.wright.edu
Location: Dayton, Ohio, USA (yeah, the place where they had the Bosnia
    Peace Talks a couple years back).
Personal details:
	- BS in Computer Science, with a Minor in Religion, from Wright State
	  University, 1998.
	- Used to work on Diku/merc/rom derivatives, specifically Eternity of
	    Discord.  (the code base of which has survived in various forms
	    under a couple of of different names, which surprises the heck
	    out of me..  it sucks. :)
	- Currently working on a home-grown project with a friend who is
	    currently a lurker on the list.

Server concept/features:
	- Key features include event driver, object orientated nature of the
	    program, mSQL relational database for info management and non-io
	    specific, requiring specialised clients to transform data into
	    something more palatable.
Game concept/features:
	- The major foci of the project include a MUCH more realistic combat
	    model from Diku.  Key differences include combat between one
	    versus many results in one dead opponent v.quickly, usually.
	- Heavy magic world with well defined metaphysics, which defines the
	    physics of the world.
	- Primarily a numbers/resource management game, rp will be a side
	    effect due to the multi-player nature.
	- Pkill & "permanent" deaths.
	- Player characters will include self-preservation code/instincts,
	    player can override instincts for complete control but without
	    overriding, can't get character to behave self-destructively.

			--------oOOOo--------
Adam Wiggins

Occupation: Lead programmer for Cinematix Studios, Inc
Location: Phoenix, Arizona, USA.
Address: nightfall at inficad.com
Personal details:
	- Primary interests for a mud are enhanced 'realism' and internal
	  consistency of the game world, mainly getting rid of all the
	  old kludges (hitpoints, experience, levels, classes, tell)
	  and creating a much more detailed and complex world.
	- Proponent of skill-based systems which encourage roleplaying
	  by making the charcter one plays act and respond as befitting
	  their race/temperment.

Server: Strife mud

			--------oOOOo--------
Nathan F. Yospe

Occupation: Software engineer, writer, cartoonist.  (yes, really, all of these)
Addresses: yospe at hawaii.edu
Location: Hawaii
Personal details:
	- Interests in elements of solid state and materials science, and
	    biochem, specializing in molecular genetics and crossover areas
	    with biomedical science.
	- My goals are not particularly relevant to this list, aside from the
	    fact that I have written sucess at them into the ancient history
	    of my mud universe, by some anonymous other, fifty years after
	    I'll likely be dust. The goals: complete supplemental immune
	    system simulated by organic nanotechnology.

Server: Physmud++
Server concepts/features:
	- Mud built by first defining fundamental laws and then constructing the
	    world in a lego-like manner.
	- Functions as a client with a single server, every text transaction and
	    most decision-tree transactions are handled clientside and passed to
	    the server as tokened sequences.
	- Physmud++ has evolved in the time that I have been on this list, from
	    a Diku-like C++ mud to what it is today, completely unique.

Server: GURU
Server concepts/features:
	- Started 2.5 yrs ago, completion date of December 2002
	- Graphical, VR orientated, mass scale distributed fantasy world.
	- Designed from the world go for scaleability and most of the
	    innovations in Physmud++ are really those of the GURU, simplified
	    and tested in an environment that I can, peice at a time, actually
	    accomplish.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
				5. Scenarios



Standard scenarios used to demonstrate various mechanisms.


Dragon's Dinner				- Alexander Weidt
~~~~~~~~~~~~~~~

            /(o__.       _____|  \                     |OcO|
 ---------/|-/|-(  ,__)-------|    |   |--------+++++++++/|_| - |_ -----------
       /\/ |/ |/ _ \++++++C+O+M+P+L|E+X+I+T+Y+++++O+F+++/f|  `-'  |
    |\/         / \/      "++++++D+|+S+T+R+I+B+U+T+E+D+( u|       |
 ___| . .____. /______________|   "|++++++S+Y+S+T+E+M+S+\n|_)___(_/-----------
  _| /| |_  || |_             |____|   |        "++++++++\| | | | \
 /__/LL__,) LL__,)                 |  /                    (__|__) \

Pretty picture depicting the famous `` Dragon's Dinner'' problem, by
Jutta Degener. 

The Dragon's dinner problem
---------------------------

One of the original goals for the DOME project was to provide a
parallel/distributed execution envirionment for an LPmud game
driver. LPmud is programmed in a langauge called LPC, which is derived
from C and enriched with constructs to enable object oriented
programming, complex data types such as associative arrays and lambda
closures. This is interpreted by the game driver which provides single
threaded execution semantics.  Items in the game are represented by
LPC objects which provide methods specifiying how they interact with
other objects in the game.

Consider the following problem (dubbed "Dragon's Dinner"). Assume, in
an asynchronous distributed system, that there are two room objects
(r1, r2) and a door object (d) that connects them. R1 contains a
hungry dragon (hd) and r2 contains an adventurer (a). The door is
currently open, the adventurer has just fled from r1 and is about to
close the door. The dragon, on the other hand, wants to go after the
adventurer. Code for the dragon is something like:

        if (d->is_open())
                hd->move_to(r2);

And the code for closing the door is something like:

        d->close();

Now what if the following happens: The thread that executes the
dragon's action has checked that the door is indeed open, while the
other thread which is concurrently executing on a different processor,
closes the door. This succeeds and the adventurer sees the door
closing. However, when control returns to the dragon's thread, it
still believes that the door is open and steps through it, much to the
surprise of the adventurer who sees the dragon walking through a
closed door, before being devoured by the dragon.

Naturally this is merely a race-condition dictated by the asynchronous
execution of two data-dependent threads. The main goal of the DOME
project is to provide a system where the component objects can be
programmed in a sequential fashion, but have the run-time support
resolve such race-conditions (in a deadlock free manner) so that
parallel execution can be achieved.

Alexander Weidt [June 1995] 



Uncertainty model			- JC Lawrence
~~~~~~~~~~~~~~~~~

Uncertainty model: A representation model for a MUD world or objects based
on the following principles:

  There are three types of objects in the world:

    1) objects which have an uncertain state

    2) objects which have a certain state.

    3) objects which don't exist but retain a certain state.

The state in question about an object can be its exact identity (eg, not
just a key but the key to Castle Krak, not just a worn out sword but The
Sword of the Great God Goo Goo, etc), or the exact state of that
identified object (a gun vs a loaded gun vs a toy gun vs broken gun etc).

The terms:

  -- All objects are indeterminate (unidentified) until identified (see
#1).  Such objects are referred to as "ur-objects", or occassionally
"meta-objects".  

  -- Upon identification ur-objects are "realised" and become
"normal-objects".

  -- Objects that have been lost and are thus candidates for becoming
ur-objects again, or otherwise torn down are termed "lost-objects" or
"limbo-objects".

The underlieing concept is that the resolution of the identity of an
object is done at the last possible minute.  All ur-objects have the same
innate possibilities of being any matching normal-object.  The decision on
whether any particular ur-object is actually any particular normal-object
is done only at the moment of successful identification (eg an ur-key
sucessfully opens Castle Krak).



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
				6. Resources



Anything notable and mud related that should be read/investigated.


Webpages:

  A Rape in Cyberspace
    <URL:http://www.apocalypse.org/pub/u/lpb/muddex/vv.html>
    The infamous article by Julian Dibbell.

  How it really happened...
    <URL:http://www.apocalypse.org/pub/u/lpb/muddex/bartle.txt>
    Richard Bartle's early history of MUDs.

  Killers Have More Fun
    <URL:http://www.wired.com/wired/6.05/ultima.html>
    An article by Amy Jo Kim.

  Lucasfilm's Habitat
    <URL:http://www.communities.com/company/papers/lessons.html>
    <URL:http://race-server.race.u-tokyo.ac.jp/RACE/TGM/Mud/habitat.html>
    <URL:http://www.communities.com/people/crock/habitat.html>
    Detailed document about an ambitious graphical mud. [JCL]

  Lydia Leong's MUD resource collection
    <URL:http://www.godlike.com/muds/>
    [Raph K]

  Marian Griffith's !Overlord project
    <URL:http://www.iaehv.nl/users/gryphon>
    Full of information useful to mud designer/admins.

  MUDDex
    <URL:http://www.apocalypse.org/pub/u/lpb/muddex/>
    A collection of documents including Bartle's, Dibbell's mentioned
    above. [Raph K]


Muds:

  AlphaWorld: <URL:http://www.cs.cuc.edu/~sopwith/aw/>
    Anyone care to comment?

  AmigaMUD: <URL:telnet://mud.myrias.com:23>
    Chris Gray's custom mud.  Moving site. [Jun 1998]

  Armageddon: <URL:telnet://ginka.armageddon.org:4050>
    To my knowledge the ONLY truly successful full-bore RP environment
    based on a Diku-style server with full combat and the like. Often
    cited as such at any rate. [Raph K]

  Aturion Dynasty: <URL:http://aturion.com:4444>
    Almost all the muds done by Owen Emlen have interesting design 
    features to them too. [Raph K]
    [See also EmlenMud II]

  Avalon: <URL:http://www.avalon-rpg.com>
    Commercial text muds. Avalon has an interesting newbie tutorial
    mode, and room description generation code that is nifty
    too. [Raph K]

  Cold: <URL:telnet://ice.cold.org:1138>
    A branch off the ColdMUD (below) using the Genesis driver, sometimes
    referred to as Cold/Genesis or ColdX/Genesis.

  ColdMUD: <ftp://ftp.kanga.nu/pub/MUD/Servers/ColdMUD/>
    ColdMUD is for all intents and purposes dead.  Greg Hudson officially
    stopped development of it back in 1994, and I just 'branched' the
    ColdX/Genesis from it, rather than making an issue with people and
    continuing to call my development of it 'ColdMUD'. [Brandon Gillespie]

  CoolMUD: <URL:http://csclub.uwaterloo.ca/u/sfwhite/coolftp>
    Incredibly elegant server design. [JCL]

  Dark Sun Online: <URL:http://www.ssionline.com>
    Commercial graphical mud with turn-based combat in a real-time
    environment. [Raph K]

  DartMUD: <URL:telnet://dartmud.com:2525>
    A very ambitious LP mud with lots of good ideas which never seemed
    to have gelled together correctly.  Plenty of bugs.  A sequel is
    being worked on.

  DragonRealms (Gemstone): <URL:http://dragonrealms.net>
    Gemstone was and prolly still is the most popular mud in the
    world, period. It evolved into DragonRealms. [Raph K]

  Duris: <URL:telnet://duris.org:6666>
    A pk mud with economy?! [Down? Jul 1998]

  Eternal City, The: <URL:http://www.bignetwork/hc/ec>
    Commercial mud using the Cold server.

  EmlenMud II: <URL:http://degu.cs.indiana.edu:6669/em2.html>
    Looks like Owen Emlen is in the process of making a new mud.

  Furcadia: <URL:http://www.realtime.net/furcadia/>
    A commercial graphical mud by Dr. Cat.

  LambdaMOO: <URL:http://vesta.physics.ucla.edu/~smolin/lambda/>
    One of the pages for this MOO.

  LegendMUD: <URL:telnet://mud.aus.sig.net:9999>
    The first classless mud, strange diku/LP hybrid.  See Raph
    Koster's bio.

  Medievia: <URL:telnet://medievia.intersphere.com:4000>
    The most popular free gaming mud I know of. Pioneered the use of
    things like in-game spam ads for themselves and lack of due credit
    given for code (:P) but also has things like ASCII map terrain,
    large algorithmically generated areas, etc. [Raph K] 

  M59: <URL:http://www.3do/meridian>
    Ask Mike S.

  Mortal Conquest: <URL:telnet://199.74.98.37:9999>
    That game I can't remember with the whities and the darkies. [JCL]
    By Own Emlen. [Down, 1st March]

  MUD2: <URL:telnet://mud2.com:23>
        <URL:http://www.mud2.com>
    A licensed copy run by Bartle.

  MUQ: <URL:http://www5.biostr.washington.edu/~jsp/muq.html>

  Northern Lights:
    <URL:http://www.ludd.luth.se/mud/aber/northern_lights.html>
    <URL:telnet://aber.ludd.luth.se:6715>

  Realms, The: <URL:http://www.realmserver.com>
    Realms is a commercial graphical mud from Sierra.

  Shades: <URL:telnet://games.world.co.uk:23>
    TODO - get Bartle's comment here.

  Toril: <URL:telnet://torilmud.com:9999>
    One of two offshoots of Sojourn (other being Duris).

  Trash: <URL:http://games.world.co.uk>
    Somewhere in the webpage with Shades.  [Down, Sept 1998]

  Tron: <URL:telnet://polaris.king.ac.uk:3000>
    An out and out pk mud, more of an arcade game using ASCII maps than
    a mud in the conventional sense.  Not one for the faint hearted.
    Should you want a game but can't find anyone, drop me a bell.
    Start learning with disc or spider.  Be prepared to break your
    keyboard. [Ling]

  UOL: <URL:http://www.ultimaonline.com>
    Ask Raph K.

  Worlds of Carnage: <URL:telnet//carnage.labs.emich.edu:4000>
    The first Diku mud with an internal scripting language, called
    "easyacts." This code formed the basis of the MobProgs put into
    Merc 2.2. LegendMUD is a spiritual offshoot of Carnage, and Cythera is
    a literal offshoot.  (Interestingly, Damion Schubert, a designer on
    M59, was also a Carnage immort alum). Imperium Gothique's scripting
    was derived from either mobprogs or Carnage, not sure which. Carnage
    definitely had a lot of influence on the world of Dikudom. [Raph K]


Notable muds yet to be found:

  IOWA Project, The:
    TODO - dig up references in Bartle's MUD survey, browse LambdaMOO
           ftp site and MUDDev.
	   Keywords: MirrorWorld, Gods, Pippin ("Pip") Caudry.

  Island:
    Did this not die some time back?  [Tho Keegan may yet resurrect it]

  MUD1:
    Although MUD2 is up above.

  Sojourn:
    Died.  Will have to hang.  Unlikely to find any info.  Spawned Toril
    and Duris, main difference being the way PK is handled.  Search
    Dejanews for references?  (thanx Raph K)


Not so mud related webpages.

  ANSI and VT terminal codes in general:
    <URL:http://www.cs.utk.edu/~shuford/terminal_index.html>

  And in case you wanted to know more about VT-### in particular:
    <URL:http://www.sdsu.edu/doc/texi/screen_10.html>
    <URL:http://www.mhri.edu.au/~pdb/dataformats/vt100.html>

  Or ANSI terminals:
    <URL:http://www.mhri.edu.au/~pdb/dataformats/ansi.html>

  AI Nodes/ANN:
    <URL:http://206.107.246.21/packhste/5/>

  Amit's Games Programming Page:
    <URL:http://www-cs-students.stanford.edu/~amitp/gameprog.html>

  Anti-Mac interface:
    <URL:http://www.acm.org/cacm/AUG96/antimac.htm>

  BSP trees:
    <URL:http://reality.sgi.com/bspfaq/index.shtml>

  Image formats (esp PPM):
    <URL:http://www.dcs.ed.ac.uk/~mxr/gfx/2d-lo.html>

  R-Trees:
    <URL:http://www.cs.cuhk.hk/~drsam/methods.html>

  VR programming tutorial:
    <URL:http://www.cs.virginia.edu/~rg3h/networkVR/paper.html>


Programming references to get the budding scratch mud coder started:

  BSD Sockets: A Quick And Dirty Primer
    <URL:http://world.std.com/~jimf/papers/sockets/sockets.html>

  With other relevant papers pointed to by:
    <URL:http://www-users.cs.umn.edu/%7ebentlema/unix/>

  Vic Metcalfe's (vic at brutus.tlug.org) unix-socket FAQ can be found at
    Text version:
    <URL:http://unlser1.unl.csi.cuny.edu/faqs/sock-faq/usenet/unix-socket-faq.usenet>
    <URL:http://www.ibrado.com/sock-faq/usenet/unix-socket-faq.usenet>
    HTML version:
    <URL:http://unlser1.unl.csi.cuny.edu/faqs/sock-faq/html/unix-socket-faq.html>
    <URL:http://www.ibrado.com/sock-faq/html/unix-socket-faq.html>

  There's a nice leader page for the FAQ with other related pointers at:
    <URL:http://unlser1.unl.csi.cuny.edu/faqs/sock-faq/html/unix-socket-faq-1.html>
    <URL:http://www.ibrado.com/sock-faq/>

  The TCP/IP applications FAQ can be found at (of course):
    <URL:http://www.faqs.org/faqs/internet/tcp-ip/applications-FAQ/index.html>

  The TCP/IP FAQ from comp.protocols.tcp-ip (probably also on news.answers
  etc) can be found at:
    <URL:http://www.dc.net/ilazar/tcpipfaq/default.htm>

  The raw IP networking FAQ (most interesting to those of use doing
  custom clients or server inter-connects) can be found at:
    <URL:http://www.whitefang.com/rin/>

  The TCP/IP resources list has all sorts of useful pointers:
    <URL:http://www.faqs.org/faqs/internet/tcp-ip/resource-list/index.html>

  Including the various BSD socket programming tutorials:
    <URL:http://ftp.std.com/homepages/jimf/sockets.html>
    <URL:http://ccnga.uwaterloo.ca/~mvlioy/stuff/ipc_intro_tut.txt>
    <URL:http://ccnga.uwaterloo.ca/~mvlioy/stuff/ipc_adv_tut.txt >

  The Unix Refence desk is another good reference:
    <URL:http://www.geek-girl.com/unix.html>

  As is Unix Guru Universe:
    <URL:http://www.ugu.com/>

  And of course, W R Steven's page:
    <URL:http://www.kohala.com/~rstevens/>



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
			  7. Glossary of Terms



The list has managed to come up with its own jargon.  Here are some of
the current buzzwords:


Cooperative role-playing: Refers to a specific kind of RP where each
  player's personal 'storyline' is paramount.  All players are aware
  of, and sensitive to, the needs of each player for their story, and
  all actions are completely consentual.  This is a type of play often
  found on MUSHes.


Event: A system design alternative to polling loops.  Objects generate
  events, which are processed in their proper order by the event
  handler.  This is frequently clearer and far more efficient,
  especially with large numbers of objects.  Examples are a torch
  generating an event to burn out in two hours, or a spell generating
  an event for an earthquake to occur in four seconds.


Faucet->Drain economy: A virtual economic system wherein there is an
  ongoing influx of new items into the game (usually via a reset model)
  and a hopefully corresponding outflow, usually accomplished through
  object attrition involving equipment danage, rent fees, etc. It is worth
  noting that traditionally, designers have been unable to easily come up
  with a big enough drain to handle all the 'water.' This is as opposed to
  a "Closed economy" in which an attempt is made to close the loop,
  creating new objects only when old ones are used up. [Raph K]


Fixed random seeding: Using a fixed value (such as a character's
  unique ID, or the character's position in XYZ space) to seed the
  random number generator, assuring that the same random number will
  always be rolled if the circumstances are exactly the same, but
  requiring no storage.  This allows parts of the world or its
  behaviours to be dynamically generated from the seed value as
  needed, and yet to have each "new copy" be the same as all the
  others because the seed calue hasn't changed.


Fluidity of Identity: Referring to the difficulty of positively identifying
  a single person who takes many guises in a game world.  Any particular
  action against one of those guises is fairly ineffective; they choose
  another and continue.  This makes it very difficult to pin down
  troublemakers.  ATtempts at identifying people based on their hostname
  (site deny/allow), e-mail address (email registration), credit card number
  (for commercial ventures), or just asking really, really nicely are all
  easily circumvented, especially when it is easy to create new characters or
  accounts (that is, the process is short and automated).  This frequently
  makes it difficult to implement 'real world' solutions to in-game problems
  such as psychotic killing sprees.  Once you catch someone and lock them away
  or put them to death in RL, they are gone.  When you do this on most muds,
  they just log on two seconds later with another character.


Functional roleplaying: A kind of gaming, whilst GoP motivated, is heavily
  tailored to the in-game reality.  There's no thee's or thou's, or even
  pretension of IC/OOC separation, but an awful lot of attention is spent
  by the player in working his character thru the game realities rules as
  it controls and affects his character.  Examples would include
  negotiation of reputation and influence systems, votes, political systems,
  clans and guilds and other similar structures, etc.  Appearance is not
  the key.  Function is. [JCL]


Global namespace: Referring to the fact that most muds rely on characters
  (and sometimes other objects) are given a single and unique name.
  Typing 'who' on most muds gives you a list of these; if you see
  someone named Bob you know that he is the only Bob in the world, and
  can't be confused with anyone else.  This is as compared to a system
  of generated descriptions to which players can attach proper names
  as they please, which may or may not overlap or match up with the
  names assigned by other players.


GoP: Short for 'game-oriented play' or possible 'goal-oriented play'.
  This is usually a competitive style of play usually oriented around
  the accumlation of various resources (money, power, combat ability).


Levels: For the purpose of keeping discussions generic, this term may be
  used as an abstract measurement of a character's ability, skill or
  expertise whether the game system is level-based or skill-based.
  Eg: "If a low level character tries XXX a high level character..."
  The precise details are not of interest as opposed to the impact and
  result of the undefined imbalance.


Lockless server or DB:

  Events request objects from the DB.

  If the object is not in the cache, the DB loads the object.

  The DB replies to the event with a read-only shared reference to the
    object.
    
  The event is added to the "interested parties" list for the object.

  If the event attempts to modify the object, a new local, event-specific
    copy of the object is made, and the changes are made to that.  A copy
    of the original reference however is still kept.

  The event (loosely) attempts to keep track of what members of the
    object it referenced.

  During the execution of an event. all external IO is buffered and held.

  Upon the event terminating it compares its copy of the original object
    (the local reference) with the object that's actually in the DB (may
    have been changed by events commiting during the current event's
    execution).  Some intelligence is attempted here to only compare those
    values etc which were referenced by the event.

  Should the original copy and the current-in-DB copy compare OK, then
    the event commits, the IO is released, and all its changes in its
    written-to copies are commited atomically.  This is the
    Compare&Commit, or C&C.

  If the C&C fails, the event is thrown away, all the copies are released,
    the IO is discarded, and the event is rescheduled to try again.

  There is also some background intelligence here where the DB watches
    the objects that are affected by event's C&C'ing, and will signal the
    other events that are members of those object's interested party list
    that they may be invalidated by the other event's C&C and so should
    kill themselves and reschedule.
    
                                  ref: DEMOS and the DOME project (JCL)


Markup language: An internal set of codes used by a server to generate
  semi-dynamic messages.  An example is "%c dives %I %o" which might result
  in "Bubba dives behind the wall", "A woman dives into the pool", or
  any number of other strings.


mud or MUD: It is not an acronym.  It is a collective term for all the
  types of games discussed on this list, including both RP and GoP.
  [NB: Another description may be found at the list's homepage
       <URL:http://www.kanga.nu/~petidomo/lists/mud-dev/index.html> ]


Object: Because most of the servers discussed here are
  object-oriented, the word object is being used in its general
  programming sense to include characters, locations, inanimate items,
  and so forth, rather than referring to only inanimate items as is
  typical in some mud servers.


Realism: This is not necessarily corespondance to the real world, but
  rather refers to internal consistency.  In many cases using the
  working of real world systems (physics, for example) is a good
  example for how to build a consistent system for a game world.
  To quote:

  "This is, of course, partially my invention, to suit the gaming world
   we are working on, and is not intended to mirror Real Life - just to
   borrow enough bits and pieces from it, so that it is recognized as
   somewhat structured (rather than totally whimsical) to the player."
							- Holly Sommer


Repop: See Reset.


Reset: Usually a function called in a mud at irregular intervals, the
  purpose of which is to put back the game, or some fragment of the
  game or game world into a known state.  Typically this might mean
  locking an opened door, or resurrecting an NPC that was killed by a
  player and putting him back to guard the door,  Resets and repops
  are common on games that promote repetitive actions for advancement.


Skill net: A single layered skill web. Skills are directly weighted to
  each other.  See skill web (NY)


Skill tree: A skill system where skills have a single parent and
  several children.  A skills at the bottom of the tree being very
  specialised.  Skills higher up the tree will affect the value of
  skills further down.


Skill web: a non-heirarchical two layered skill system wherin each
  skill is weight-related to an arbitrary number of attributes, and
  the improvement of skills therefore automatically improves related
  skills. Examples of skills might be rowing and flycasting, examples
  of attributes, strength (upper arm) and precision (forearm).
  
  [Note: I triple weight my skill web, so that there are direct
  connections to the condition of the character's body and mind, and
  so that the resiliance of same are improved by conditioning. Nathan Y]
  
  [Note 2: The web is modeled after a simple neural net design I found in
  Dr. Dobbs' Journal. Nathan Y]


Verb binding: Attaching verbs to an object, such as 'fly' to a
  jetpack.  The command essentially does not exist when you don't have
  the jetpack.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		8. Changes, To Do & Acknowledgements



980907 -- Resources: All things ansi and telnet related added.

980811 -- The Members: Matthew R. Sheahan's bio added.
		       Greg Underwood's bio amended.
	  Resources: Amit's Games Programming Page added.
		     Whole bunch of programming references added.
	  Glossary: "Fluidity of Identity" added.

980708 -- Snipped signatures from members' bios suggested by Alex Oren. :(
	  Minor typo and adjustments suggested by JCL.  Overdue addition
	  of MUDDex and Lydia Leong's MUD resource collection to Resources.
	  "Faucet->Drain economy" term for Glossary added.  Stole list
	  charter from homepage to act as a welcome message of sorts.
	  Small reorganisation of sections 1,2,3.  Added Bartle's early
	  MUD history to web link in Resources.  The Bungle link in Resources
	  disappeared, added back in, though different site.  Quietly dropped
	  Derrick Jones' bio (was empty).

980506 -- Moved the changes list to a section in the back, only the most
	  changes since the last post appear here now.  Appended Holly
	  Sommer quote to "realism" glossary term.  Added "functional
	  roleplaying" glossary term.  Updated Frequently Asked Questions.
	  Added networking tutorial web link to Resources.  Added Bungle
	  web link to Resources.

980428 -- New scenarios section,a couple more glossary terms and more
	  member's bios.

980308 -- Mailing list invite.

980301 -- Even more addresses for the resource section.

980201 -- More bios, more addresses for the resource section.

980107 -- Added a few more questions.  Previous topics now has its own
	  universe as suggested by Adam Wiggins.  Plonked in a resources
	  section.  Took out standard technical terms as suggested by Adam
	  Wiggins.

971201 -- FAQ created.


To Do:  

  Conventions of example scenarios (Bubba, Boffo, Buffy, etc)

  List of references for specific scenarios/docs (Habitat/Great God GooGoo,
  Crystalline Tree, recognising Sting in the weapons shop, etc).

  Solutions for the scenarios?

  Obtain addresses for the muds in the resource section.

  Statement of topic definition (cf welcome message).

  Update previous topics section.


Acknowledgments:

  Everyone on the list who contributed with a bio, everyone on the
list who posts and special thanks to Jon A. Lambert, Adam Wiggins,
Nathan Yospe, Raph Koster and lastly but definitely not the least,
J C Lawrence.





More information about the MUD-Dev mailing list