LPMud

Last updated

LPMud, abbreviated LP, is a family of MUD server software. Its first instance, the original LPMud game driver, was developed in 1989 by Lars Pensjö (hence the LP in LPMud). [1] [2] [3] LPMud was innovative in its separation of the MUD infrastructure into a virtual machine (known as the driver) and a development framework written in the LPC programming language (known as the mudlib ). [4]

A MUD is a multiplayer real-time virtual world, usually text-based. MUDs combine elements of role-playing games, hack and slash, player versus player, interactive fiction, and online chat. Players can read or view descriptions of rooms, objects, other players, non-player characters, and actions performed in the virtual world. Players typically interact with each other and the world by typing commands that resemble a natural language.

Lars Pensjö of Sweden is the original author of the LPMud MUD engine and the LPC programming language, and is one of the founders of Genesis LPMud, notable for their part in the history of MMORPGs as well as the Pike programming language. He attended Chalmers University of Technology in Gothenburg, Sweden, from 1980 to 1984. He was a member of the as of 2008 defunct Chalmers Datorförening ("CD"), after which the CD gamedriver and mudlib were named.

In computing, a virtual machine (VM) is an emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination.

Contents

Motivation

Pensjö had been an avid player of TinyMUD and AberMUD. He wanted to create a world with the flexibility of TinyMUD and the style of AberMUD. [5] Furthermore, he did not want to have sole responsibility for creating and maintaining the game world. He once said, "I didn't think I would be able to design a good adventure. By allowing wizards coding rights, I thought others could help me with this." [6] The result was the creation of a new, C-based, object-oriented programming language, LPC, that made it simple for people with minimal programming skills to add elements like rooms, weapons, and monsters to a virtual world. [7]

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". To distance itself from the combat oriented traditional MUDs it was said that the "D" in TinyMUD stood for Multi-User "Domain" or "Dimension", which led to the eventual adoption of the term MU* to refer to TinyMUD and its many derivatives.

AberMUD was the first popular open source MUD. It was named after the town Aberystwyth, in which it was written. The first version was written in B by Alan Cox, Richard Acott, Jim Finnis, and Leon Thrane based at University of Wales, Aberystwyth for an old Honeywell mainframe and opened in 1987.

Wizard is commonly used in MUDs, particularly LPMuds, AberMUDs and MU*, as a term for the MUD's developers and administrators. The usage originates with Richard Bartle's original MUD1 and MUD2. It is frequently abbreviated "wiz", which is sometimes used as a verb; to wiz is to become a wizard. The plural of "wiz" is "wizzes".

To accomplish his goal, Lennart Augustsson convinced Pensjö to write what today would be called a virtual machine, the LPMud driver. The driver managed the interpretation of LPC code as well as providing basic operating system services to the LPC code. By virtue of this design, Pensjö made it more difficult for common programming errors like infinite loops and infinite recursion made by content builders to harm the overall stability of the server. His choice of an OO approach made it easy for new programmers to concentrate on the task of "building a room" rather than programming logic. [3]

Lennart Augustsson is a Swedish computer scientist. He was previously a lecturer at the Computing Science Department at Chalmers University of Technology. His research field is functional programming and implementations of functional languages.

LPC is an object-oriented programming language derived from C and developed originally by Lars Pensjö to facilitate MUD building on LPMuds. Though designed for game development, its flexibility has led to it being used for a variety of purposes, and to its evolution into the language Pike.

Operating system collection of software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.

Evolution of LPMuds

Pensjö's interest in LPMuds eventually waned in the early 1990s, but by that time LPMud had become one of the most popular forms of MUD. [8] His work has been extended or reverse engineered in a number of projects:

MudOS is a major family of LPMud server software, implementing its own variant of the LPC programming language. It first came into being on February 18, 1992. It pioneered important technical innovations in MUDs, including the network socket support that made InterMUD communications possible and LPC-to-C compilation. Its name reflects its focus on separation of concerns between game driver and mudlib. FluffOS is Discworld MUD's fork of MudOS, and still being developed.

DGD, Dworkin's Game Driver, is an LPMud server written by Felix A. "Dworkin" Croes. DGD pioneered important technical innovations in MUDs, particularly disk-based object storage, full world persistence, separation of concerns between driver and mudlib, runtime morphism, automatic garbage collection, lightweight objects and LPC-to-C compilation.

