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."
}
As a hardware and platform engineer, I can relate to the very satisfying feeling that is making a tool that enable several projects beyond what you could do by yourself.
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.
> I can relate to the very satisfying feeling that is making a tool that enable several projects beyond what you could do by yourself.
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, ...
> 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, ...
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
It talked about this in the article: "Probably the most distinctive part of SCUMM was that it was multi-tasking. This meant that multiple scripts could effectively run simultaneously. You might create a clock on the wall in Zak McKracken’s office and have it animate. [...] The script would simply command the actor to walk, and then issue a “wait-for actor” command which put the script to sleep until the actor had arrived or was facing the right direction. This allowed you to write your scripts in a very linear fashion reflecting the series of steps that you wanted the actor to follow."
The thing that always amazed me about SCUMM was that they managed to make Moonbase Commander in it, which was a turn-based strategy game with online multiplayer built in.
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.