Skip to content

SCI Engine

Sierra's Creative Interpreter

The Sierra Creative Interpreter replaced AGI from King's Quest IV (1988): an object-oriented scripting language, run by a separate interpreter on each machine, with 320×200 graphics and music for the MT-32 and AdLib. It dropped the typed parser for icons from King's Quest V (1990), went to 256 colours and then, as SCI-32, to 386 PCs by 1994, and ScummVM runs its games today.

In June 1988 Sierra On-Line built a small cinema at the Consumer Electronics Show. Every couple of hours an invited audience watched the opening of King’s Quest IV on a 46-inch colour monitor, driven by a 386 PC and a Roland MT-32 playing an orchestral score, and John Williams remembered a woman crying as King Graham fell to the ground. What they were watching was a new system, the Sierra Creative Interpreter (SCI). It doubled the resolution of Sierra’s older AGI games, gave them music written for sound cards, and replaced AGI’s fixed set of adventure commands with an object-oriented language in which programmers could write a game’s behaviour themselves. SCI went on to run Sierra’s adventures for most of the next decade, from King’s Quest IV through the icon-driven games of the early 1990s to Phantasmagoria.

Fast facts

  • Developer: Sierra On-Line; designed by Jeff Stephenson, Sierra’s systems engineer.
  • First game: King’s Quest IV: The Perils of Rosella (1988).
  • Graphics: 320×200 in 16 colours at first, “double the graphics resolution of previous Sierra adventures”; 256 colours from 1990; 640×480 with SCI-32 by 1994.
  • Sound: IBM’s eight-voice music card, the AdLib card and the Roland MT-32 for King’s Quest IV; “over ten (10) different sound cards” by Code-Name: Iceman (1990).
  • Interface: a typed parser at first; icons and a pointer from King’s Quest V (1990).
  • Machines: MS-DOS first, then Atari ST, Amiga and Macintosh; never the Apple II or IIGS.
  • Today: ScummVM runs SCI games, from King’s Quest IV to the SCI-32 titles.

Why Sierra built it

The trigger was King’s Quest IV. According to Wireframe, Ken and Roberta Williams asked Jeff Stephenson for new features for the game, among them more colours than the 16 AGI supported, and support for CD-ROM drives and sound cards. Stephenson used the request to throw out AGI’s adventure-game language altogether. In AGI, he explains, almost any new behaviour “first had to be programmed into the game system itself before it could be used to write the game”. With a general-purpose language, “the game developers could write the behaviour themselves – in the game, without any work in the engine.”

John Williams, writing Sierra’s ten-year history in 1990, put SCI at the end of a chain: AGL (Adventure Game Language) for Mystery House and The Wizard and the Princess, then “a dozen different versions of AGI”, then, “in the spring of 1988”, SCI. It had better graphics and animation than AGI and more flexibility “for programmers doing code for parsers and pointing devices”. The cost was hardware: SCI games “would require a lot more memory and a fairly fast processor”.

How it worked

Sierra’s Spring 1989 newsletter printed an excerpt from Donald B. Trivette’s The Official Book of King’s Quest that followed one room of King’s Quest IV, the fisherman’s shack, from Roberta Williams’s sketch to the finished game. It called SCI “an object-oriented language similar to LISP; it’s written in Assembler, C, and itself”. The programmer set up classes of objects: an Actor for “anything that moves such as sea gulls, ogres, and Ego” (the programmers’ name for the player’s character), a Prop for things “that move but don’t go anywhere – like a candle flame or smoke”, and a View for things that do not animate at all. Scripts then defined “how the objects come together and interact with one another”.

The article also printed code for the room, such as the nine lines that made the chimney smoke, from animate.obj( smoke); to draw( smoke);, and the logic for knocking on the fisherman’s door. Those commands, though, are the ones fans have documented for AGI’s logic language, which the 256K version of King’s Quest IV was written in. Real SCI source looks quite different. The SCI Companion documentation describes Sierra’s own syntax as “sort of a cross between LISP and SmallTalk”.

The art was built with Sierra’s own tools. Backgrounds were drawn in a Picture Editor and “stored as coordinates and vectors” rather than as finished pictures, because vectors took less space. Characters were drawn as pixels in a View Editor, with one colour set aside as invisible, and animated by cycling through cells like a flip book. The fisherman needed 76 drawings, and Rosella “more than one thousand”. Depth came from “16 bands” of priority that the artist used “like a horizontal grid”, and control lines set where Rosella could walk. Get them wrong and “Ego will walk right through” a tree. A room averaged 12,000 to 14,000 bytes; the fisherman’s shack took 12,700.