In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. The term often implies not merely a development branch, but also a split in the developer community, a form of schism.

The LPMud approach also enabled the development of gaming frameworks built in LPC that game builders could use as the foundation for their worlds. The original mudlib was the Genesis Mudlib that came with LPMud drivers up to LPMud 2.4.5. As LPMud matured, the separation between driver and mudlib grew to the point that the developers of MudOS and DGD did not ship their drivers with fully functional mudlibs. Popular LPMud mudlibs include:

Though an LPMud server can be used to implement nearly any style of game, [13] LPMuds are often thought of as having certain common characteristics as a genre, such as a mixture of hack and slash with role-playing, quests as an element of advancement, and "guilds" as an alternative to character classes. [14] [15]

Notable early LPMud games still in operation as of 2010 include Pensjö's original Genesis LPMud as well as 3Kingdoms , Ancient Anguish , BatMUD , Darker Realms , DartMUD , Genocide , Lost Souls , NannyMUD, Nanvaent , Shattered World and Xyllomer .

LPMud talkers

LPMud was used as the basis for the first Internet talker, Cat Chat , which opened in 1990 [16] .

TMI Mudlib

The TMI Mudlib from The Mud Institute [17] was an attempt to create a framework driven mudlib for the MudOS LPMud driver. It consisted of many contributors to MudOS as well as people who became influential in the LPMud community. When TMI began work in 1992, a mudlib was generally packaged with both an LPMud driver and a complete world built on top of the mudlib. As a framework-driven mudlib, the goal of the TMI mudlib was to provide only examples for world objects and place the burden of building a working world on the game developers using TMI.

TMI implemented the first InterMUD communications network, when MudOS added network socket support in 1992. [6]

TMI never realized its vision and shut down. It was quickly followed, however, by TMI-2. Unlike TMI, TMI-2 was somewhat independent of the driver team. It leveraged elements of the original TMI mudlib and eventually released a somewhat workable product. Though it never achieved the success of its sibling the Nightmare Mudlib (also based on the original TMI mudlib), it did influence many developers, and the lessons learned with TMI-2 led to the successes of the Lima Mudlib.[ citation needed ]

In 1992, MIRE, a multi-user information system producing customised newspapers [18] was built based on a modified TMI driver. [17]

In 1993, the TMI-2 mudlib was used to create PangaeaMud, an academic research project designed as an interactive geologic database tool. [19]

Though Lima took lessons from TMI-2, Lima is a completely independent codebase.[ citation needed ]

TMI-2 is still available, and often used as a learning tool, but not typically used today for new LPMud development.[ citation needed ]

Notable MUDs based on TMI-derived mudlibs include The Two Towers [20] [21] [22] [23] [24] [25] set in Tolkien’s universe [20] and Threshold .

See also

Related Research Articles

In multiplayer online games, a MUSH is a text-based online social medium to which multiple users are connected at the same time. MUSHes are often used for online social intercourse and role-playing games, although the first forms of MUSH do not appear to be coded specifically to implement gaming activity. MUSH software was originally derived from MUDs; today's two major MUSH variants are descended from TinyMUD, which was fundamentally a social game. MUSH has forked over the years and there are now different varieties with different features, although most have strong similarities and one who is fluent in coding one variety can switch to coding for the other with only a little effort. The source code for most widely used MUSH servers is open source and available from its current maintainers.

DikuMUD is a multiplayer text-based role-playing game, which is a type of MUD. It was written in 1990 and 1991 by Sebastian Hammer, Tom Madsen, Katja Nyboe, Michael Seifert, and Hans Henrik Stærfeldt at DIKU —the department of computer science at the University of Copenhagen in Copenhagen, Denmark.

Online creation, also referred to as OLC, online coding, online building, and online editing, is a software feature of MUDs that allows users to edit a virtual world from within the game itself. In the absence of online creation, content is created in a text editor or level editor, and the program generally requires a restart in order to implement the changes.

The MUD trees below depict hierarchies of derivation among MUD codebases. Solid lines between boxes indicate code relationships, while dotted lines indicate conceptual relationships. Dotted boxes indicate that the codebase is outside the family depicted.

<i>Discworld MUD</i> video game

