LPMud
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]:{{{3}}}[2]:{{{3}}}[3]:{{{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]:{{{3}}}
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]:{{{3}}} 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]:{{{3}}} 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]:{{{3}}}
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]:{{{3}}}
Evolution of LPMuds
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
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]:{{{3}}} 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[9]:{{{3}}}[10]:{{{3}}}
- MudOS[9]:{{{3}}}
- DGD, Dworkin's Game Driver, a conceptual rather than code derivative of LPMud developed by Felix "Dworkin" Croes[11]:{{{3}}}
- 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[12]:{{{3}}}
- 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,[13]:{{{3}}} 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]:{{{3}}}[15]:{{{3}}}
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, Shattered World and Xyllomer.
LPMud talkers
LPMud was used as the basis for the first Internet talker, Cat Chat, which opened in 1990[16]:{{{3}}}.
See also
- MUD
- Chronology of MUDs
- LPC (programming language)
- Category: LPMud gamedrivers
- Category: LPMud mudlibs
- The Mud Connector
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
Further reading
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
External links
- 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