Each computer had its own interpreter for the same game files. Roberta Williams explained to START in 1990 that “SCI is a virtual machine language which means that it will work on any machine”, and that each machine’s version could use its own strengths, such as the Atari ST’s colour fades.

King’s Quest IV and the first wave

Sierra launched SCI as a line of “technologically superior interactive movies, complete with stereo soundtracks, fully animated cartoon sequences and double the graphics resolution”. The newsletter counted over 11 man-years and a team of more than 13 on King’s Quest IV, and 40 minutes of music by William Goldstein. The score was, John Williams admitted, “a big gamble”. The game was also late. Al Lowe told Wireframe that in late August 1988 Sierra put every other game on hold so that the whole company could program King’s Quest IV for 30 days.

Speed was the price. For owners of older machines Sierra released an AGI version at the same time, which in John Williams’s words “paled by comparison”. On a PCjr expanded to 640K, the newsletter warned, “it takes an animated character almost 23 seconds to move across the screen”. The Software Publishers Association nominated King’s Quest IV for its sound and SCI itself for technical achievement.

“It seemed only natural that Sierra’s other designers would latch on to SCI,” John Williams wrote: Police Quest II, Leisure Suit Larry II and Space Quest III followed. Computer Gaming World found that Police Quest II had “doubled the graphic resolution” and added “zoom shots, split screens and film wipes”, with characters “no longer virtual stick figures”. START praised Larry II’s “fairly sophisticated parser”.

Machine by machine

SCI reached the Atari ST early. By spring 1989 Sierra listed ST versions of Space Quest III, King’s Quest IV, Police Quest II, Silpheed and Larry II, and the ST conversion of Space Quest III reached shops less than ten days after the PC version. The Amiga was harder. The conversion ran “over six months behind schedule”, slowed when one of its programmers left, and the first Amiga SCI game, Space Quest III, shipped in October 1989. The Macintosh cost Sierra a product: its programmer of 3-D Helicopter Simulator was moved onto SCI for the Mac, and the simulator was shelved.

The Apple II line never got SCI. In autumn 1989 Ken Williams said it was “just too big and too complex for the relatively slow CPU of the Apple IIGS machine”, and Sierra stopped work on it. INFO confirmed a year later that Sierra’s new games would not appear on the IIGS or Apple II at all.

From parser to icons

SCI began with a parser, and by Code-Name: Iceman (1990) Computer Gaming World noted “more ‘point and click’ interaction” alongside it. With King’s Quest V (1990) Sierra dropped typing altogether in favour of a pointer and icons. Wireframe says the change came after Roberta Williams watched her mother struggle to play her games.

In the Spring 1992 InterAction, Ken Williams called it “the much discussed change to the Sierra Adventure Game interface” and put it to two designers. Al Lowe “didn’t like the icon interface at first. Spent too many years learning to type fast”, but came to prefer it: “less verbage = more puzzles”. Roberta Williams said she had designed it “with the future in mind … especially as it relates to fancy CD-Rom based entertainment machines”, because “most people don’t want to take the time to learn either how to type, spell, or figure out just how you talk to a computer via an adventure game!” Computer Gaming World later put King’s Quest V in its hall of fame for redefining “the graphic adventure with new parser and VGA graphics”.

The same years brought 256-colour VGA graphics, which Wireframe credits to King’s Quest V and VI. Sierra also remade its older AGI games in SCI: first the original King’s Quest and Mixed-Up Mother Goose, announced in 1990, then Space Quest and Leisure Suit Larry, advertised in 1992 with “256 VGA colour graphics”. Fans who study the interpreter today divide its history into versions: SCI0 for the 16-colour parser games, SCI1 and SCI1.1 for the 256-colour games, and the 32-bit SCI2, SCI2.1 and SCI3.

SCI-32

In spring 1994 InterAction told customers why Police Quest: Open Season, Quest for Glory: Shadows of Darkness and Gabriel Knight needed four megabytes and a 386: Sierra had “debuted SCI-32, a new proprietary development system for computer games” with them. According to the SCI Wiki, the 32-bit versions added high-resolution 640×480 graphics. SCI-32 ran Sierra’s CD-ROM adventures of the mid-1990s, among them King’s Quest VII, Gabriel Knight 2, Phantasmagoria and Leisure Suit Larry 7.

After Sierra

Fans took SCI apart as they had AGI. The FreeSCI project reimplemented the interpreter, and its work went into ScummVM, which added the 16- and 256-colour SCI games (SCI0 to SCI1.1) in version 1.2.0 in October 2010 and the SCI-32 games in version 2.0.0 in December 2017. Hobbyist tools such as SCI Studio and SCI Companion let fans write new games in the language.

