|This article needs additional citations for verification. (May 2010)|
The Lima Mudlib is an LPC framework for building multi-user role playing games. It was originally written for the MudOS game driver by Zachary "Zakk" Girouard, Tim "Beek" Hollebeek, Greg "Deathblade" Stein, and John "Rust" Viega. The most recent maintenance work done on it was by "Cratylus", maintainer of lpmuds.net, who has ported it to and bundled it with FluffOS.
When it was first introduced, Lima was revolutionary in its rethinking of user interaction with a text-based multi-player game. Many of its ideas came from the Zork games of a decade prior. Until Lima, LPMud games relied on a mechanism for command processing that required each programmer to define command processing syntax for the virtual room in which a person stood. If the programmer wanted a player to throw a rock in a room, the programmer had to add the throwing event as well as code for parsing the player's "throw" command. A consequence of this design was that a single game might have 5-10 different variations of the "throw" command with no single source of help.
The syntax quest grew from the old LPMud command processing. Some uncreative programmers would create game quests in which the goal was to guess the proper syntax to an uncommon command. Ultimately, players felt these sorts of quests were nothing more than technical challenges that had nothing to do with gameplay.
Lima created a centralized command parser that defined standard syntaxes for all game commands. The parser would parse user input and determine from the environment a proper object to respond to that input. Programmers only need to create events to process the commands rather than syntax parsers.
The support MUD for Lima was called Lima Bean; it is now defunct. Support is nominally available at the lpmuds.net "Lima Lounge" forum.
A notable Lima-based MUD is Accursed Lands.
During the initial development of the mudlib, Greg and John were discussing what to name the library. Greg suggested "LIMA" as an acronym for "Let's Invent a Mudlib Acronym". It stuck, and the mudlib and primary server (Lima Bean) carried the name.