Muds Wiki
Explore
Main Page
All Pages
Community
Interactive Maps
Recent Blog Posts
FANDOM
Fan Central
BETA
Games
Anime
Movies
TV
Video
Wikis
Explore Wikis
Community Central
Start a Wiki
Don't have an account?
Register
Sign In
Sign In
Register
MUDs
776
pages
Explore
Main Page
All Pages
Community
Interactive Maps
Recent Blog Posts
Editing
MOO
Back to page
Edit
Edit source
View history
Talk (0)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
A '''MOO''' (''[[MUD]], object oriented'') 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 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 [[MOO#Non-descendant MOOs|Non-Descendant MOOs]] for a list of MOO-like systems. The original MOO server was authored by Stephen White, based on his experience from creating the programmable [[TinyMUCK]] system. There was additional later development and maintenance from [[LambdaMOO]] administrator, and former Xerox PARC employee, Pavel Curtis. 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 [[MUD server|server]] 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]], 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]]. == 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 reality|virtual realities]]. They are often used in academic environments for [[distance education]] or collaboration such as [[Diversity University]]; but others are primarily social in nature, or used for [[computer role-playing game|role-playing games]] (RPGs), or simply to take advantage of the programming possibilities. Most commonly, MOOs are connected to by users using a [[MUD client|client]] which speaks the [[telnet]] 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 [[channel (communications)|channels]]. Every MOO stores the content and state of all its objects within a persistent]] [[object database]], 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]]), MinimalDB (considered the minimum necessary code and utilities to work usefully in a MOO), [[JHCore]] (from [[Jay's House Moo]]), and [[enCore]] (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 nieces, started out with [[text based adventure game]]s. With the advent of the internet, [[MUD]] 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 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 30th, 1990. According to Jill Serpentelli in her paper [http://www.eff.org/Net_culture/MOO_MUD_IRC/serpentelli.conversaion Conversational Structure and Personality Correlates of Electronic Communication]: :Curtis went on to explain how the transition occurred from [[AlphaMOO]] to [[LambdaMOO]]. 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]] (a world-wide bulletin board system) in February of 1991 (Curtis, personal communication). MOO was originally developed as a [[MUD]] server in the same general style (sharing much of the command syntax and community conventions) as [[TinyMUD]]. 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 Eric Ostrom (known as "Joe Feedback"). Later, Eric Ostrom maintained the server, and the server is now maintained by Ben Jackson and Jay Carlson and has a LambdaMOO [[SourceForge.net]] project. Sometime around early 2005, the GammaMOO server forked from LambdaMOO 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. == 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]]. None of them have attained the popularity of [[LambdaMOO]] or its relatives. Stephen White went on to write a new and similar system called [[CoolMUD]], although it never obtained the same wide userbase as MOO. Another, later, attempt at a programmable object-oriented MU* server was [[ColdMUD]], 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 [http://mooix.net/ mooix]. mooix is unique among MUDs in that it uses the underlying UNIX operating system to handle all of the multitasking and networking 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 [http://www.kitenet.net/~joey/code/perlmoo.html perlmoo]. There are a number of MOOs written in Python, including [http://www.strout.net/python/poo/ POO], [http://sourceforge.net/projects/moop/ MOOP] and [http://erismud.org 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]] 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]]. 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]]. == 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. 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. == Outline of well-known MOOs == {{linkfarm}} * '''[[LambdaMOO]]''' was created alongside the server, and has continued despite server development having slowed. It was the first public MOO, and is still one of the most active MOOs to date. [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.<ref>{{cite web |url=http://prentissriddle.com/trips/gophercon1993.html |title=GopherCon '93: Internet Gopher Workshop and Internet Gopher Conference |last=Riddle |first=Prentiss |authorlink=Prentiss Riddle |date=[[1993-04-13]] |accessdate=2008-05-20 |work=PrentissRiddle.com}}</ref> It was also noted by Netscape as having a web server as well.<ref>{{cite web |url=http://wp.netscape.com/home/whatsnew/whats_new_0693.html |title=What's New! June 1993 |date=[[1993-06-24]] |accessdate=2008-05-20 |work=Netscape Corporation}}</ref> During the 90's, it was considered the hangout of the MOO programmer elite.<ref>{{cite web |url=http://www.ibiblio.org/cmc/mag/1994/sep/meetme.html |title=meet me in cyberspace |year=1994 |last=Hand |first=Chris}}</ref> Notable among them were former and current LambdaMOO code maintainers Roger Crew, Erik Ostrom, Jay Carlson, and Ben Jackson. * '''[[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]] and Jan Rune Holmevik of the [[University of Bergen]]. Many educational MOOs use the enCore system, derived from LinguaMOO, for their MOO database core. [http://lingua.utdallas.edu:7000/] * '''[[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]]. 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. [http://www.cc.gatech.edu/~asb/MediaMOO/] * '''[[BioMOO]]''' was a professional MOO started by Gustavo Glusman and Jaime Prilusky at the [[Weizmann Institute of Science]] 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.<ref>{{cite web |url=http://www.timeshighereducation.co.uk/story.asp?storyCode=91378§ioncode=26 |title=Life mutates in MOO dimension |last=Flusfeder |first=Helena |authorlink=Helena Flusfeder |date=[[1996-11-08]] |accessdate=2008-12-16}}</ref> It sported a VR web interface.<ref>{{cite web |url=http://www.bio.net/bionet/mm/bio-www/1995-April/000280.html |title=BioMOO announce VR web interface |date=[[1995-04-30]] |accessdate=2008-12-16}}</ref> 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.<ref>{{cite web |url=http://www.techfak.uni-bielefeld.de/bcd/Vsns/index.html |title=GNA's Virtual School of Natural Sciences |last=Fuellen |first=Georg}}</ref> 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. <ref>{{cite web |url=http://tecfa.unige.ch/moo/book2/node147.html |title=FUP server builtin functions |date=[[1997-04-17]] |accessdate=2008-12-16}}</ref> * '''[[Rupert]]''' is a social MOO based on [[The Hitchhiker's Guide to the Galaxy]] by [[Douglas Adams]]. It is spread out over several planets, the main being ''[[Places in The Hitchhiker's Guide to the Galaxy#Rupert|Rupert]]''. Created by Jason R. Mills (aka SunRay), this MOO is also the home of the SunNET network, and all developments are conducted here. [http://rupert.twyst.org/] * '''[http://nl.wikipedia.org/wiki/De_Digitale_Metro%7CDe digitale metro]''' ([[The Digital Subway]]) founded in 1994 as part of De Digitale Stad (The Digital City of Amsterdam). It is seen as one of the first and largest Dutch MOOs. [http://www.demetro.nl/] * '''[[MOOsaico]]''' is one of the oldest Portuguese MOO (and the oldest Portuguese virtual world), created on 7 January 1994 and also the first true multilingual MOO. Hosted in the Computer Science department of University of Minho. [http://moosaico.com/] * '''[[Medieval (MOO)|Medieval]]''' opened in April 1999 and has quickly become the biggest Dutch MOO. It evolves round a loose Fantasy/Medieval theme and has a very strong social cohesion. [http://www.medievalmoo.nl/] * '''[[ScriptersMOO]]''' is the first MOO which is accessible through a [[.NET Messenger Service]] client like [[Windows Live Messenger]] by opening a conversation with a MSN bot. Additionally, color support can be added with [[Messenger Plus! Live]]. Since its creation in July 2004, over 4000 unique visitors have used the MSN mirrors. [http://moo.scripters.be/] * '''[[schMOOze University]]''' is considered the first MOO created for the express purpose of language learning. It was established by Julie Falsetti and Eric Schweitzer in July, 1994 and is hosted at CUNY-Hunter College. [http://schmooze.hunter.cuny.edu/] == See also == * [[LambdaMOO]] - The MOO. * [[MOO programming language]] * [[MUSH]] * [[MUD]] * [[MUCK]] * [[CoolMUD]] * [[ColdMUD]] * [[Cyberformance]] == References == <references/> == External links == === Essays and documentation === * [http://www.moo.mud.org/moo-faq/ Official MOO FAQ], updated October 2004 * [http://www.yibco.com/ Yib's Guide to MOOing], updated November 2003 * [http://www.twyst.org/sunnet/sunnet.pdf SunNET manual] * [http://www.hayseed.net/MOO/ The Lost Library of MOO], updated May 2005 * [http://cinemaspace.berkeley.edu/~rachel/moo.html The Purpose of MOOs] by Rachel Rein, May 1996 * [http://www.ericdigests.org/1997-4/moo.htm Educational MOO: Text-Based Virtual Reality for Learning in Community] by Lonnie Turbee, March 1997 * [http://www.amazon.com/dp/0672307235 Secrets Of The Mud Wizards (chapter 14: Programming MOOs)] 1995 * [http://www.hum.dmu.ac.uk/~sthomas Sue Thomas] (2004) ''Hello World: travels in virtuality'' York: [http://www.rawnervebooks.co.uk/helloworld.html Raw Nerve Books]ISBN 0-9536585-6-2. See also the [http://travelsinvirtuality.typepad.com web view] * [http://english.ttu.edu/kairos/1.2/index.html Pedagogies in Virtual Spaces: Writing Classes in the MOO], ed. Michael Day. ''Kairos: A Journal for Teachers of Writing in Webbed Environments.'' Volume 1, No. 2 (Summer 1996). * [http://www.oucs.ox.ac.uk/ltg/projects/jtap/reports/teaching/chapter5.html MUDs, MOOs, WOOs and IRC], in ''Online Teaching: Tools & Projects,'' by Stuart D. Lee, Susan Armitage, Paul Groves, and Chris Stephens, May 1999. * [http://www.lisdude.com/moo MOO Resources] - Links to several valuable MOO resources. === MOO directories === * {{dmoz|Games/Online/MUDs/By_Codebase/LambdaMOO|MOO}} * [http://moo.echoduet.net/ Echo Duet MOO List] - Active MOO directory === Cores and programming guides === * [http://www.moo.mud.org/ LambdaMOO server source] * [http://lingua.utdallas.edu/encore/ Encore] - Popular educational MOO core * [http://jhcore.sourceforge.net/ JHCore] - Programming MOO core * [http://tecfa.unige.ch/guides/MOO/ProgMan/ProgrammersManual_toc.html MOO programmers manual], May 1996 * [http://www.fringenet.net/MOO/yduJtut.txt yduJ's MOO programming tutorial] * [http://mooix.net/ mooix] - a programming language independent MOO * [http://sourceforge.net/projects/moop/ MOOP] - a MOO written entirely in Python. (Previously called [http://www.strout.net/python/poo/ POO]) * [http://playsh.org/wiki/ playsh] - a MOO-like text environment that runs on your local computer {{Wikipedia}}
Summary:
Please note that all contributions to the Muds Wiki are considered to be released under the CC-BY-SA
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Cite web
(
view source
)
Template:Dmoz
(
view source
)
Template:Linkfarm
(
view source
)
Template:Wikipedia
(
view source
)
Follow on IG
TikTok
Join Fan Lab