The SCUMM Diary: Stories behind one of the greatest game engines ever made
gamasutra.com
gamasutra.com
actor sandy face-right
actor sandy do-animation reach
walk-actor razor to-object microwave-oven
start-script watch-edna
stop-script
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."
if (melt-down) {
say-line selected-kid "I don't think this game is very fun."
}This is why a part of me dies everytime I read "full stack engineer". Not only it is imprecise, it sounds a little sad. I like being in the bottom layers of the stack, enabling several people in the others.
Computer programming has been trivialized by web development and most newcomers are still busy reinventing lisp.
Give it sometime for them to discover where their code is running...
That is indeed a mark of good engineering.
Looking at ScummVM, I can only think that SCUMM must have been the product of truly great engineering. A single codebase, supporting dozens of games? The basic design of SCUMM has to be solid for that to be possible.
Compact, check. Extensible, check.
The other adventure powerhouse of the time, Sierra, apparently had at least two different engines. (I know there was AGI, and the last I tried, AGI-interpreters could not play all the Sierra games. Another kind of interpreter was needed for some titles.)
Now, if only Infocom had used bytecode for their games, instead of hard-wiring the game logic inside their executables. I still remember fondly their best titles: Spellcasting 101, Gateway, Eric the Unready, Super-hero league of Hoboken, ...
-deep sigh-
Those are Legend Entertainment games. Infocom did use bytecode, and you can play their games on just about anything smarter than a toaster these days: http://en.wikipedia.org/wiki/Z-machine
The name wasn't really trademarked, but we wanted to name it after another bodily fluid.
I love everything about the culture as I understand it there.One interesting feature is cooperative threading for up to 25 threads.
Granted, it does some weird stuff with the engine (to the point that, to my knowledge, no SCUMM emulator can play the game) but it still amazes me that the engine was that flexible.