
After three years since their last release, ScummC has hit 0.2.0. And it’s looking really good. They have a short but rather complete example (a port of Michael Sheail’s OpenQuest,) the source code for which is included in the ScummC distro. We’re talking: roughly 3000 lines of a JavaScript-ish language. So, hey, this seems to be a great avenue for creating adventure games, folks.
The language consists mostly of setting up objects in various rooms and laying out what sorts of ways you can manipulate those objects. So, an object could be a gun. Or it could be an NPC, such as Carol:
object carolObj {
name = "Indigenous lifeform";
verb(int vrb,int objA,int objB) {
case TalkTo:
zobTalkToCarol();
return;
case LookAt:
if( ! knowsCarol ) {
egoSay("A large carbon based mammal, it seems.");
waitForMessage();
}
else {
egoSay("It is Carol, one of the local lifeforms.");
waitForMessage();
}
return;
case Smell:
egoSay("This creature has an overwhelming pungent smell.");
return;
case Move:
egoSay("The lifeform is surprisingly sturdy, I don't believe I can use force.");
return;
}
}
The bulk of the code is spent setting up the various rooms and objects and bits of dialog. But you are also free to set up all of the action buttons and the inventory drawer. In fact, a fairly large chunk of code in the sample game is used to setup a subscreen for picking your dialog from a script (just as in The Secret of Monkey Island or Day of the Tentacle.)
And yet, this project has been virtually ignored by everyone, including the ScummVM community, with no mention of it on their wiki and only smatterings of discussion on the forums last year.
Now, of course, SCUMM games are lo-res and old-fashioned. Why would anyone target the ScummVM? Well, perhaps for nostalgia. Maybe because it’s pretty easy. And there is a wealth of fans that’s already obsessed with the VM.
But, come on. ScummVM is hugely cross-platform. We’re not just talking Linux, OS X and Windows. It’s perfectly stable on the iPhone, Palm OS 5, Windows Mobile and the Nintendo DS. Seriously: Dreamcast? SCUMM always hits a platform first.
For now, it’s something of a sweet spot between VMs and emulators. Reaching platforms that Java and Flash neglect. While not being as primitive as NES or Genesis emulators are to develop for.