Haven Terminology

Teodric Abstract: This document lists and describes some terms and abbreviations used in the computer game industry, and how these terms relate to the Haven project .

Copyright notes, author information etc can be found via a link at the bottom of the page.

Availability: Public

Vocabulary

admin -  An individual avatar or player of a virtual space who has been granted special powers within the space in order to administrate some aspect of it. Short, of course, for administrator.

anonymity -  A state in which your identity and past history is completely unknown. In a virtual space, avatars are only anonymous under one of the following circumstances: a) they are able to change identities easily, b) the avatar is new to the space, or c) the space is so large that in any given group of people, a given avatar is not likely to be known.

area -  A term for a collection of rooms that share a common theme, generally by the same author. Areas usually also imply a collection of other statistics and data beyond the mere description of the map. An Area file is the file in which an area is stored: a template-based text file that may or may not be compiled into binary data before use in a mud server.

ASCII  -  In mud terms, shorthand for text-only display. When one refers to ASCII graphics, one means crude graphics formed out of typographical characters.

attributes -  The collection of tangible and intangible qualities that make up an avatar.

audience - see the Credo for an explanation.

avatar - the player's representation in a shared environment.  The virtual incarnation of a participant in a virtual space; the character, figure, or persona they inhabit the virtual space with and present to the other participants.

bandwidth -  Connections over the Internet imply data transmission. But wires can only handle a certain volume of data in a given time. The term for this is bandwidth. In general, the bandwidth required by a server is the average bandwidth usage per player, multiplied by the number of players at peak usage times.

BSX MUD -  A type of mud written by Bram Stolks that supports simple graphics on the X-Windows platform using a markup language.

cartoon -  A simplified and abstracted visual representation of something, which selects specific elements to magnify and therefore emphasize.

character - a role assumed by a player in the context of a computer game, especially roleplaying games.

character advancement -  The common goal-oriented practice of increasing tangible attributes and available commands for an avatar, usually as part of a game framework.

chat -  An embedded real-time communication system via the Internet. Muds frequently embed chat systems within their framework, and for some muds, chat is the whole point of existing.

chat box -  An interface method for presenting textual output in a graphical environment, a chat box is a typically modal interface that aggregates all the text output from the server into a scrolling text box. In many graphical muds, a chat box serves to essentially display all the output of the mud except for special effects and a graphical depiction of the spatial relationship between avatars and the world.

chat room -  A chat room is a non-spatial environment wherein multiple participants may type and have their text reflected out to all other participants. The sine qua non of chat rooms is Internet Relay Chat, usually termed IRC.

churn -  Churn or churn rate is a term from service industries. It refers to the amount of users of the service who are choosing not to continue subscribing to the service, versus the amount of newly acquired users and the amount of returning users. There are several different ways of measuring churn, but in general, a positive churn rate indicates that your user base is growing, and a negative one means that your base is shrinking. Clearly, nobody wants to keep a negative churn rate for long, as it is unsustainable and may result in shutting the service down.

client -  For the purposes of this book, a client is a piece of software that connects to a server. It serves as front-end for the server’s output, essentially a display mechanism. Generally, clients have very little smarts to them. Clients do not have to be graphical—a common type of text-based client are Telnet clients, which are implementations of a text-based client that uses the Telnet protocol defined in an Internet RFC.

client-server -  A relationship in which piece of software is run remotely on a server, but users do not interact with the server directly. Instead, they connect via a client, a mediating piece of software that opens a remote connection to the server and displays the server’s output.

closure -  Marshall McLuhan’s term for the act of filling in gaps and details in an iconic or abstracted representation of something. When we see two dots and a curved line as a face, we are committing an act of closure.

codebase -  The common term for the standardized code distributions of various types of mud. When one refers to the Merc codebase, one means servers based on the publicly released version of the source code.

community relations (CR) -  Also called Online Community Relations, or OCR. Refers to the support given to the players outside of the normal play of the game. Normally Web-based and can include use of Web page news postings, message boards, Chat programs for live help, and download sections for information and software applications pertaining to the game.

contextual exit -  In a room-based environment, exits are logical connections between rooms. By convention, most exits represent spatiality by representing cardinal directions. A contextual exit is one where the exit does not represent a cardinal direction, but rather a subtler sort of spatiality, such as “towards the church” or “into the room.”

