Sierra Creative Interpreter
|Original Developer(s):||Jeff Stephenson|
- 1 Description
- 2 Design
- 3 Versions
- 4 Non-SCI
- 5 Related software
- 6 See Also
- 7 References
- 8 External Links
The SCript Interpreter or later, Sierra Creative Interpreter, (SCI), or as it later became known as, Sierra Creative Interpreter, is the scripting language created by Jeff Stephenson for Sierra On-Line, which was used between the years of 1989 to 1997. It superseded Sierra's earlier interpreter or engine, AGI, and the runtime environment for such adventure games. SCI was used to create such games as King's Quest IV to VII, Space Quest III to 6, Quest for Glory I to IV and Gabriel Knight I and II, and the runtime environment for these games. Although ports for the Amiga, Atari ST, Macintosh and PC-9801 platforms exist, the primary development was for MS-DOS and Windows on the IBM PC platform.
Although continuously developed between 1988 and 1996, five major versions can be isolated:
First used for King's Quest IV: The Perils of Rosella in 1988, SCI0 (0.000.xxx) allowed for 320×200 graphics with 16 colors as well as a music-card compatible soundtrack. It also supported parser-based keyboard input which a game could be scripted to use if it wishes to do so (non-adventure games usually didn't).
The resource types of SCI0 can be roughly grouped into four sets:
Quest for Glory II has been falsely identified by some as SCI1, but is actually SCI01. Perhaps this is because its debug reports SCI version 1.000.*** even when the interpreter itself is 0.001.0**.
SCI01 differs only in very few respects: It uses different compression algorithms and a different type of sound resources, which may contain digitized sound effects (PCM data). The basic music data, however, still resembles MIDI data.
Also, scripts are split into two parts when loaded: A dynamic part, which resides in the heap as before, and a static part, which is stored externally to conserve heap space.
Released in 1990, the most notable improvement in SCI1 (1.000.xxx/T.A00.xxx) was the support of 256 color graphics, still at a resolution of 320×200; EGA 16 color graphics were still available (games were usually sold in separate 16 and 256 color versions). Some people prefer to call the 16-color SCI1 interpreters "SCI01". With the shift to SCI1, Sierra began using a digitized painting process for background artwork, rather than the pixel-by-pixel process of previous engines: the difference is readily apparent if one compares, for example, King's Quest 4 against King's Quest 5. SCI1 also introduced a Point&Click interface (a mouse-driven, icon-based), which was implemented by the game's scripts, not the SCI1 interpreter. This is also how Shane Cloud (Cloudee1) of SCI Programming created a Point&Click interface to the SCI0 template game for SCI Studio and SCI Companion 3.
The version numbering scheme is somewhat confusing for the reason that the third number in the version string (the build number) has only three digits, even though four are needed. For example, the game Space Quest 4 Version 1.052 ships with an interpreter labeled "1.000.753", whereas the game Conquests of the Longbow Version 1.0 ships with an interpreter labeled "1.000.168"; nevertheless, the latter interpreter is newer because the build number is actually 1168, not 168. Also, in some cases the "1.000" is replaced with "T.A00", which however does not indicate a separate development fork.
SCI1 introduced new concepts like Palettes, scaled bitmap images and several new compression algorithms. In SCI1.0, the resource limit was first increased to 16383, and then to 65535 in SCI1. Because of the inherent limitations of the FAT file system the primary target OS of Sierra's SCI interpreter was limited to, patch file names were altered accordingly, with the resource number (not padded) before the dot and a three-letter resource ID behind it; examples are "0.scr" or "100.v56".
The complete list of suffixes is as follows:
- 80: V56: 256 color views
- 81: P56: 256 color background pictures
- 82: SCR: Scripts (static data)
- 83: TEX: Texts (deprecated in favor of messages)
- 84: SND: Sound data (MIDI music)
- 85: No extension: Type 0x85 resources are 'memory' resources, which are only used internally.
- 86: VOC: Vocabulary (not used)
- 87: FON: Fonts
- 88: CUR: Mouse cursors (deprecated in favor of v56-based cursors)
- 89: PAT: Audio patch files
- 8a: BIT: Bitmap files (purpose unknown)
- 8b: PAL: 256 color palette files
- 8c: CDA: CD Audio resources
- 8d: AUD: Audio resources (voice and digital sound effects)
- 8e: SYN: Sync (purpose unknown)
- 8f: MSG: Message resources: Text plus metadata
- 90: MAP: Maps location of resources for interpreter
- 91: HEP: Heap resources: Dynamic script data
- ??: SEQ: Sequence resources for cut scenes
Apart from considerable internal changes, SCI1.1 (1.001.xxx) added support for animated movie sequences (first used in KQ6) as well as scaling sprites: characters would become smaller as they walk into the distance, giving a pseudo-3D effect. (The interpreters from some early SCI1.1 games bear a "2.000.000" version stamp; this is most likely an inconsistency which should be ignored.)
Separate 16-color packages were no longer available; EGA owners instead would be presented a 640×200 graphics display that simulated 256 colors via dithering.
Often called SCI32 (along with SCI3), SCI2 (2.xxx.xxx) runs in 32-bit mode by using the DOS/4GW extender or by running it in Windows 3.1's Win32s. Most notable is the support of high-resolution 640×480 graphics, as well as better movie support.
There are two known revisions, 2.000.000, and 2.100.002.
Early versions used a modified SCI2 kernel table. Most of these games maintain the "old school" Sierra graphics. Robot videos were introduced, in the DOS version of KQ7.Middle versions include the finalized kernel function table, the addition of VMD video resource and a more heavy usage of RBT (robot) videos. Graphics in these games were generally either cartoonish or 3D pre-rendered from filmed actors.
A.K.A. "SCI32" The last version, SCI32 (3.000.000) could not only run under DOS or Windows 3.1, but also natively under Windows 95.
Middle versions include the finalized kernel function table (which was also used in the SCI3 games)
Some Sierra games used SCI resources, such as graphics and sounds, but did not use the SCI script interpreter itself. Games include:
SCI editors can be used to uncover unfinished game elements that had been concealed in the game's resource files by the developer during the game's development. These hidden resources include unfinished artworks, puzzles, scenery, voiceover or music recordings as well as gags inserted by the development team.  Examples of game titles from which such hidden resources have been uncovered include King's Quest V: Absence Makes the Heart Go Yonder (SCI1.1), Space Quest IV: Roger Wilco and the Time Rippers (SCI1.1), Leisure Suit Larry 6: Shape Up or Slip Out! (SCI1.1), King's Quest VII: The Princeless Bride (SCI2), and Space Quest 6: The Spinal Frontier (SCI2).
In-house Tool Screenshots
SCI0 Picture Editor
with the mansion from The Colonel's Bequest
SCI View Editor
with the statue in front of the mansion from The Colonel's Bequest
SCI View Editor on Douglass Herring's Desk
- FreeSCI's SCI Specifications
- List of the Sierra SCI games
- Games using SCI (category)
- Sierra Creative Interpreter Specifications
- All SCI Releases
- SCI Resources
- Adventure Game Interpreter
- The background for this is that heap space started running out in Quest for Glory 2. In order to compensate for this, changes were made to both the script library and the interpreter.
- This appears to be the limit- none of the SCI1.0 games tested used resource numbers beyond 16383
- The script resource split introduced in SCI01 was incorporated into the actual resource layout in SCI1.Requires Citation
- Beebe, Jess (2008-08-18) "Resource Quest: hidden treasures in Sierra’s adventure games" Adventure Classing Gaming Retrieved 2008-09-14
- Lance Ewing's SCript Interpreter
- Adventure Game Interpreter
- The success of Sierra's Creative Interpreter (SCI) (web archive)
- FreeSCI homepage (web archive)
- The SCI Programming Community
- SCI Studio: The Complete SCI Game Development System
- The Ultimate AGI & SCI Web Site (web archive)
- Sierra's Creative Interpreter on the w:Open Directory Project
- Modern installers for the Sierra AGI and SCI games
- Updates to run SCI3 based games on XP/Vista
- SCI on MobyGames