Discworld MUD is a popular MUD, a text-based online role-playing game, set in the Discworld as depicted in the Discworld series of books by Terry Pratchett.

Nightmare LPMud, founded in 1992, was one of the oldest continually running LPMuds still played until its closure on September 12, 2005. Its roots go back to the original LPMud, Genesis LPMud, when Forelock of Genesis along with some students at Bates College in Lewiston, Maine founded Orlith in 1991. This MUD lasted only a year before forking into two rival MUDs, Nightmare and Phoenix. The final incarnation of Nightmare opened October 31, 1992, run by George "Descartes" Reese. It was hosted at nightmare.imaginary.com.

<i>Genesis LPMud</i> 1989 video game

Genesis LPMud, a multi-player computer game, is the original LPMud founded in April 1989 by Lars Pensjö, now running on CD gamedriver and mudlib, and previously hosted by Chalmers Computer Society, though hosting has since been moved to a dedicated, private server. Medieval fantasy is the general theme. Roleplaying is expected.

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. Backronyms like "Multi-User Chat/Created/Computer/Character/Carnal Kingdom" and "Multi-User Construction Kit" are sometimes cited, but are not the actual origin of the term; "muck" is simply a play on the term MUD.

<i>Lost Souls</i> (online game) 1990 video game

Lost Souls is a MUD, a text-based online role-playing game set in a medieval fantasy world. It has an extensive history of technical innovation in its field and has received critical praise.

Genocide is a MUD, a text-based online game, focused exclusively on player-killing. Founded in 1992, it was influential as the first such "pure PK" MUD, and has met with positive critical response.

An immortal, in MUDs and particularly DikuMUDs, is an administrator and/or developer of the game, often a player who has achieved "immortal" status by achievements within the game world. It is frequently abbreviated "imm" or "immort". Some MUDs have an option for players who have become immortals to "remort", returning to mortal status with advantages.

<i>Xyllomer</i> 1991 video game

Xyllomer is a MUD, a text-based online role-playing game, founded in 1991 as PaderMUD. It was the first publicly accessible MUD to use Dworkin's Game Driver. It has been hosted in Germany throughout its history.

<i>Nuclear War MUD</i> 1992 video game

Nuclear War MUD, abbreviated Nuke, is a MUD, a text-based online role-playing game, founded in 1992.