continuous map -  This is a sort of map where the virtual world is represented on a coordinate space, as opposed to using a node-based (e.g. room-based) system with exits that merely mimic spatiality. A room-based system can contain continuous maps within each node (as in the example of EverQuest).

cool media -  Marshall McLuhan terms media that require a high degree of closure cool media.

corpse -  On most muds, when an avatar dies, a new object is created and left behind at the location of the avatar’s death, to represent the avatar’s corpse. Of course, the avatar is also generally reincarnated immediately. This leads to the interesting phenomenon of a given player having two bodies (or more, if they are unfortunate enough to die a lot) at once.

cross-gender play -  The phenomenon of a player using an avatar of a different gender than their gender in real life. One often speaks of avatars being “male presenting” or “female presenting” in order to clarify that one cannot assume that the avatar’s gender matches that of the human behind it.

downtime - progress restriction by introduction of mandatory delays in gameplay.

exp, xp - a popular way to measure progress in computer games, particularly roleplaying games.

FP - first person. This is a game that is seen through the eyes of a character, usually with a 3 dimensional environment.

FPS - first person shooter. A FP game that has action (shooting/killing) as it's main ingredient. Doom is arguably the first real FPS and one of the most important games in computer history. Other important entries include the successors Quake, Quake II and Quake II Arena, and titles such as Half-Life, Unreal and the entire Tomb Raider series (TR is actually third person, but it is otherwise completely in line with first person shooters except for having a slight puzzle angle). FPS games typically lack other challenges than twitch and shoot skills.

fps - frames per second, a way to measure the quality of graphics in an application. By itself it says nothing of the rendering quality however - to be meaningful it must be paired with other data. Low frame rates (low fps numbers) are always bad though. Below 30 fps is visibly flickering. The human eye is not capable of making use of frame rates above c 70 fps.

gamemaster (GM) -  A person with special administrative game powers assigned to assist players in the game by solving problems. Normally assigned or associated with the Customer Service department.

interest gamemaster (IGM) -  A person with special game administrative powers assigned to create and manage special events, scenarios, storylines, quests, adventures and the like. Normally assigned or closely associated with the Live Team and, sometimes, Customer Service.

level - another way of measuring progress and power of a character in computer games, usually coupled with experience points (earn a certain number of experience points to advance to the next level)

live team -  The developers (programmers, artists, server code specialists, designers, etc.) assigned to the game after it has been made available to the public. A Live Team most often concentrates on two areas: A) Fixing bugs and design exploits to keep the game balanced and fair, and B) adding new content and features over time.

massively multiplayer game (MMG) -  A game in which a minimum of 128 simultaneous players may interact within the same game world in real time.

massively multiplayer online role-playing game (MMORPG) - Typically persistent worlds (limited persistence) with capability for up to several thousand simultaneous users in each world.

MOB - "mobile", a term for computer controlled entities in early MUDs

MUD - multi-user dungeon. An early form of online gaming, still alive. MUDs are text based, similar to early adventure games like zork .

multiplayer game -  A game that allows 2 or more people to play the same game in the same game session or period. May be turn-based or real-time, and can include such styles as games-by-email and trivia games in which thousands may be answering the same questions, but are not interacting on a personal level.

Hybrid: A game with both solo home play and online play capabilities, but with no or limited elements of persistence. Most often refers to retail games of the likes of an Unreal, Age of Empires, Half-Life or Rainbow Six. As of this writing, Hybrids are generally not MMGs and are limited to 64 or less players per game session or world. Bioware’s NeverWinter Nights, due to be released in early 2002, may cause a need for this definition to be rewritten.

online game -  Any game playable via a modem and/or remote network connection, including modem-to-modem and Internet network connections, but specifically excluding Local Area Network-only game sessions.

quest - problem solving or achievements that controls flow of events

performer, performance - see the Credo for an explanation.

persistence -  See also the elements of persistence in Persistent World above. Persistent elements may be modified over time during game play, but the-then current state of the persistent element reacts consistently to all current observers. For example, if a player demolishes a house, other players in the immediate area also see a demolished house. Players who pass by the house later on also see a demolished house.

persistent world (PW) - persistent world, data sets that permanently change as a result of player actions.   Also called a Persistent State World. A game in which several elements retained on remote servers, and the current state of which is the same to all observing players. Examples may include geographic terrain such as mountains, lakes, caves and rivers; player character attributes and skills; player object inventory items such as clothing, armor and weapons; terrain objects such as buildings and trees, and; non-player characters. PWs are most often also MMGs.

