FreeSCI and ScummVM were two ambitious projects to reverse-engineer the top two adventure game engines of the 1990’s: The Sierra Creative Interpreter (SCI), and LucasArts’ ScuMM. Both of the original engines were tweaked throughout the 90s to feature 2D adventure games with higher levels of complexity, both visually and functionally. The mid-90s produced such Sierra classics as: King’s Quest, Quest for Glory, and Space Quest. At the same time, LucasArts’ beloved Monkey Island series and such gems as Sam n’ Max: Hit the Road were stepping stones in comedic adventure games.
ScummVM began as a hobby project in 2001 by Vincent Hamm and Ludvig Strigeus to implement an interpreter for LucasArts’ ScuMM engine. By process of reverse-engineering, the duo developed the project into the dedicated team that it is today. ScummVM is a highly capable emulator, and over the years gained support for many third party Non-Scumm titles (Beneath a Steel Sky, Flight of the Amazon Queen), as well as Sierra’s earlier titles that ran on the crude AGI (Adventure Game Interpreter) engine.
FreeSCI began as a similar initiative, although the depths of the internet seem to have claimed the original information about the origins of the project. Sierra’s SCI engine has been more difficult to reverse engineer due to the fact that many of the resources were not available to FreeSCI developers early on, much unlike the ScummVM project. Sierra was well known for having a multitude of different versions of the SCI engine being released at virtually the same time for different projects, thus making a highly-defined gaming experience with jumbled-together APIs. To this day, no one has created a native interpreter for Sierra’s later SCI engines.
However, this is possibly subject to change. In early February of this year, after much heated debate from both teams, the ScummVM and FreeSCI projects united. For the time being, ScummVM now has support for Sierra’s earlier titles, from the AGI games (via the Sarien project) such as the original Space Quest to the more recent SCI0 titles, such as King’s Quest 4: The Perils of Rosella.
VGA games built on the SCI1 engine and onward currently aren’t supported in the intepreter, but that could be subject to change due to the community’s progress on reverse-engineering the engine. Before he abandoned his project, developer Brian Provinciano had created an entire IDE that was capable of reading and writing SCI games, as well as build original titles with the engine. Shortly after stating his abandonent of the project, he released the full source code to a modified version of the IDE capable of reading the newer SCI1.1 engines with VGA graphics, all under Public Domain. The code is sitting steady here at the moment, but it could provide the ScummVM project a truly helpful insight into fully supporting the old adventure games on Free Software platforms.
Differences in the most commonly deployed SCI engines over the years, with Quest for Glory as a reference, currently only SCI0 and early SCI1 games have been successfully played with FreeSCI:
SCI0:
SCI0 was limited to a 16-bit color palette, and a text parser interface with limited mouse support.
SCI1 had a much more refined graphics engine that supported up to 256 colors, improved mouse support, more advanced scripting structures, and altogether made for a more robust engine.
SCI 1.1 introduced a new point-and-click interface that became the definitive “Sierra” look and feel throughout the second half of the 1990s. Animations were smoother, character interaction grew more complex, and custom theming for interfaces (for Developers) became standardized throughout the engine. (That scarab in the picture is actually a “Wait” cursor, by the way.)
All in all, it’s great to see ScummVM making great strides at providing more free runtimes for playing the old adventure games I loved dearly during my childhood.