LMP

An LMP is a lump that is usually referenced externally as a demo. The term LMP comes from the file extension that the original MS-DOS Doom engine used when recording gameplay demonstrations (see Demos), as file extensions under this operating system were strictly limited to three characters; LMP was the most logical shortening of "lump".

In the MS-DOS version of Doom, players could make a recording of their gameplay by typing

at the DOS console, where   was the name of the file to record the demo to. This was restricted (again, by the operating system) to eight characters. Doom would append the .LMP extension to the file, and regurgitate any attempt to record or play a demo with an alternate file extension, effectively setting the LMP extension in stone. The LMP files that Doom created were of exactly the same format as the internal demo files. These demo files could then be uploaded to BBSes and FTP servers to aid other players in the completion of the game, or to show off tricks or reveal secrets.

LMP files contain a sequence of commands which tell the game what actions the player will perform &mdash; e.g. when will he take a step forward, turn around, shoot, switch weapons, etc. Because the LMP file is a series of commands, which allows anyone to watch a recreation of the original recorded actions, instead of a video of recorded gameplay, LMP files are relatively small and were very practical in their time. In the mid-1990s, when Doom was most popular, broadband internet connections were quite rare, and it would have been nearly impossible to distribute demos as video files due to their much larger size.

Most modern source ports, such as ZDoom, cannot record demos in Doom's original LMP format, because their movement code requires the recording of extra data (such as Y-axis viewpoints and trajectories, and jumping) even if these features are not being utilised. Doom LMP files can only be played back with the same version of the Doom IWAD and Doom executable or source port as the one used by the original recorder of the demo. If a demo is played on a different source port, using a different WAD(s), or even a different version of the same source port or IWAD, it may refuse to play, or the actions of the player in the demo may appear nonsensical, with the player running into walls and shooting randomly. This is known as "desynch", and indicates that the demo is not compatible with the playback method being used.

For many Doomers, it is not practical or even possible to use the original Doom executables to play demos. The original executables were written for DOS and require DOS or a DOS-like OS environment to function properly. Many, though not all, demos recorded with the original Doom executables will play properly in PrBoom or the Eternity Engine, since these source ports specifically designed to emulate Vanilla Doom as closely as possible.