Source code has followed. In October 2024 Digital Alchemy Studios published the source of an SCI script compiler on GitHub under the MIT licence, maintained by Daniel Arnold. Its notes say the compiler was “originally developed under proprietary ownership by Codemasters” before passing to Digital Alchemy Studios.

Sources

  • The Sierra Newsletter (InterAction) vol. 1 no. 4, Fall/Winter 1988, p. 3: “King’s Quest IV — A Technological Wonder” (interactive movies, double the resolution, the eight-voice IBM card, AdLib and MT-32, 11 man-years, more than 13 staff, 40 minutes of music by William Goldstein).
  • The Sierra Newsletter (InterAction) vol. 2 no. 1, Spring 1989, pp. 20–21: excerpt from Donald B. Trivette, The Official Book of King’s Quest (COMPUTE! Books): SCI “similar to LISP”; Actor, Prop and View; the Picture and View Editors; vectors; cells, 76 drawings, over a thousand; 16 priority bands and control lines; room sizes; the printed code. The same issue: the PCjr and “almost 23 seconds”; SCI on the Atari ST and the ST titles; Space Quest III on the ST within ten days.
  • Sierra News Magazine (InterAction) vol. 2 no. 2, Autumn 1989, pp. 27–28: SCI for the Macintosh and 3-D Helicopter Simulator; the Amiga delays; the Apple IIGS; SPA nominations.
  • Sierra News Magazine (InterAction) vol. 3 no. 1, Spring 1990: the Amiga conversion “over six months behind schedule”; Space Quest III in October.
  • Sierra News Magazine (InterAction) vol. 3 no. 2, Summer 1990: John Williams, “Ten years: history of Sierra On-Line, Inc.”, pp. 6–12 (AGL, AGI and SCI; the June 1988 CES; the AGI version; “a big gamble”; the other designers’ SCI games); King’s Quest and Mixed-Up Mother Goose “rewritten for SCI”.
  • Computer Gaming World issue 56, February 1989: Police Quest II review.
  • START vol. 3 no. 11, June 1989: Leisure Suit Larry II review.
  • START vol. 4 no. 8, March 1990: interview with Roberta Williams (SCI as “a virtual machine language”).
  • Computer Gaming World issue 72, June 1990: Code-Name: Iceman review.
  • INFO issue 33, October 1990: Sierra’s games not coming to the Apple IIGS or Apple II.
  • InterAction, Spring 1992: Ken Williams, Al Lowe and Roberta Williams on the icon interface.
  • Zero issue 33, July 1992: Sierra advertisement for the VGA remakes of Space Quest and Leisure Suit Larry.
  • InterAction, Spring 1994, pp. 16–17: Johnnie Magpie column on SCI-32 and its first three games.
  • Computer Gaming World issue 170, September 1998: hall of fame entry for King’s Quest V.
  • Jack Yarwood, “Once upon a time: the epic history of King’s Quest”, Wireframe issue 46, December 2020, pp. 28–33: Jeff Stephenson and the move from AGI to SCI; Al Lowe on the 30 days; VGA graphics in King’s Quest V and VI; the switch from parser to cursor from King’s Quest V.
  • “Sierra Creative Interpreter”, SCI Wiki (web, secondary): Jeff Stephenson as original developer; the SCI0, SCI1, SCI1.1 and 32-bit versions. https://sciwiki.sierrahelp.com/index.php/Sierra_Creative_Interpreter
  • “Script editor”, SCI Companion 3.0 documentation (web, secondary): Sierra’s script syntax. https://scicompanion.com/Documentation/scripts.html
  • Sierra Adventure Game Interpreter Specifications, section 3 (web, secondary): AGI logic commands such as animate.obj, set.view, set.loop and draw. https://www.agidev.com/articles/agispec/agispecs-3.html
  • ScummVM release notes (NEWS) and AUTHORS file (web, secondary): SCI0–SCI1.1 games in 1.2.0 (15 October 2010), SCI2–SCI3 games in 2.0.0 (17 December 2017), FreeSCI contributors. https://github.com/scummvm/scummvm/blob/master/NEWS.md
  • Digital Alchemy Studios, “da-sci-compiler-pub”, GitHub, October 2024 (web, secondary): source code of the SCI script compiler under the MIT licence, and its README. https://github.com/Digital-Alchemy-Studios/da-sci-compiler-pub

See also

Checked. Verified against primary sources and signed off by a person.