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). 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).
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. 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." 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.
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.
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. His work has been extended or reverse engineered in a number of projects:
- LPMud 2.4.5
- CD LPMud driver
- LPMud 3.1.2
- LPMud 3.2, better known as the Amylaar driver, after its lead developer, Jörn "Amylaar" Rennecke
- DGD, Dworkin's Game Driver, a conceptual rather than code derivative of LPMud developed by Felix "Dworkin" Croes
- LDMud, a fork of LPMud 3.2 by Lars Düning
- UriMUD, a derivative of LPMud 2.4.5
- FluffOS, Discworld MUD's fork of MudOS
- SWLPC, Shattered World's fork of LPMud 2.4.5
- Psyclpc, a fork of LDMud
- The Pike programming language, written by Fredrik "Profezzorn" Hübinette, along with its predecessors LPC4 and µLPC
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:
- Discworld Mudlib from the Discworld MUD
- CDlib from Genesis LPMud
- Nightmare Mudlib from Nightmare LPMud
- TMI Mudlib from The Mud Institute
- Lima Mudlib from Lima Bean
- Dead Souls Mudlib
- Sapidlib, known at one time as the LPUniversity Mudlib
Though an LPMud server can be used to implement nearly any style of game, 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.
Notable early LPMud games still in operation as of 2010 include Pensjö's original Genesis LPMud as well as Ancient Anguish, BatMUD, Darker Realms, DartMUD, Genocide, Lost Souls, NannyMUD, Nanvaent, and Shattered World.
- Chronology of MUDs
- LPC (programming language)
- Category: LPMud gamedrivers
- Category: LPMud mudlibs
- The Mud Connector
- 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."
- 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."
- "The History of Pike". Pike. 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."
- 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."
- 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."
- 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's LPMud Timeline"
- 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."
- 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."
- 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."
- 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."
- 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."
- 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."
- 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."
- Ito, Mizuko (1997). "Virtually Embodied: The Reality of Fantasy in a Multi-User Dungeon". In Porter, David. 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."
- 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's normally against the rules for seasoned characters to help you with your quests or finding a guild, but some LPmuds don't enforce this."
- "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."
- Shah, Rawn (1995). "Part 2: LPmuds". In Shah, Rawn; Romine, James. Playing MUDs on the Internet. John Wiley & Sons, Inc. pp. 155–231. ISBN 0-471-11633-5.
- Busey, Andrew (1995). Secrets of the MUD Wizards. SAMS Publishing. ISBN 0-672-30723-5.
- LPMud FAQ
- LPMud Timeline
- LDMud Website
- LPMuds.net - A resource for MUDs that use LPC.
- MUDseek - A Google custom search engine for MUDs.
- LPMuds at DMOZ