PnP - pen and paper, pen and paper roleplaying as defined by TSR's Dungeons and Dragons products and all systems that followed them. Particularly (computer) roleplaying games inherit much of their nature from PnP roleplaying.

publishing - making a created piece of media or content available to other [consumers].

PvE - player vs. environment, gaming where players cooperate in contest with the environment.

PvP - player vs. player, gaming where players compete directly against each other.

reset - The act of shutting down and restarting a world server or system. Depending on the application this may mean the world state is returned to a starting state or to a last saved state. The Haven framework uses the terms world reset for a reset that returns state to a known start state and the term server reset for a reset that returns to a last saved state.

RPG - role playing game. A context where participants assume roles of imaginative characters, typically developing the characters during the course of a long adventure.

RTS - real-time strategy. A genre of resource management/conflict games made popular by WarCraft and its successors, including Command & Conquer, Age of Empires and StarCraft, some of the most successful games ever released.

scribing - creating media in some form, putting it "on paper" or saving it.

server -  Sometimes called "dimension," "shard" or "world." In PWs and MMGs, this actually refers to a number of server computers linked together to form the hardware infrastructure on which the game operates, generally in a contiguous fashion. Most MMGs and PWs have two or more servers, each representing a distinct but nearly identical iteration of the game.

shard - one instance of the game universe in an online game. The term comes from Ultima Online.

sim - simulation, simulator. Several different types of simluations have been very successful, including SimCity and many flight/space simulators. Since simulation is a feature more than a genre, it is usual for games to be both a sim and either strategy or action at the same time. Some sim games are very unique, such as the Sims and the Creatures series. Civilization is one of the most successful sims. Among space/flight sims, the Wing Commander series and Microsoft Flight Simulator deserve mention.

subscription -  A regular fee paid to the publisher or developer of an online game in exchange for continued access to play the game. Most often used for MMGs and PWs.

xp - see exp.

Legend

 denotes a definition taken from Jessica Mulligan's Biting the Hand article You Said a Mouthful ( http://www.skotos.net/articles/BTH_08.html ).

 denotes a definition taken from Raph Koster's book excerpts glossary (http://www.legendmud.org/raph/gaming/book.html ).

Where nothing else is indicated, the entry is by the author of this page. Indicators apply from the place where they appear until the end of the entry, unless another indicator appears before that point.

Links

The MUD Dev mailing list FAQ ( http://www.kanga.nu/FAQs/MUD-Dev-L/ , archive of the list http://www.kanga.nu/archives/MUD-Dev-L/ ) contains many useful things, like links, terminology and reference descriptions of problems.

Reprinted terminology from the MUD Dev FAQ

Note: This is a verbatim copy from the terminology reference listing in the MUD Dev list FAQ , February 2002 version .

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 consensual.  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.

  The following is a compilable example of generic event-handling code in
  C courtesy of Adam Wiggins.

---<begin code>---

#include <stdio.h>

typedef float Tick;               /* Time counter type */

/* Defines for event types */
enum { EVENT_ALPHA = 0, EVENT_BETA, EVENT_GAMMA, NUM_EVENTS };

/* The event structure itself */
typedef struct SEvent
{
   int Type;        /* EVENT_x */
   Tick RipenTime;  /* time at which event ripens */
   void *Data;      /* any extra data to be passed to the callback function */
   struct SEvent *Next;      /* next node in the linked list of events */
} Event;

/* Defininiton for the callback function type */
typedef void (*EventCallback)(void *);
#define EVENT(x)    void (x)(void *)

/* Event function prototypes - these should be defined somewhere else, like
so:

    EVENT(EventAlpha)
    {
         code to execute on event completion;
    }
*/
EVENT(EventAlpha);
EVENT(EventBeta);
EVENT(EventGamma);

/* Master list of event callbacks, by type */
EventCallback EventCallBacks[NUM_EVENTS] =
{ EventAlpha, EventBeta, EventGamma };

Event *EventList = NULL;        /* Master event list */
Tick GameTick = 0;              /* Current game time */

/* Call this to add an event "time" ticks into the future */
void AddEvent(int type, Tick time, void *data)
{
   Event *newEvent, *e, *prev;

   /* Sanity checking */
   if (time <= 0)
      return;

   /* Create the event */
   newEvent = (Event *)malloc(sizeof(Event));
   newEvent->Type = type;
   newEvent->RipenTime = GameTick + time;
   newEvent->Data = data;

   /* Descend the list until a later event is found */
   for (e = EventList; e && e->RipenTime < newEvent->RipenTime; e = e->Next)
      prev = e;

   /* Insert the new event before that event */
   newEvent->Next = e;
   if (prev)
      prev->Next = newEvent;
   else
      EventList = newEvent;
}

/* Call the function below during your update loop */
/* The parameter is how many game ticks have passed since the last update */
void EventUpdate(Tick ticks)
{
   Event *e, *next;
   int update = 0;

   GameTick += ticks;

   /* Execute each event that is due to ripen */
   for (e = EventList; e && e->RipenTime <= GameTick; e = e->Next)
   {
      (*EventCallBacks[e->Type])(e->Data);
      update = 1;
   }

   /* Second pass, delete all ripened events */
   /* This part is done in a seperate pass in case one of the event callbacks
      adds a new event, to avoid munging up the event linked list */
   if (update)
   {
      for (e = EventList; e && e->RipenTime <= GameTick; e = next)
      {
         next = e->Next;
         free(e);
      }

      EventList = e;
   }
}

---<end code>---


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 damage, 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
  behaviour 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 value 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
  trouble makers.  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.


Full world reset, aka "groundhog day" muds: Muds wherein resets occur
  globally, simultaneously (sf reset and repop). [RaphK]


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 accumulation 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 committing 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 committed 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/lists/listinfo/mud-dev/> ]


