Inform 227989 224703092 2008-07-10T01:11:06Z John W. Kennedy 149824 Bring as-of up to date {{For|the environmental organization|Inform (environmental organization)}} {{Infobox Software | name = Inform | logo = [[Image:Inform 7 IDE Icon.png]]<!-- FAIR USE: Low resolution icon for program, for identification purposes. --> | screenshot = | caption = | author = [[Graham Nelson]] | developer = [[Graham Nelson]] | released = | latest release version = 7 5T18 | latest release date = [[April 30]] [[2008]]<ref>{{cite web | url = http://www.inform-fiction.org/I7Downloads/ChangeLog.txt | title = Inform 7 Changelog | language = English }}</ref> | latest preview version = | latest preview date = | operating system = [[Microsoft Windows]], [[Mac OS X]], [[Linux]], others | platform = | language = English | status = | genre = [[Interactive fiction]] development and play | license = | website = http://www.inform-fiction.org/ }} '''Inform''' is a [[programming language]] and design system for [[interactive fiction]] originally created in 1993 by [[Graham Nelson]]. Inform can generate programs designed for the [[Z-machine|Z-code]] or [[Glulx]] virtual machines. Versions 1 through 5 were released between 1993 and 1996. Around 1996, Nelson rewrote Inform from first principles to create version 6 (or '''Inform 6''').<ref name="spag44">{{cite web | url = http://www.sparkynet.com/spag/backissues/SPAG44 | title = The SPAG Interview: Graham Nelson and Emily Short on Inform 7 | accessdate = 2007-01-04 | date = 2006-04-30 | work = SPAG #44 | publisher = The Society for the Promotion of Adventure Games | language = English }} </ref> Over the following decade, version 6 became reasonably stable and a popular language for writing interactive fiction. In 2006, Nelson released '''Inform 7''' (briefly known as '''Natural Inform'''), a completely new language based on principles of natural language and a new set of tools based around a book-publishing metaphor. As of July, 2008, Inform 7 is still in beta, but has already begun to supplant Inform 6 in the release of new interactive fiction. == The Z-Machine and Glulx == All versions of Inform generate files in [[Z-machine|Z-code]] (also called story files) from [[sourcecode|source code]]. These files can then be run by any [[Z-code interpreter]] &mdash; that is, by any program which properly implements the Z-code [[virtual machine]] (or Z-machine) specification. The Z-machine was originally developed by [[Infocom]] in 1979 for their interactive fiction titles. Because there is at least one such interpreter for nearly every major and minor platform, this means that the same Z-code file can be run on a multitude of platforms with no alterations. [[Andrew Plotkin]] created an unofficial version of Inform 6 that was also capable of generating files for [[Glulx]], a virtual machine he had designed to overcome many of the limitations of the several-decades-old Z-machine. Starting with Inform 6.3, released [[February 29]], [[2004]], Inform 6 has included official support for both virtual machines, based on Andrew Plotkin's work. Early release of Inform 7 did not support Glulx, but in August 2006 Glulx support was released. ==Inform 6== {{Infobox programming language | name = Inform 1-6 | logo = | paradigm = [[Object-oriented programming|object-oriented]], [[Procedural programming|procedural]] | year = 1993 | designer = [[Graham Nelson]] | developer = [[Graham Nelson]] | latest_release_version = 6.31 | latest_release_date = [[February 10]] [[2006]] | latest_test_version = | latest_test_date = | typing = | implementations = | dialects = | influenced_by = | influenced = Inform 7 | operating_system = [[Microsoft Windows]], [[Mac OS X]], [[Linux]], others | license = Proprietary but freely redistributable | website = http://www.inform-fiction.org/inform6.html }} Inform was originally created by [[Graham Nelson]] in 1993. In 1996 Nelson rewrote Inform from first principles to create version 6 (or Inform 6). Over the following decade, version 6 became reasonably stable and a popular language for writing interactive fiction. The Inform 6 system consists of two major components: the '''Inform compiler''', which generates story files from Inform source code, and the '''Inform library''', a suite of software which handles most of the difficult work of [[parsing]] the player's text input and keeping track of the world model. The name Inform also refers to the '''Inform programming language''' that the compiler understands. Although Inform 6 and the Z-Machine were originally designed with interactive fiction in mind, a large number of other programs have been developed, including a [[BASIC programming language|BASIC]] interpreter, a [[LISP programming language|LISP]] tutorial (complete with interpreter), a [[Tetris]] game, and a version of the game [[Snake (video game)|Snake]]. ===The Inform 6 compiler=== The Inform [[compiler]] generates files for the [[Z-machine]] or [[Glulx]] (also called story files) from Inform 6 [[sourcecode|source code]]. ===The Inform 6 programming language=== The Inform programming language is [[object-oriented]] and [[procedural programming|procedural]]. A key element of the language is objects. Objects are maintained in an object tree which lists the parent-child relationships between objects. Since the parent-child relationship is often used to represent location, an object which is the parent of another object is often said to "hold" it. Objects can be moved throughout the tree. Typically, top level objects represent rooms and other locations within the game, which may hold objects representing the room's contents, be they physical items, non-player characters, the player's character, or background effects. All objects can hold other objects, so a <code>livingroom</code> object might hold an <code>insurancesaleman</code> object which is holding a <code>briefcase</code> object which contains the <code>insurancepaperwork</code> object. In early versions of Inform, objects were different from the notion of objects from object-oriented programming, in that there was no such thing as a class. Later versions added support for class definitions and allowed objects to be members of classes. Objects and classes can inherit from multiple classes. Interactive fiction games typically contain many unique objects. Because of this, many objects in Inform do not inherit from any class, other than the "metaclass" Object. However, objects very frequently have attributes (boolean properties, such as <code>scenery</code> or <code>edible</code>) that are recognized by the Inform library. In other languages this would normally be implemented via inheritance. Here is a simple example of Inform 6 source code. <nowiki>[</nowiki> Main; print "Hello World^"; <nowiki>]</nowiki>; ===The Inform 6 library=== The Inform system also contains the Inform library, which automates nearly all of the most difficult work involved in programming [[interactive fiction]]; specifically, it includes a text [[parsing|parser]] that makes sense of the player's input, and a world model that keeps track of such things as objects (and their properties), rooms, doors, the player's inventory, etc. The Inform compiler does not require the use of the Inform library. There are several replacement libraries available, such as Platypus<ref name="platypus">{{cite web | url = http://www.elvwood.org/InteractiveFiction/Platypus/ | title = Inform Platypus release 4 | accessdate = 2007-01-04 | date = 2002-03-14 | last = Turner | first = Anson | language = English }}</ref> and [[InformATE]], a library that codes Inform in Spanish. ===Example game=== Here is an example of Inform source code that makes use of the Inform library. The following description refers to Inform 6. Inform 7 is almost entirely different. The code sample below is usable in Inform 7, but not without special demarcation indicating that it is embedded legacy code. <pre> Constant Story "Hello World"; Constant Headline "^An Interactive Example^"; Include "Parser"; Include "VerbLib"; <nowiki>[</nowiki> Initialise; location = Living_Room; "Hello World"; <nowiki>]</nowiki>; Object Kitchen "Kitchen"; Object Front_Door "Front Door"; Object Living_Room "Living Room" with description "A comfortably furnished living room.", n_to Kitchen, s_to Front_Door, has light; Object -> Salesman "insurance salesman" with name 'insurance' 'salesman' 'man', description "An insurance salesman in a tacky polyester suit. He seems eager to speak to you.", before <nowiki>[</nowiki>; Listen: move Insurance_Paperwork to player; "The salesman bores you with a discussion of life insurance policies. From his briefcase he pulls some paperwork which he hands to you."; <nowiki>]</nowiki>, has animate; Object -> -> Briefcase "briefcase" with name 'briefcase' 'case', description "A slightly worn, black briefcase.", has container; Object -> -> -> Insurance_Paperwork "insurance paperwork" with name 'paperwork' 'papers' 'insurance' 'documents' 'forms', description "Page after page of small legalese."; Include "Grammar"; </pre> ===Notable games developed in Inform 6 or earlier versions=== * ''[[Curses (computer game)|Curses]]'', by [[Graham Nelson]] (1993), the first game ever written in the Inform programming language. Considered one of the first "modern" games to meet the high standards set by Infocom's best titles.<ref name="highprogrammer-Curses">{{cite web | author = Alan De Smet | date = 2006-03-14 | url = http://www.highprogrammer.com/alan/rants/reviews/video_games/if/curses.html | title = Curses (Interactive Fiction Reviews) | accessdate = 2006-11-01 }}</ref> * ''[[So Far (interactive fiction)|So Far]]'', by [[Andrew Plotkin]] (1996), the first [[XYZZY Award for Best Game]] winner in 1996. * ''[[Anchorhead (game)|Anchorhead]]'', by [[Michael S. Gentry]] (1998) is a highly rated horror story inspired by [[H. P. Lovecraft]]'s [[Cthulhu Mythos]].<ref name="ifratings-anchorhead">Of the 1219 games rated at "Interactive Fiction Ratings", Anchorhead was the highest rated game as of [[January 4]], [[2007]]. ({{cite web | url = http://www.carouselchain.com/if/statistics.php | title = IF Rating Stats | accessdate = 2007-01-04 }})</ref> * ''[[Photopia]]'', by [[Adam Cadre]] (1998), the first almost entirely puzzle-free game. Won the annual [[Interactive Fiction Competition]] in 1998. * ''[[Varicella (computer game)|Varicella]]'' by Adam Cadre (1999). It won four [[XYZZY Awards]] in 1999 including the XYZZY Award for Best Game, and had a scholarly essay written about it.<ref name="montfort">{{cite web | url = http://www.msstate.edu/Fineart_Online/Backissues/Vol_17/faf_v17_n08/reviews/montfort.html | title = Face It, Tiger, You Just Hit the Jackpot: Reading and Playing Cadre's Varicella | accessdate = 2007-01-04 | year = 2003 | month = 08 | last = Montfort | first = Nick | coauthors = Stuart Moulthrop | work = Fine Art Online: Vol. 17 No. 8 | language = English }}</ref> * ''[[Galatea (computer game)|Galatea]]'', by [[Emily Short]] (2000). Galatea is focused entirely on interaction with the animated statue of the same name. Galatea has one of the most complex interaction systems for a [[non-player character]] in an interactive fiction game. Adam Cadre called Galatea "the best NPC ever".<ref name="avventuretestuali">{{cite web | url = http://www.avventuretestuali.com/interviste/cadre-eng | title = Photopia is a short story, Varicella is a world | accessdate = 2007-01-04 | year = 2002 | month = 01 | work = L’avventura è l’avventura | language = English }}</ref> * ''[[Slouching Towards Bedlam]]'', by Star C. Foster and Daniel Ravipinto (2003). Set in a [[steampunk]] setting, the game integrates meta-game functionality (saving, restoring, restarting) into the game world itself. The game won two [[XYZZY Awards]] and received the highest average score of any game in the [[Interactive Fiction Competition]] as of 2006. ==Inform 7== {{Infobox programming language | name = Inform 7 | logo = [[Image:Inform 7 IDE Icon.png]]<!-- FAIR USE: Low resolution icon for program, for identification purposes. --> | paradigm = [[Declarative programming|declarative]], [[Logic programming|logic]] | year = 2006 | designer = [[Graham Nelson]] | developer = [[Graham Nelson]] | latest_release_version = | latest_release_date = | latest_test_version = 5T18 | latest_test_date = [[April 30]] [[2008]] | typing = | implementations = | dialects = | influenced_by = | influenced = Inform 6 | operating_system = [[Microsoft Windows]], [[Mac OS X]], [[Linux]], others | license = Proprietary but freely redistributable | website = http://www.inform-fiction.org/ }} On [[April 30]] [[2006]], Graham Nelson announced the beta release of Inform 7 to the rec.arts.int-fiction newsgroup.<ref name="raif">{{cite newsgroup | title = Inform 7: Public Beta | author = Graham Nelson | date = 2006-04-30 | newsgroup = rec.arts.int-fiction | id = 1146419288.944486.157150@i39g2000cwa.googlegroups.com | url = http://groups.google.com/group/rec.arts.int-fiction/msg/17791dfefeec46e0 | accessdate = 2007-01-04 }}</ref> Inform 7 consists of three primary parts: The '''Inform 7 [[Integrated development environment|IDE]]''' with development tools specialized for testing interactive fiction, the '''Inform 7 compiler''' for the new language, and "'''The Standard Rules'''" which form the core library for Inform 7. Inform 7 also relies on the '''Inform library''' and '''Inform compiler''' from Inform 6. The compiler compiles the Inform 7 source code into Inform 6 source code, which is then compiled separately by Inform 6 to generate [[Glulx]] or [[Z-machine|Z-code]] story file. Inform 7 also defaults to writing [[Blorb]] files, archives which include the Z-code together with optional "cover art" and metadata intended for indexing purposes. The full set of Inform 7 tools are currently available for [[Mac OS X]], [[Microsoft Windows]] and [[Linux]]. The [[March 25]] [[2007]] release added command line support for [[Linux]], and new releases now include an IDE using the [[GNOME]] desktop environment under the '''GNOME Inform 7''' [[SourceForge.net|SourceForge]] project.<ref name="gnomei7">{{cite web | url = http://sourceforge.net/projects/gnome-inform7/ | title = GNOME Inform 7 SourceForge project page | year = 2008 | month = 02 | language = English }}</ref> The language and tools remain under development;<ref name="jan07short">{{cite newsgroup | title = Inform 7: Possible future developments | author = Emily Short | date = 2007-02-18 | newsgroup = rec.arts.int-fiction | id = 1169164007.311210.64650@a75g2000cwd.googlegroups.com | url = http://groups.google.com/group/rec.arts.int-fiction/msg/980b5a84e8dfc29b | accessdate = 2007-03-30 }} Also archived at {{cite web | url = http://www.inform-fiction.org/I7Downloads/Documents/January2007Document.txt | title = Inform 7: Possible future developments | year = 2007 | month = 01 | last = Short | first = Emily | coauthors = [[Graham Nelson]] | authorlink = Emily Short | language = English }} </ref> the [[March 25]] [[2007]] release included a number of changes to the language. Inform 7 was named '''Natural Inform''' for a brief period of time, but was later renamed Inform 7. This old name is why the Inform 7 compiler is named "NI."<ref name="whyni">{{cite newsgroup | title = Re: "Inform 7" is the wrong name | author = Graham Nelson | date = 2007-03-30 | newsgroup = rec.arts.int-fiction | id = 1175250734.801804.199340@y80g2000hsf.googlegroups.com | url = http://groups.google.com/group/rec.arts.int-fiction/msg/b0424047b4038cd9 | accessdate = 2007-03-30 }}</ref> ===The Inform 7 IDE=== [[Image:Inform 7 code and skein.png|right|thumb|The Inform 7 IDE on Mac OS X showing source code and the skein]]<!-- FAIR USE: Screenshot of the software in question for identification and illustration. Furthemore, software in question is under GPL, while screenshot itself is released under public domain. --> [[Image:Inform 7 map and transcript.png|right|thumb|The Inform 7 IDE on Mac OS X showing the Index Map and the transcript]]<!-- FAIR USE: Screenshot of the software in question for identification and illustration. Furthemore, software in question is under GPL, while screenshot itself is released under public domain. --> Inform 7 comes with an integrated development environment (IDE) for Mac OS X and Microsoft Windows. The Mac OS X IDE was developed by [[Andrew Hunter]]. The Microsoft Windows IDE was developed by [[David Kinder]]. The Inform 7 IDE includes a text editor for editing Inform 7 source code. Like many other programming editors it features syntax highlighting. It marks quoted strings in one color. Headings of organizational sections (Volumes, Books, Chapters, Parts, and Sections) are bolded and made larger. Comments are set in a different color and made slightly smaller. The IDE includes a built-in [[z-machine|Z-code]] interpreter. The Mac OS X IDE's interpreter is based on the Zoom interpreter by Andrew Hunter, with contributions from Jesse McGrew{{Fact|date=April 2008}}. The Microsoft Windows IDE's interpreter is based on [[WinFrotz]]. As a developer tests the game in the built-in interpreter, progress is tracked in the "skein" and "transcript" views of the IDE. The skein tracks player commands as a tree of branching possibilities. Any branch of the tree can be quickly re-followed, making it possible to retry different paths in a game under development without replaying the same portions of the game. Paths can also be annotated with notes and marked as solutions, which can be exported as text walkthroughs. The transcript, on the other hand, tracks both player commands and the game's responses. Correct responses from the game can be marked as "blessed." On replaying a transcript or a branch of the skein, variations from the blessed version will be highlighted, which can help the developer find errors. The IDE also provides various indices into the program under development. The code is shown as a class hierarchy, a traditional IF map, a book-like table of contents, and in other forms. Clicking items in the index jumps to the relevant source code. The IDE presents two side-by-side panes for working in. Each pane can contain the source code being worked on, the current status of compilation, the skein, the transcript, the indices of the source code, a running version of the game, documentation for Inform 7 or any installed extensions to it, or settings. The concept is to imitate an author's manuscript book by presenting two "facing pages" instead of a multitude of separate windows.<ref name="raif" /> ===The Inform 7 compiler=== The Inform 7 compiler generates Inform 6 source code. Inform 6's compiler is then used to generate [[Z-machine|Z-code]] output. For historic reasons, the compiler is known as "NI," in reference to the defunct "Natural Inform" name.<ref name="whyni" /> ===The Inform 7 programming language=== Notable features include strong bias towards declarative rule-based style of programming and ability to infer types and properties of objects from the way they are used. For example, the statement "John wears a hat." creates a "person" called "John" (since only people are capable of wearing things), creates a "thing" with the "wearable" property (since only objects marked "wearable" are capable of being worn), and sets John as wearing the hat. Another notable aspect of the language is direct support for relations which track associates between objects. This includes automatically provided relations, like one object containing another or an object being worn, but the developer can add his own relations. A developer might add relations indicating love or hatred between beings, or to track which characters in a game have met each other. Inform 7 is a highly [[domain-specific programming language]], providing the writer/programmer with a much higher level of abstraction than Inform 6, and highly readable resulting source code. ===Example game=== The following is a reimplementation of the above "Hello World" example written in Inform 7. It relies on the library known as "The Standard Rules" which are automatically included in all Inform 7 compilations. <!-- Please see the Talk:Inform page before converting this to a traditional monospace code sample--> {{divbox|yellow|Example ''Inform 7'' Code| "Hello World" by "I.F. Author"<br> <br> The story headline is "An Interactive Example".<br> <br> The Living Room is a room. "A comfortably furnished living room." The Kitchen is north of the Living Room. The Front Door is south of the Living Room. The Front Door is a closed locked door.<br> <br> The insurance salesman is a man in the Living Room. The description is "An insurance salesman in a tacky polyester suit. He seems eager to speak to you." Understand "man" as the insurance salesman.<br> <br> A briefcase is carried by the insurance salesman. The description is "A slightly worn, black briefcase." Understand "case" as the briefcase.<br> <br> The insurance paperwork is in the briefcase. The description is "Page after page of small legalese." Understand "papers" or "documents" or "forms" as the paperwork.<br> <br> Instead of listening to the insurance salesman:<br> :say "The salesman bores you with a discussion of life insurance policies. From his briefcase he pulls some paperwork which he hands to you."; :now the player carries the insurance paperwork. }} ===Notable games written in Inform 7=== ''Mystery House Possessed'' (2005), by [[Emily Short]],<ref name="turbulence">{{cite web | url = http://www.turbulence.org/Works/mystery/games.php | title = Mystery House Taken Over | accessdate = 2007-01-04 | language = English }}</ref> was the first Inform 7 game released to be public. It was released as part of the "Mystery House Taken Over" project. On [[March 1]], [[2006]], Short announced the release of three further games:<ref name="raif-games">{{cite newsgroup | title = Three games in Inform 7 | author = Emily Short (at the request of Graham Nelson) | date = 2006-03-01 | newsgroup = rec.games.int-fiction | id = 1141259182.610660.185360@p10g2000cwp.googlegroups.com | url = http://groups.google.com/group/rec.games.int-fiction/msg/354c7965c0dea5d6 | accessdate = 2007-01-04 }}</ref> ''Bronze''<ref name="bronze">{{cite web | url = http://plover.net/~emily/Bronze/ | title = Bronze | accessdate = 2007-01-04 | year = 2006 | last = Short | first = Emily | language = English }}</ref> (an example of a traditional puzzle-intensive game) and ''Damnatio Memoriae''<ref name="damn">{{cite web | url = http://plover.net/~emily/DM/ | title = Damnatio Memoriae | accessdate = 2007-01-04 | year = 2006 | last = Short | first = Emily | language = English }}</ref> (a follow-up to her award-winning Inform 6 game ''[[Savoir-Faire]]'') were joined by Graham Nelson's ''The Reliques of Tolti-Aph''<ref name="reliques">{{cite web | url = http://plover.net/~emily/ROTA/ | title = The Reliques of Tolti-Aph | accessdate = 2007-01-04 | year = 2005 | last = Nelson | first = Graham | language = English }}</ref> (2006). When the Inform 7 public beta was announced on [[April 30]], [[2006]], six "worked examples" of medium to large scale works were made available along with their source code, including the three games previously released on March 1.<ref name="bronze-ex">{{cite web | url = http://inform-fiction.org/I7Downloads/Examples/bronze/ | title = Bronze | accessdate = 2007-01-04 | year = 2006 | last = Short | first = Emily | language = English }}</ref><ref name="damn-ex">{{cite web | url = http://inform-fiction.org/I7Downloads/Examples/dm/ | title = Damnatio Memoriae | accessdate = 2007-01-04 | year = 2006 | last = Short | first = Emily | language = English }}</ref><ref name="reliques-ex">{{cite web | url = http://www.inform-fiction.org/I7Downloads/Examples/rota | title = The Reliques of Tolti-Aph | accessdate = 2007-01-04 | year = 2005 | last = Nelson | first = Graham | language = English }}</ref> Emily Short's ''[[Floatpoint]]'' was the first Inform 7 game to take first place in the [[Interactive Fiction Competition]].<ref>{{cite web | url = http://www.ifcomp.org/comp06/ | title = 12th Annual Interactive Fiction Competition | accessdate = 2007-05-12 | year = 2006}}</ref> It also won 2006 [[XYZZY]] awards for Best Setting and Best NPCs.<ref>{{cite web | url=http://www.xyzzynews.com/2006winners.html | title=XYZZY Awards: Winning Games of 2006 | accessdate=2007-05-12}}</ref> ''[[Rendition (game)|Rendition]]'', by nespresso (2007), is a [[experimental literature|political art experiment]] in the form of a text adventure game, forcing the player to confront their own complicity. Its approach to [[tragedy]] has been discussed academically by both the [[Association of Computing Machinery]]<ref>{{cite web | url = http://www.natematias.com/cam/trag-elit/Emily-Short-Tragedy.pdf | title = ACM Hypertext 2007 conference slides (PDF) }}</ref> and [[Cambridge University]].<ref>{{cite web | url = http://www.natematias.com/cam/trag-elit/TragPresentation.html | title = Cambridge University lecture slides }}</ref> ==See also== * [[History of Inform releases]] * [[Interactive fiction#Interactive fiction development systems|Interactive fiction: development systems]] lists software similar to Inform ==Further reading== ; Inform 6 * The bible of Inform is [[Graham Nelson]]'s ''Inform Designer's Manual'': it is a tutorial, a manual, and a technical document rolled into one. It is available online for free at Inform's official website,<ref name="inform-fiction-dm4">{{cite web | url = http://www.inform-fiction.org/manual/download_dm4.html | title = Download the Inform Designer's Manual | accessdate = 2007-01-04 | date = 2006-04-01 | language = English }} </ref> and two printed editions are available: a softcover (ISBN 0-9713119-0-0) and a hardcover (ISBN 0-9713119-3-5).<ref>{{cite web | url = http://www.inform-fiction.org/manual/about_dm4.html | title = About the Inform Designer's Manual | accessdate = 2007-01-04 | date = 2006-04-01 | language = English }}</ref> * The ''Inform Beginner's Guide'' by Roger Firth and Sonja Kesserich (ISBN 0-9713119-2-7) attempts to provide a more gentle introduction to Inform. It is available for free at Inform's official website.<ref name="inform-fiction=ibg">{{cite web | url = http://www.inform-fiction.org/manual/download_ibg.html | title = Download the Inform Beginner's Guide | accessdate = 2007-01-04 | date = 2006-04-01 | language = English }} {{cite web | url = http://www.inform-fiction.org/manual/IBG.pdf | title = The Inform Beginner's Guide: Third Edition | accessdate = 2007-01-04 | year = 2004 | month = 08 | last = Firth | first = Roger | coauthors = Sonja Kesserich | format = PDF | language = English }}</ref> ;Inform 7 * The SPAG Interview - An interview with designers [[Graham Nelson]] and [[Emily Short]] about the development of Inform 7. This interview was made shortly before its release and published on the same day as the initial release.<ref name="spag44" /> * "Natural Language, Semantic Analysis and Interactive Fiction" - A paper on the design of Inform 7 by designer [[Graham Nelson]].<ref name="nlsaif">{{cite paper | author = Graham Nelson | title = Natural Language, Semantic Analysis, and Interactive Fiction | version = | publisher = | date = 2006-04-10 | url = http://www.inform-fiction.org/I7Downloads/Documents/WhitePaper.pdf | format = PDF | accessdate = 2007-01-04 }}</ref> ==References== {{reflist|2}} ==External links== * [http://www.inform-fiction.org/ Inform 7] - Official web site. * [http://www.inform-fiction.org/inform6.html Inform 6] - Official web site * [http://www.firthworks.com/roger/informfaq/index.html Inform 6 FAQ] at Roger Firth's IF Pages provides details on programming in Inform 6. * [http://mirror.ifarchive.org/ The Interactive Fiction Archive] provides many Inform tools, examples, and library files. * [http://dmoz.org/Games/Video_Games/Adventure/Text_Adventures/Design_and_Development/Authoring_Systems/Inform/ Inform category] at the [[Open Directory Project]] provides links to other sites. * [http://www.firthworks.com/roger/cloak/inform/index.html Cloak of Darkness: Inform] presents the same, short game implemented in both Inform 6 and Inform 7, as well as other languages for comparison. [[Category:Interactive fiction]] [[Category:Freeware]] [[Category:Domain-specific programming languages]] [[Category:Game creation software]] [[Category:Text adventure game engines]] [[de:Inform]] [[es:Inform]] [[fr:Inform]] [[it:Inform]] [[nl:Inform]] [[ja:Inform]] [[pl:Inform]] [[pt:Inform]] [[fi:Inform]]