Sierra Creative Interpreter Script is a proprietary [[Bytecode Interpreter|bytecode]]-interpreted [[Object-Oriented Programming]] [[Lisp]] for creating adventures games written in [[3. Reference/Software/Programming Languages/C|C]]. > The **SC**ript **I**nterpreter or later, **S**ierra **C**reative **I**nterpreter, (SCI), or as it later became known as, **S**ierra **C**reative **I**nterpreter, is the [scripting language](http://en.wikipedia.org/wiki/scripting_language "w:scripting language") created by [Jeff Stephenson](http://sciwiki.sierrahelp.com/index.php/Jeff_Stephenson "Jeff Stephenson") for [Sierra On-Line](http://sciwiki.sierrahelp.com/index.php/Sierra_On-Line "Sierra On-Line"), which was used between the years of 1989 to 1997. # Notability Developed by [[Sierra Games]] and used for dozens of classic adventure games by them and third party studios throughout the 80s and 90s as well as innumerable fan games since. > SCI was used to create such games as _[King's Quest IV](http://sciwiki.sierrahelp.com/index.php/King%27s_Quest_IV:_The_Perils_of_Rosella "King's Quest IV: The Perils of Rosella")_ to VII, _[Space Quest III](http://sciwiki.sierrahelp.com/index.php/Space_Quest_III "Space Quest III")_ to _[6](http://sciwiki.sierrahelp.com/index.php/Space_Quest_6 "Space Quest 6")_, _[Quest for Glory I](http://sciwiki.sierrahelp.com/index.php/Quest_for_Glory_I "Quest for Glory I")_ to _[IV](http://sciwiki.sierrahelp.com/index.php/Quest_for_Glory_IV:_Shadows_of_Darkness "Quest for Glory IV: Shadows of Darkness")_ and _[Gabriel Knight I](http://sciwiki.sierrahelp.com/index.php/Gabriel_Knight:_Sins_of_the_Fathers "Gabriel Knight: Sins of the Fathers")_ and _[II](http://sciwiki.sierrahelp.com/index.php/Beast_Within:_A_Gabriel_Knight_Mystery "Beast Within: A Gabriel Knight Mystery")_, and the [runtime environment](http://en.wikipedia.org/wiki/runtime_environment "w:runtime environment") for these games SCI is the successor to AGI. But while AGL's syntax was based on [[3. Reference/Software/Programming Languages/C|C]] while SCI Script was based on [[Lisp]]. Both used a [[Bytecode Interpreter]]. > It superseded Sierra's earlier interpreter or engine, [AGI](http://agiwiki.sierrahelp.com/index.php?title=AGI "agiw:AGI"), and the [runtime environment](http://en.wikipedia.org/wiki/runtime_environment "w:runtime environment") for such adventure games. # Philosophy Fan projects have been using this language for years with their own open source tooling and even decompilers for it. # Platform Support > Although ports for the [Amiga](http://en.wikipedia.org/wiki/Amiga "w:Amiga"), [Atari ST](http://en.wikipedia.org/wiki/Atari_ST "w:Atari ST"), [Macintosh](http://en.wikipedia.org/wiki/Apple_Macintosh "w:Apple Macintosh") and [PC-9801](http://en.wikipedia.org/wiki/NEC_PC-9801 "w:NEC PC-9801") platforms exist, the primary development was for [MS-DOS](http://sciwiki.sierrahelp.com/index.php/MS-DOS "MS-DOS") and [Windows](http://sciwiki.sierrahelp.com/index.php/Windows "Windows") on the [IBM PC](http://en.wikipedia.org/wiki/IBM_PC "w:IBM PC") platform. SCI games are playable via [[ScummVM]]. # Features ## Syntax ```scheme ;;; Sierra Script 1.0 - (do not remove this comment) ;;; Decompiled by sluicebox (script# 255) (include sci.sh) (use Main) (use Print) (use System) (public StillDown 0 GetNumber 1 MousedOn 2 ) (procedure (StillDown &tmp event ret) (= event (Event new:)) (= ret (!= (event type:) evMOUSERELEASE)) (event dispose:) (return ret) ) ``` # Tips # Resources - http://scicompanion.com/ - https://github.com/sluicebox/sci-scripts (decompiled game scripts) ## Old Tools - https://sourceforge.net/projects/scistudio/ - http://sciwiki.sierrahelp.com/index.php?title=SCI_Studio - https://github.com/OmerMor/SciStudio # References ```cardlink url: https://youtu.be/zi5sFqd-YYg title: "This Changes EVERYTHING For Sierra Fans (yes, seriously)" description: "https://www.benshoof.org/blog/sci-scripts" host: youtu.be favicon: https://www.youtube.com/s/desktop/697254fd/img/favicon_32x32.png image: https://i.ytimg.com/vi/zi5sFqd-YYg/maxresdefault.jpg ``` - https://www.benshoof.org/blog/sci-scripts - http://sciprogramming.com/scitools.php?id=9 - https://www.dosdays.co.uk/topics/sierra_sci.php - http://sciwiki.sierrahelp.com/index.php?title=Sierra_Creative_Interpreter - http://sci.sierrahelp.com/Tools/SCITools.html - https://web.archive.org/web/20060212153647/http://www.bripro.com/scistudio/index.php - https://web.archive.org/web/20060207165811/http://www.classicgaming.com/agisci/sciinfo.shtml ## Games - https://www.mobygames.com/group/6528/game-engine-sierras-creative-interpreter-sci/ - http://sciwiki.sierrahelp.com/index.php/Fan_SCI_Release_List