Mule: Character created on goal-orientated muds those sole purpose is to
  supplement a player's primary character by supplying services such as
  equipment repair.  Mules usually have skills that cannot be obtained
  without creating a new character but are perceived to be undesirable to
  play.  For example, an alchemist class could be considered unenjoyable
  to play but due to their special ability to repair equipment, the regular
  players create mule alchemists just to access that ability.


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.


PK, player-killing: The intentional killing of a player character by
  another player, with or without the first player's prior knowledge,
  agreement, or consent. [JCL]


Psychological disinhibition: The term for when people act less inhibited
  than normally because of circumstance. All behaviours online tend to become
  less inhibited, and the greater the absence of identity cues for the
people
  you are interacting with, the less inhibited the behaviours tend to get.
  [RaphK]


Realism: This is not necessarily correspondance 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-hierarchical two layered skill system wherein 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 resilience of same are improved by conditioning. Nathan Y]
 
  [Note 2: The web is modelled 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.


Virtual sociopath: a player who shows no empathy towards any other players
  and therefore is a willing killer of them) but who is perfectly normal
  in real life--someone whose disassociation from others only occurs in
  an online setting, because of their lack of empathic connections to
  other players. See "psychological disinhibition." [RaphK]


World state: a mud which saves world state is one in which there is
  persistence not only of characters but also of objects other than
  characters. Worlds which do not save world state (such as muds derived
  from Dikus) only save character data and the world itself (other than its
  static map) is not persistent over reboots. A snippet from my website:

  --->
  The "middle layer" referred to is the one of the three layers of
  significance in a virtual world: that which is the static database, that
  which is the play of data on said static database, and that which is the
  dataset of players themselves. Depending on the method of state-saving of
  the mud, they may save one, two, or all three of these things. As an
  example, a classic Diku saves only the third layer: players. Ultima Online
  saves both players and the environment. A typical MUSH saves players, the
  environment, and also the actual map and setting which holds the
  environment, since MUSHes allow dynamic alteration of the static data.
Some
  early muds did not save any of the three, and thus were not truly
  "persistent."
  <---

  [RaphK]

(End of reprint from MUD Dev FAQ)

Copyright Notes, Author Credits and Additional Information

This text was written by Olof Ekström except where indicated. For more information about the author of this page, see Olof Ekström's personal information in the Project Profiles document. Where noted above , definitions are borrowed from other original sources. Consider these loans temporary. They will be replaced with my own definitions as soon as possible. The original FAQ for the MUD Dev mailing list as well as the mailing list archive can be found at http://www.kanga.nu/FAQs/MUD-Dev-L/ and http://www.kanga.nu/archives/MUD-Dev-L/ respectively.

Copyright © 2001-2002 Olof Ekström/Extro System. All rights reserved.

Bälinge/Uppsala, Sweden, July 2001-February 2002