Hacker News new | past | comments | ask | show | jobs | submit login
The SCUMM Diary: Stories behind one of the greatest game engines ever made (gamasutra.com)
141 points by pmarin on Aug 30, 2013 | hide | past | favorite | 14 comments



An example of SCUMM script from http://www.pagetable.com/?p=614

  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.


The "stack" most people using the term today consider is barely the tip of the iceberg.

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...


> 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, ...

-deep sigh-


> 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


Thank you, I stand corrected. Mixed up the company name. :/


    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.


The ScummVM wiki has more details on how the SCUMM bytecode works: http://wiki.scummvm.org/index.php/SCUMM/Technical_Reference

One interesting feature is cooperative threading for up to 25 threads.


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."


Mr. Wilmunder, I presume?


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.



my fav games are "incidentally" all running on scumm




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: