June 16, 2011

Maniac Mansion Disassembled

The Mansion – Technical Aspects

If you love the old Lucasfilm games and want a peek into how their venerable game engine worked from a very technical perspective, you should read this article that walks through a disassembled Maniac Mansion. Extra bonus: Ron Gilbert, the creator of the SCUMM scripting language, drops a lengthy note in the comments section with insider info:

One of the goals I had for the SCUMM system was that non-programers could use it. I wanted SCUMM scripts to look more like movies scripts, so the language got a little too wordy. This goal was never really reached, you always needed to be a programmer. 🙁

Some examples:

actor sandy walk-to 67,8

This is the command that walked an actor to a spot.

actor sandy face-right
actor sandy do-animation reach
walk-actor razor to-object microwave-oven
start-script watch-edna
stop-script watch-edna
say-line dave “Don’t be a tuna head.”
say-line selected-kid “I don’t want to use that right now.”

I think it’s amazing that they managed to build a script interpreter with preemptive multitasking (game events could happen simultaneously, allowing for multiple ‘actors’ to occupy the same room, the clock in the hallway to function correctly, etc.), clever sprite and scrolling screen management, and fairly non-linear set of puzzles into software originally written for the 8-bit C64 and Apple II era of computers.

(Via the International House of Mojo)