MOO
Encyclopedia
A MOO is a text-based online virtual reality system to which multiple users (players) are connected at the same time.

The term MOO is used in two distinct, but related, senses. One is to refer to those programs descended from the original MOO server, and the other is to refer to any MUD
MUD
A MUD , pronounced , is a multiplayer real-time virtual world, with the term usually referring to text-based instances of these. MUDs combine elements of role-playing games, hack and slash, player versus player, interactive fiction, and online chat...

 that uses object oriented techniques to organize its database of objects, particularly if it does so in a similar fashion to the original MOO or its derivatives. Most of this article refers to the original MOO and its direct descendants, but see Non-Descendant MOOs for a list of MOO-like systems.

The original MOO server was authored by Stephen White
Stephen White (programmer)
Stephen White is a Software Developer employed by Google working on Google Chrome. He is a Webkit Contributor and a maintainer of the Skia Graphics Engine. Stephen was also the creator of MOO, the Object-Oriented Multi-user Dungeon and Dune, the VRML97 editor....

, based on his experience from creating the programmable TinyMUCK
TinyMUCK
TinyMUCK or, more broadly, a MUCK, is a type of user-extendable online text-based role-playing game, designed for role playing and social interaction...

 system. There was additional later development and maintenance from LambdaMOO
LambdaMOO
LambdaMOO is an online community of the variety called a MOO. It is the oldest MOO today.LambdaMOO was founded in late 1990 or early 1991 by Pavel Curtis at Xerox PARC. Now hosted in the state of Washington, it is operated and administered entirely on a volunteer basis...

 administrator, and former Xerox PARC
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....

 employee, Pavel Curtis
Pavel Curtis
Pavel Curtis is an American software architect at Microsoft who is best known for having founded and managed LambdaMOO, an online community...

.

One of the most distinguishing features of a MOO is that its users can perform object oriented programming within the server, ultimately expanding and changing how the server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

 behaves to everyone. Examples of such changes include authoring new rooms and objects, creating new generic objects for others to use, and changing the way the MOO interface operates. The programming language used for extension is the MOO programming language
MOO programming language
The MOO programming language is a relatively simple programming language used to support the MOO Server. It is dynamically typed and uses a prototype-based object-oriented system, with syntax roughly derived from the Algol school of programming languages....

, and many MOOs feature convenient libraries of verbs that can be used by programmers in their coding known as Utilities. The MOO programming language is a domain-specific programming language
Domain-specific programming language
In software development and domain engineering, a domain-specific language is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique...

.

Background

MOOs are network accessible, multi-user, programmable, interactive systems well-suited to the construction of text-based adventure games, conferencing systems, and other collaborative software. Their most common use, however, is as multi-participant, low-bandwidth virtual realities
Virtual reality
Virtual reality , also known as virtuality, is a term that applies to computer-simulated environments that can simulate physical presence in places in the real world, as well as in imaginary worlds...

. They have been used in academic environments for distance education
Distance education
Distance education or distance learning is a field of education that focuses on teaching methods and technology with the aim of delivering teaching, often on an individual basis, to students who are not physically present in a traditional educational setting such as a classroom...

, collaboration (such as Diversity University
Diversity University
Diversity University was the first MOO dedicated specifically for educational use. Like other MUDs, it was an online realm that allowed people to interact in real time by connecting to a central server, assuming a virtual identity within that realm, "teleporting" or "walking" to virtual rooms,...

), group decision systems, and teaching object-oriented concepts; but others are primarily social in nature, or used for role-playing games (RPGs), or simply to take advantage of the programming possibilities. They have also been used in scientific studies of virtual presence
Presence (telepresence)
Presence is a theoretical concept describing the effect that people experience when they interact with a computer-mediated or computer-generated environment . Lombard and Ditton described presence as “an illusion that a mediated experience is not mediated”...