References

  1. Bartle, Richard (2003). Designing Virtual Worlds . New Riders. p. 10. ISBN   0-13-101816-7. LPMUD was named after its author, Lars Pensjö of the University of Gothenburg, Sweden.
  2. Shah, Rawn; Romine, James (1995). Playing MUDs on the Internet. John Wiley & Sons, Inc. p. 158. ISBN   0-471-11633-5. ... the original Mudlib distributed by LP, Lars Pensjö, and his team.
  3. 1 2 "The History of Pike". Pike. Archived from the original on 2010-02-04. Retrieved 2009-09-09. In the beginning, there was Adventure. Then a bunch of people decided to make multi-player adventure games. One of those people was Lars Pensjö at the Chalmers university in Gothenburg, Sweden. For his game he needed a simple, memory-efficient language, and thus LPC (Lars Pensjö C) was born. About a year later Fredrik Hübinette started playing one of these games and found that the language was the most easy-to-use language he had ever encountered.
  4. Bartle, Richard (2003). Designing Virtual Worlds . New Riders. p. 43. ISBN   0-13-101816-7. Above this layer is what (for historical reasons) is known as the mudlib58. [...] 58For "mud library". MUD1 had a mudlib, but it was an adaptation of the BCPL input/output library and therefore was at a lower level than today's mudlibs. The modern usage of the term was coined independently by LPMUD.
  5. Bartle, Richard (2003). Designing Virtual Worlds . New Riders. p. 10. ISBN   0-13-101816-7. Having played both AberMUD and TinyMUD, he decided he wanted to write his own game with the adventure of the former and the user-extensibility of the latter.
  6. 1 2 Mulligan, Jessica; Patrovsky, Bridgette (2003). Developing Online Games: An Insider's Guide. New Riders. p. 451. ISBN   1-59273-000-0. 1989 [...] Lars Penjske creates LPMud and opens Genesis. "Having fun playing TinyMUD and AberMUD, Lars Penjske decides to write a server to combine the extensibility of TinyMUD with the adventures of AberMUD. Out of this inspiration, he designed LPC as a special MUD language to make extending the game simple. Lars says, '...I didn't think I would be able to design a good adventure. By allowing wizards coding rights, I thought others could help me with this.' The first running code was developed in a week on Unix System V using IPC, not BSD sockets. Early object-oriented features only existed accidentally by way of the nature of MUDs manipulating objects. As Lars learned C++, he gradually extended those features. The result is that the whole LPMud was developed from a small prototype, gradually extended with features."George Reese'sLPMud Timeline
  7. Giuliano, Luca (1997). I padroni della menzogna. Il gioco delle identità e dei mondi virtuali[The masters of the lie: the play of identity and virtual worlds] (in Italian). Meltemi Editore. pp. 101–102. ISBN   978-88-86479-35-6. È stato creato nel 1990 da Lars Pensjö presso la Chalmers Academic Computing Society in Svezia. Pensjö proveniva dall'esperienza dell'AberMUD e il suo sistema è sostanzialmente il frutto di un compromesso tra la rigidità di AberMUD e l'egualitarismo del TinyMUD. Il server LPMUD è diverso dagli altri perché non è un gioco prefabricato ma un linguaggio, chiamato LPC, che gli utenti possono utilizzare per interagire, modificare il loro ambiente e costruire un gioco. Un DikuMUD è molto più efficiente come programma ma non può essere modificato senza avere un alto livello di conoscenza nella programmatazione. Invece un LPMUD è molto più flessible ed è possibile costruire anche oggetti molto complessi con un livello di conoscenza inferiore. Grazie a questa flessibilita, che si adatta all'immaginazione dei giocatori, LPMUD si è diffuso rapidamente. Il livello di programmazione degli oggetti però non è esteso a tutti, ma è limitato ai giocatori che hanno raggiunto un livello elevato di competenza all'interno del MUD stesso e delle sue regole. Grazie a questo maggior controllo del mondo, un LPMUD tende ad essere più organico e coerente nella construzione del mondo, diversamente dal TinyMUD che tende invece a diventare un po' caotico. Translation: It was created in 1990 by Lars Pensjö of the Chalmers Academic Computing Society in Sweden. Pensjö's experience was with AberMUD, and its system is basically the result of a compromise between the rigidity of AberMUD and the egalitarianism of TinyMUD. The LPMUD server is different from others because it is not a game but a prefabricated language called LPC, which users can use to interact, change their environment and build a game. A DikuMUD is much more efficient as a program but cannot be changed without having a high level of programming knowledge. On the other hand, LPMUD is much more flexible, and you can build very complex objects with a lower level of knowledge. Thanks to this flexibility, which adapts to players' imagination, LPMUD has spread rapidly. The level of programming objects is not for everyone, but is limited to players who have reached a high level of competence within the MUD itself and with its rules. Thanks to this greater control of the world, a LPMUD tends toward more comprehensive and coherent construction of the world, unlike TinyMUD, which tends to get a little chaotic.
  8. William Stewart (2002). "MUD History". The original LPMUD was written by Lars Pensjl and others, and became one of the most popular MUD's by the early 1990s.
  9. 1 2 Towers, J. Tarin; Badertscher, Ken; Cunningham, Wayne; Buskirk, Laura (1996). Yahoo! Wild Web Rides. IDG Books Worldwide Inc. p. 141. ISBN   0-7645-7003-X. MudOS and Amylaar:: There are a couple versions of LPmuds that you might run into. More are being developed as coders and wizards improve their games. Both MudOS and Amylaar are descendants of LPmuds, and Amylaar is an especially popular version.
  10. Reese, George (1998-09-15). "LPMud FAQ". Internet FAQ Archives. Retrieved 2009-06-25. Amylaar is a person, not an LPMud. He is the primary author and torch bearer of the LPMud name. Given the generic sound of the term "LPMud" these days, people often refer to LPMud 3.2 as the Amylaar driver.
  11. Shah, Rawn; Romine, James (1995). Playing MUDs on the Internet. John Wiley & Sons, Inc. p. 164. ISBN   0-471-11633-5. DGD, created by Dworkin aka Felix Croes, is a complete rewrite of the LPmud game.
  12. Reese, George (1998-09-15). "LPMud FAQ". Internet FAQ Archives. Retrieved 2009-06-25. Shattered Worlds, on the otherhand, derives from LPMud 2.4.5.
  13. Hahn, Harley (1996). The Internet Complete Reference (2nd ed.). Osborne McGraw-Hill. p. 557. ISBN   0-07-882138-X. The original LPC language was designed to create hack-n-slash muds. If you heard that a particular mud was an LPMud, you could guess what type of mud it was. In recent years, though, LPC has been redesigned into a general-purpose mud-creation language and, nowadays, virtually any type of mud might be an LPMud.
  14. Ito, Mizuko (1997). "Virtually Embodied: The Reality of Fantasy in a Multi-User Dungeon". In Porter, David (ed.). Internet Culture (pbk. ed.). Routledge. p. 89. ISBN   0-415-91684-4. The MUDs that I study are LPMUDs, which are "traditional" and "mainstream" MUDs in the sense that they are combat and role-playing game oriented, and tend to use medieval images.
  15. Towers, J. Tarin; Badertscher, Ken; Cunningham, Wayne; Buskirk, Laura (1996). Yahoo! Wild Web Rides. IDG Books Worldwide Inc. p. 141. ISBN   0-7645-7003-X. LPmuds: When you play LPmuds, you'll probably be faced with more of a bent toward socialization and an attempt to get characters to role-play more. Quests, where you have to complete a predetermined set of actions, tend to be used to try to move people away from relying simply on combat to gain experience. When you first enter the game, your character has no profession until you join a guild, which you usually need to search around for. It is normally against the rules for seasoned characters to help you with your quests or finding a guild, but some LPmuds do not enforce this.
  16. "Talker History". NetLingo the Internet Dictionary. Retrieved 2010-04-13. Single-server talkers on the internet first appeared in 1990, with the talker Cat Chat. This was a hack of the LPMud source code, put together by Chris Thompson (aka 'Cat') at Warwick University, in England.
  17. 1 2 Takacs, Mark (August 17, 1993). "Prolix A Text-based Participant System for VR". Washington: 13. CiteSeerX   10.1.1.53.5993 . 2.3.7 MIRE Kay has taken a TMI LPMud driver (a popular alternative driver developed by The Mud Institute) and used it as the basis for a multi-user news and information retrieval system
  18. Electronic Publishing Group at the MIT Media Lab. 25+ Years of the Electronic Publishing Group "MIRE--news in a MUD"
  19. Boring, Erich (1993-12-03). PangaeaMud: An Online, Object-oriented Multiple User Interactive Geologic Database Tool (PDF) (Master's thesis). Miami University. Retrieved 2010-05-03.
  20. 1 2 English, Katharine, ed. (1996). Most Popular Web Sites: The Best of the Net from A 2 Z. Lycos Press / Macmillan Publishers. p. 315. ISBN   0-7897-0792-6. Two Towers Multi-User Dungeon http://www.angband.com/towers This page serves as an entrance to the Two Towers Multi-User Dungeon, allowing game players to step into the world of fantasy writer J.R.R. Tolkien. Intrepid visitors can learn about the game or link to Tolkien sites dotting the net.
  21. Smith, Bud; Bebak, Arthur (1997). Creating Web Pages for Dummies (2nd ed.). IDG. pp. 40–41. ISBN   0-7645-0114-3.
  22. Jones, Nimrod (April 1997). "nEt.SPeAk". Archived from the original on 2011-07-22. Retrieved 2010-07-20. The MUD referred to in this work is The Two Towers LpMUD based upon J. R. R. Tolkien's Lord of the Rings. It claims to be the most faithful MUD to his Middle-Earth and boasts players in their hundreds gathered from 50 countries world-wide.
  23. "Tolkien Gaming - Gaming Havens - Game Reviews - Two Tower MUD". theonering.net. 2000-05-23. Retrieved 2010-10-15. The experience system was very simple, you kill things and complete missions, you get more attributes.
  24. Ekman, Fredrik (1995-05-09). "LP mud's". rec.arts.books.tolkien. Retrieved 2010-07-05.
  25. "The MUD Connector: The Two Towers". The MUD Connector. Retrieved 2010-07-06. Highly customized TMI-2 1.1.1 mudlib on MudOS v22 (May 4, 2007)

Further reading