The original version was coded by
Ron Gilbert (with some initial help by
Chip Morningstar a.k.a. UnXman) in 1987, with later versions enhanced by Aric Wilmunder (a.k.a., the
SCUMM Lord) and Brad P. Taylor. This is a token language that provided groundbreaking coding techniques. Tokens like P.R.I.N.E. were the first to be utilized. The nature of SCUMM emerged from the background of most of the early programmers at LucasArts, including Wilmunder, who had been programmers for
minicomputers and
Unix workstations. At the time, personal computers (PC) did not have large enough abilities or speed to edit and compile programs, so often the LucasArts coders would write code as cleanly as possible on a
Sun workstation to remove all errors so that, while compiling on a PC would be slow, it would be less error-prone. This concept informed the idea of a scripting language that would be cross-platform. SCUMM was developed to be a tool that converted human-readable commands into
byte-sized tokens that then would be read by an executable interpreter program that presented the game to the player. For example, the SCUMM command walk dr-fred to laboratory-door would be tokenized to a 4-byte command. They did not want to have specific details about a game hard-coded into the script, so the tokenizer would be able to recognize actors by their name from the script instead of by internal numbers. The only exception was to display a character's dialog in a different text color for
Maniac Mansion in which they had to include the number, but this was subsequently revised by the time
Zak McKracken was released. For the game
Full Throttle, the team worked to integrate SCUMM with the
INSANE animation engine that had formerly been developed for
Star Wars: Rebel Assault. Though Wilmunder had gotten the two systems to work for shipment of
Full Throttle, the interaction between the two was not always stable, and spent time before
The Curse of Monkey Island to have SCUMM work atop the INSANE engine, replacing some of the SCUMM engine parts to use that were native to INSANE. Subsequent games would be developed on the
Python-based YAGA engine, including ''
Putt-Putt: Pep's Birthday Surprise and Pajama Sam: Life Is Rough When You Lose Your Stuff!'', the only Humongous adventure games to not be developed using the SCUMM engine. In March 2016, Wilmunder revealed that he would share design documents for many of LucasArts' adventure games and the source code for the SCUMM engine, which he plans to provide in digital format via
GitHub. == Design ==