.
Most commonly, MOOs are connected to by users using a client
Client (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....

 which speaks the telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

 protocol, which provides a stay-alive connection with the host, to relay output and send commands. Some however have developed web interfaces, or other such methods; however this commonly limits interaction that the user can have, usually to the point they have no interaction, but instead can browse objects and discover typical information. Developments in cross-MOO networking have also lead to the creation of SunNET, a hubless network allowing cross-MOO communication and add extra possibilities to cross-MOO development, including networked channels
Channel (communications)
In telecommunications and computer networking, a communication channel, or channel, refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel...

. Another network called GNA-NET, designed by Gustavo Glusmann of BioMOO connected seventeen mostly education sites. Most of these MOOs hosted online classes or other early versions of distance education.http://www.technorhetoric.net/1.2/coverweb/HandH/edumoos.htmlhttp://tecfa.unige.ch/~lintz/staf14/staf14+ST/projet.html

Every MOO stores the content and state of all its objects within a persistent
Persistence (computer science)
Persistence in computer science refers to the characteristic of state that outlives the process that created it. Without this capability, state would only exist in RAM, and would be lost when this RAM loses power, such as a computer shutdown....

 object database
Object database
An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming...

, which keeps objects from being lost by a reset of the MOO server software or the computer hosting it.

New MOOs have to choose a starting database from which to set their MOO up, or they can use a very minimal one which contains only the necessary objects to start a MOO. There are a handful of such MOO "core" databases which serve as foundations of code and utilities from which to start your MOO, including LambdaCore (from LambdaMOO
LambdaMOO
LambdaMOO is an online community of the variety called a MOO. It is the oldest MOO today.LambdaMOO was founded in late 1990 or early 1991 by Pavel Curtis at Xerox PARC. Now hosted in the state of Washington, it is operated and administered entirely on a volunteer basis...

), MinimalDB (considered the minimum necessary code and utilities to work usefully in a MOO), JHCore (from Jay's House Moo), and enCore
Encore
-Music:* Encore , a performance added to the end of a concert* Encore , a German singer* Encore HSC, an annual performance at the Sydney Opera House* Encore School for Strings, an American summer music institute...


(from LinguaMOO).

Every object in the MOO is assigned a number, and may be referred to by this number, prefixed with a #, as well as its name when the user is in the object's presence. Administrators, also known as Wizards, who are able to manage the MOO, and assign certain global names to these objects, which are prefixed with $, a process known as corifying. They also feature parenting systems, and every object will have a parent, commonly eventually leading to Root Class, otherwise known as #1. #0 is also reserved as a special system object which is responsible for managing the list of global names, incoming network connections, and other information related to the operation of the system.

History

MOO, along with all of its nephews, started out with text based adventure games. With the advent of the internet, MUD
MUD
A MUD , pronounced , is a multiplayer real-time virtual world, with the term usually referring to text-based instances of these. MUDs combine elements of role-playing games, hack and slash, player versus player, interactive fiction, and online chat...

 was formed as a networked version of one of those games. Eventually it developed into a tree of different types of MUD, with MOO becoming one of them.

Stephen White (also known by the handles "Ghondahrl" and "ghond") wrote the first version of the MOO server, which was released on May 2, 1990, and used for the operation of a server called "AlphaMOO". Pavel Curtis, an employee of Xerox PARC
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....

 and also known by his handles "Lambda", and "Haakon", took the basic design, language, and code, fixed bugs and added features to release the first version, called "LambdaMOO" on October 30, 1990.

According to Jill Serpentelli in her paper Conversational Structure and Personality Correlates of Electronic Communication:
Curtis went on to explain how the transition occurred from AlphaMOO to LambdaMOO
LambdaMOO
LambdaMOO is an online community of the variety called a MOO. It is the oldest MOO today.LambdaMOO was founded in late 1990 or early 1991 by Pavel Curtis at Xerox PARC. Now hosted in the state of Washington, it is operated and administered entirely on a volunteer basis...

. After fixing bugs in the system, rewriting some of the code, adding more programming capability, and writing documentation, he had created what he termed "a truly separate entity" from the original AlphaMOO. He dubbed this new system LambdaMOO, after one of his names on the system and, according to Curtis, "because it's a key word in some of the other non-mud research that I do." The new system was announced as open for public access on UseNet
Usenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...

 (a world-wide bulletin board system) in February of 1991 (Curtis, personal communication).


MOO was originally developed as a MUD
MUD
A MUD , pronounced , is a multiplayer real-time virtual world, with the term usually referring to text-based instances of these. MUDs combine elements of role-playing games, hack and slash, player versus player, interactive fiction, and online chat...

 server in the same general style (sharing much of the command syntax and community conventions) as TinyMUD
TinyMUD
TinyMUD is the name of a MUD server codebase, and the first MUD running that codebase. The MUD itself has subsequently come to be known as "TinyMUD Classic" or simply "Classic", or occasionally "DaisyMUD"...

.

There are currently two distributions of the MOO server code. The more popular of the two, the LambdaMOO server, is named such as indication of the close historical and continuing association of the MOO server code with the first public MOO, LambdaMOO, which is still popular today.

It is this LambdaMOO version of MOO that gained popularity in the early 90s, and it remains the most widely-used distribution of MOO. Pavel Curtis continued to maintain the server for several years. Other early contributors to the LambdaMOO server included users Tim Allen ("Gemba"), "Gary_Severn", Roger Crew ("Rog"), Judy Anderson ("yduJ"), and Erik Ostrom (known as "Joe Feedback"). Later, Erik Ostrom maintained the server, and the server is now maintained by Ben Jackson and Jay Carlson and has a LambdaMOO SourceForge.net
SourceForge.net
SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...

 project.

Current Projects Based on MOO

  • GammaMOO server is a fork with the goal of being a testing ground for new features not yet qualified for inclusion in the main MOO distribution (which has very strict standards for any changes). It can be seen as a the equivalent of a "development branch" that most other projects have.

  • Codepoint is an effort to extend LambdaMOO to support Unicode characters. Originally the project was started by H. Peter Anvin using libucd, a small library that implements features of the Unicode Character Database without being unwieldy. The project is now being developed by James C. Deikun, Robert Leslie, and Kenny Root with the goal of eventually integrating it into the main LambdaMOO distribution.

Non-descendant MOOs

Some servers use "MOO" style object oriented characteristics without being descended from the original MOO server, in the sense that they use little or none of that server's source code and use internal languages that are more or less incompatible with the MOO programming language
MOO programming language
The MOO programming language is a relatively simple programming language used to support the MOO Server. It is dynamically typed and uses a prototype-based object-oriented system, with syntax roughly derived from the Algol school of programming languages....

. None of them have attained the popularity of LambdaMOO
LambdaMOO
LambdaMOO is an online community of the variety called a MOO. It is the oldest MOO today.LambdaMOO was founded in late 1990 or early 1991 by Pavel Curtis at Xerox PARC. Now hosted in the state of Washington, it is operated and administered entirely on a volunteer basis...

 or its relatives.

Stephen White went on to write a new and similar system called CoolMUD
CoolMUD
CoolMUD is a type of MUD, and a descendant of MOO. It is a text-based online virtual reality system to which multiple users are connected at the same time...

, although it never obtained the same wide userbase as MOO. Another, later, attempt at a programmable object-oriented MUD server was ColdMUD
ColdMUD
ColdMUD is a type of MUD server software, similar in many ways to MOO and CoolMUD, from which it is descended. It is a text-based online virtual reality system to which multiple users are connected at the same time. Created by Greg Hudson, it has many similarities to both MOO and CoolMUD...

, written by Greg Hudson and later maintained by Brandon Gillespie under the name "Genesis".

One unusual MOO with no real relationship to the original MOO is called mooix. mooix is unique among MUDs in that it uses the underlying UNIX operating system to handle all of the multitasking
Computer multitasking
In computing, multitasking is a method where multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for...

 and networking
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

 issues. Several unique side effects result from this, one of which is that the MOO can be programmed in any language. mooix was written after a failed attempt by Joey Hess to write a MOO entirely in Perl, called perlmoo.

There are a number of MOOs written in Python, including POO, MOOP and ErisMUD.

MOO is often used in programming games, such as PointSet.

MOO access

Participants (usually referred to as users) connect to a MOO using telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

 or some other, more specialized, client program. Upon connection, they are usually presented with a welcome message explaining how to either create a new character or connect to an existing one.

Having connected to a character, users then give one-line commands that are parsed and interpreted by the MOO as appropriate. Such commands may cause changes in the virtual reality, such as the location of a character, or may simply report on the current state of that reality, such as the appearance of some object.

The job of interpreting those commands is shared between the two major components in the MOO system: the server and the database. The server is a program, written in a standard programming language, that manages the network connections, maintains queues of commands and other tasks to be executed, controls all access to the database, and executes other programs written in the MOO programming language
MOO programming language
The MOO programming language is a relatively simple programming language used to support the MOO Server. It is dynamically typed and uses a prototype-based object-oriented system, with syntax roughly derived from the Algol school of programming languages....

. The database contains representations of all the objects in the virtual reality, including the MOO programs that the server executes to give those objects their specific behaviours.

Almost every command is parsed by the server into a call on a MOO procedure, or verb, which actually does the work. Thus, programming in the MOO programming language is a central part of making non-trivial extensions to the database and hence the virtual reality
Virtual reality
Virtual reality , also known as virtuality, is a term that applies to computer-simulated environments that can simulate physical presence in places in the real world, as well as in imaginary worlds...

.

MOO administration

All MOOs provide a flag called Wizard; when set on a player, the player gains the ability to view and modify nearly everything in the MOOs database. Such players are called Wizards, and usually form the basis for MOO administration. Designated owners of a MOO are sometimes referred to as Archwizards.

These wizards are able to restrict access to the MOO, as well as make news postings and monitor logs. Wizard permissions are needed for modification and even execution of verbs and properties for which the user does not own, or is not publicly readable/writable. All verbs and properties within objects have the appropriate flags, with the user can change to determine its current state. They are also able to assign global names to any object.

Builders are players who are given the limited ability to create objects and areas in a MOO, whereas programmers are also able to program on the MOO.

Notable MOOs

  • LambdaMOO
    LambdaMOO
    LambdaMOO is an online community of the variety called a MOO. It is the oldest MOO today.LambdaMOO was founded in late 1990 or early 1991 by Pavel Curtis at Xerox PARC. Now hosted in the state of Washington, it is operated and administered entirely on a volunteer basis...

    was created alongside the server, and has continued despite server development having slowed. It was the first public MOO. http://lambdamoo.info/
  • JaysHouseMOO was a social MOO started by Jay Carlson at Minnesota State University at Mankato in 1992. It had the first gopher server implemented in MOO language. It was also noted by Netscape as having a web server as well. During the 90's, it was considered the hangout of the MOO programmer elite. Notable among them were former and current LambdaMOO code maintainers Roger Crew, Erik Ostrom, Jay Carlson, and Ben Jackson.
  • Diversity University
    Diversity University
    Diversity University was the first MOO dedicated specifically for educational use. Like other MUDs, it was an online realm that allowed people to interact in real time by connecting to a central server, assuming a virtual identity within that realm, "teleporting" or "walking" to virtual rooms,...

    , the first dedicated educational MOO, created by Jeanne McWhorter in 1993.MediaMOO is designed for professional media researchers now hosted at Northern Illinois University's Department of English. It was originally created in 1993 by Amy Bruckman at the Epistemology and Learning Group at the MIT Media Lab
    MIT Media Lab
    The MIT Media Lab is a laboratory of MIT School of Architecture and Planning. Devoted to research projects at the convergence of design, multimedia and technology, the Media Lab has been widely popularized since the 1990s by business and technology publications such as Wired and Red Herring for a...

    . In its heyday around 1996, MediaMOO had over 1000 members, was governed by an elected council, and hosted frequent meetings, including the Tuesday Cafe, a weekly discussion of members of the Computers and Writing community. It is still accessible, though largely inactive, and is no longer supervised by Bruckman.
  • MOOSE Crossing
    MOOSE Crossing
    MOOSE Crossing was an educational MOO developed by Amy S. Bruckman in 1996 as her doctoral dissertation work. It employed a constructionist learning pedagogical approach and was designed for teaching children 9 to 13 years of age. Bruckman's work on MOOSE Crossing and MediaMOO was called "the...

    , a constructionist learning
    Constructionist learning
    Constructionist learning is inspired by the constructivist theory that individual learners construct mental models to understand the world around them. However, constructionism holds that learning can happen most effectively when people are also active in making tangible objects in the real world...

     educational MOO designed for teaching children ages 9 to 13. Also created by Amy Bruckman.
  • De digitale metro (The Digital Subway) founded in 1994 as part of De Digitale Stad (The Digital City of Amsterdam) and one of the first Dutch MOOs. http://www.demetro.nl/BioMOO was a professional MOO started by Gustavo Glusman and Jaime Prilusky at the Weizmann Institute of Science
    Weizmann Institute of Science
    The Weizmann Institute of Science , known as Machon Weizmann, is a university and research institute in Rehovot, Israel. It differs from other Israeli universities in that it offers only graduate and post-graduate studies in the sciences....

     in 1993. It was a virtual place for Biology researchers to meet to brainstorm, hold colloquia and conferences, and explore the serious side of MOOs as a medium. These professional activities were recognized in an article entitled "Cyberspace Offers Chance To Do 'Virtually' Real Science" published in the journal Science. BioMOO Wizards created a portable subset of the BioMOO server, called the Virtual Conference Center, and submitted it as a paper at a virtual scientific conference and used the VCC to host another virtual scientific conference. BioMOO sported a VR web interface. During its eight years of activity, BioMOO hosted many professional activities including the Virtual School of Natural Sciences' courses on BioComputing and Principles of Protein Structure. Prilusky and Glusman also released in 1994 the File Utilities Package, a MOO server modification enabling direct but controlled access to the underlying file system. Glusman also developed the intermoo GNA Network.LinguaMOO is an educational MOO dedicated to general studies of arts and humanities, created in 1995 by Cynthia Haynes of the University of Texas at Dallas
    University of Texas at Dallas
    The University of Texas at Dallas, also referred to as UT Dallas or UTD, is a public research university in the University of Texas System. The main campus is in the heart of the Richardson, Texas, Telecom Corridor, north of downtown Dallas...

     and Jan Rune Holmevik of the University of Bergen
    University of Bergen
    The University of Bergen is located in Bergen, Norway. Although founded as late as 1946, academic activity had taken place at Bergen Museum as far back as 1825. The university today serves more than 14,500 students...

    . Many educational MOOs use the enCore system, derived from LinguaMOO, for their MOO database core. http://lingua.utdallas.edu:7000/ Haynes and Holmevik published two books on the educational use of MOOs.BayMOO is a social MOO founded in October 1993. It is based on loosely on San Francisco and its surrounding areas. For part of its life it was hosted at SFSU. BayMOO also hosted FactoryNet a custom MOO for NIST. In December 1994 it was one of the MOOs chosen to host Aerosmith
    Aerosmith
    Aerosmith is an American rock band, sometimes referred to as "The Bad Boys from Boston" and "America's Greatest Rock and Roll Band". Their style, which is rooted in blues-based hard rock, has come to also incorporate elements of pop, heavy metal, and rhythm and blues, and has inspired many...

    's four day "Cyberspace Tour" which was co-sponsored by EFF
    EFF
    EFF may refer to:* The Effective Federal funds rate* Electronic Frontier Foundation, a U.S. non-profit advocacy group* Elf Fantasy Fair, a fantasy event in the Netherlands* Economic Freedom Fund, a U.S. political organization* Equipped for the Future, a U.S...

    . Earlier that year it had also hosted a meeting of the Cypherpunk
    Cypherpunk
    A cypherpunk is an activist advocating widespread use of strong cryptography as a route to social and political change.Originally communicating through the Cypherpunks electronic mailing list, informal groups aimed to achieve privacy and security through proactive use of cryptography...

    s. Part of SunNET and GNA-NET intermoo networks.http://wiki.baymoo.org/http://130.212.41.61/fnetprospectus.htmlhttp://www.interesting-people.org/archives/interesting-people/199412/msg00002.htmlHellMOO is a roleplaying MOO that has been online since 2004 and has split into two different versions of the same game, one being called Hellmoo as usual and the other one being called Hatemoo. It has a main post-apocalypse theme but also mixes in a lot of science-fiction and erotica
    Erotica
    Erotica are works of art, including literature, photography, film, sculpture and painting, that deal substantively with erotically stimulating or sexually arousing descriptions...

    , cyberpunk, sexual and pop culture references. More than 20 players are usually playing at the same time and a dedicated coder is still actively adding content to the game as of 2011.Sindome
    Sindome
    Sindome is a cyberpunk MOO . Roleplaying in Sindome is unique in that most of its coding is custom, employing XML, File-IO, and a graphical web interface...

    is a cyberpunk
    Cyberpunk
    Cyberpunk is a postmodern and science fiction genre noted for its focus on "high tech and low life." The name is a portmanteau of cybernetics and punk, and was originally coined by Bruce Bethke as the title of his short story "Cyberpunk," published in 1983...

     roleplaying MOO that has been online since 1997. It is still being developed, with new code being added by a dedicated group of coders. It is one of the more heavily developed MOO games still online. The game has a medium size player-base.

See also

  • MU*
  • Chronology of MUDs
  • Online text-based roleplaying game
  • Cyberformance
    Cyberformance
    Cyberformance refers to live theatrical performances in which remote participants are enabled to work together in real time through the medium of the internet, employing technologies such as chat applications or purpose-built, multiuser, real-time collaborative software such as UpStage...

  • Digital architecture
    Digital architecture
    Digital architecture uses computer modeling, programming, simulation and imaging to create both virtual forms and physical structures. The terminology has also been used to refer to other aspects of architecture that feature digital technologies...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK