Кіріспе

Inform – 1993 жылы Грэм Нельсон жасаған интерактивті әңгімелерді құруға арналған бағдарламалау тілі және жобалау жүйесі. Inform Z коды немесе Glulx виртуалды машиналары үшін бағдарламалар жасауға мүмкіндік береді. 1-ден 5-ке дейінгі нұсқалары 1993 және 1996 жылдар аралығында жарық көрді. 1996 шамасында Нельсон Inform-ді бастапқы қағидалардан қайта жазып, 6-шы нұсқасын (немесе Inform 6) жасады. Келесі он жыл ішінде 6-шы нұсқа тұрақты болып, интерактивті әңгімелер жазу үшін танымал тілге айналды. 2006 жылы Нельсон Inform 7-ні (алғашқыда Natural Inform деп аталған) шығарды – бұл табиғи тіл принциптеріне негізделген және кітап басылымдары метафорасымен байланысты жаңа құралдар жинағын қамтитын толыққанды жаңа тіл.

Z-Machine және Glulx

Inform компиляторлары Inform кодты Glulx немесе Z коды үшін оқиға файлдарына аударады, бұл екі виртуалды машина интерактивті әдебиет үшін арнайы жасалған. Үлкен ойындарды қолдай алатын Glulx әдепкі параметр болып табылады. Z машинасы бастапқыда 1979 жылы Infocom компаниясы өздерінің интерактивті әдебиеттері үшін жасаған. Көптеген негізгі және екіншілік платформалар үшін кем дегенде бір интерпретатор болғандықтан, бірдей Z кодты файлды көптеген платформаларда өзгеріссіз іске қосуға болады. Алғашқыда Inform тек Z машинасына бағытталған. Эндрю Плоткин Inform 6-ның ресми емес нұсқасын жасады, ол бірнеше онжылдықтар бойына Z машинасының көптеген шектеулерін жеңу үшін жасалған Glulx виртуалды машинасы үшін де файлдарды жасай алды. 2004 жылдың 29 ақпанында жарық көрген Inform 6.3 нұсқасынан бастап, Inform 6 Эндрю Плоткиннің жұмысына негізделген екі виртуалды машинаны да ресми түрде қолдады. Inform 7-нің алғашқы нұсқалары Glulx-ті қолдамады, бірақ 2006 жылдың тамызында Glulx қолдауы жарияланды.

6-ны хабарлау

Inform-ті 1993 жылы Грэм Нельсон жасады. 1996 жылы Нельсон Inform-ті бастапқы қағидалардан қайта жазып, 6-шы нұсқасын (немесе Inform 6) құрды. Келесі он жыл ішінде 6-шы нұсқа жетілді және интерактивті әдебиет жазу үшін кең таралған тілге айналды. Inform 6 жүйесі екі негізгі бөліктен тұрады: Inform компиляторы, ол Inform бастапқы кодынан оқиға файлдарын жасайды, және Inform кітапханасы – ойыншының мәтіндік енгізілімдерін талдау және әлем моделін қадағалаудың көп бөлігін атқаратын бағдарламалық қамтамастың жиынтығы. Inform атауы сонымен қатар компилятор түсінетін Inform бағдарламалау тілін де білдіреді. Inform 6 және Z Machine бастапқыда интерактивті әдебиет үшін жасалған болса да, көптеген басқа бағдарламалар да жасалды, олардың ішінде BASIC интерпретаторы, LISP оқулығы (интерпретатормен бірге), Tetris ойыны және Snake ойынының нұсқасы бар.

Inform 6 компиляторы

Inform компиляторы Inform 6 бастапқы кодынан Z машинасы немесе Glulx (әрі олар сюжеттік файлдар деп аталады) үшін файлдарды құрайды.

Inform 6 кітапханасы

Inform жүйесінде сондай-ақ, интерактивті әңгімелерді бағдарламалаудағы ең қиын жұмыстардың көп бөлігін автоматтандыратын Inform кітапханасы бар; атап айтқанда, ол ойыншының енгізген мәтінін түсінетін мәтіндік талдаушыны және нысандар (олардың қасиеттерімен бірге), бөлмелер, есіктер, ойыншының жинағы және т.б. сияқты жайттарды қадағалайтын әлем моделін қамтиды. Inform компиляторы Inform кітапханасын міндетті түрде пайдалануды талап етпейді. Платипус және испан тіліндегі Inform кодтарын жасайтын InformATE сияқты бірнеше алмастыру кітапханалары бар. Кейбір ойындар мүлдем кітапхананы пайдаланбайды, мысалы, Zork-тің Inform 6-ға тікелей көшірілуі. Zork: The Undiscovered Underground (1997), Марк Бланк пен Майкл Берлин жазған, Джерри Кевин Уилсон бағдарламалаған. Activision компаниясы Zork: Grand Inquisitor-дің шығуына байланысты жарнама үшін тегін таратқан. Майкл С. Джентридің (1998) Anchorhead ойыны Х.П. Лавкрафттың Ктулху мифологиясынан шабыттанған, жоғары бағаланған қорқыныш әңгімесі. Адам Кадрдың (1998) Photopia – дерлік толыққанды жұмбақтардан айырылған алғашқы ойын. 1998 жылғы Интерактивті әңгімелер конкурсының жеңімпазы. Адам Кадрдың (1999) Varicella ойыны. Ол 1999 жылы төрт XYZZY жүлдесін жеңіп алды, соның ішінде ең жақсы ойын үшін XYZZY жүлдесін алды, және осы ойын туралы ғылыми мақала жазылды. Эмили Шорттың (2000) Galatea ойыны – сол аттас анимациялық мүсінмен өзара әрекеттесуге толыққанды бағытталған. Galatea интерактивті әңгімелер ойынындағы ойын емес кейіпкер үшін ең күрделі өзара әрекеттесу жүйелерінің біріне ие. Адам Кадр Галатеяны "барлық уақыттағы ең жақсы NPC" деп атады. Стер С. Фостер мен Дэниел Равипинтоның (2003) Slouching Towards Bedlam ойыны стимпанк әлемінде өтеді, ойын мета-функционалдығын (сақтау, қалпына келтіру, қайта бастау) ойын әлемінің өзіне енгізеді. Ойын екі XYZZY жүлдесін жеңіп алды және 2006 жылғы Интерактивті әңгімелер конкурсындағы барлық ойындардың арасында ең жоғары орташа ұпайға ие болды.

Ақпарат беру 7

2006 жылдың 30 сәуірінде Грэм Нельсон Inform 7-нің бета нұсқасы шыққанын rec.arts.int-fiction жаңалық тобына хабарлады. Inform 7 үш негізгі бөліктен тұрады: интерактивті әдебиетті сынауға арналған дамыту құралдарымен жабдықталған Inform 7 IDE, жаңа тіл үшін Inform 7 компиляторы және Inform 7-нің негізгі кітапханасын құрайтын «Стандартты ережелер». Inform 7 сондай-ақ Inform 6 кітапханасы мен Inform компиляторына да сүйенеді. Компилятор Inform 7 бастапқы кодын Inform 6 бастапқы кодына түрлендіреді, содан кейін Inform 6 оны Glulx немесе Z кодты әңгіме файлы жасау үшін жеке түрлендіреді. Inform 7 сонымен қатар Z кодты және индекстеу мақсатындағы метадеректерді қамтитын Blorb файлдарын жасауға мүмкіндік береді. Inform 7 құралдарының толық жиынтығы қазіргі уақытта Mac OS X, Microsoft Windows және Linux үшін қолжетімді (2007 жылдан бері). 2023 жылдың қазіргі күніне дейін Inform 7 және оның құралдары дамып келеді. 2022 жылдың сәуірінен бастап Inform 7 ашық кодты жоба болып табылады және GitHub платформасында дамытылуда. Inform 7 бір кезде Natural Inform деп аталған, бірақ кейіннен Inform 7 деп қайта аталды. Осы ескі атау Inform 7 компиляторының «NI» деп аталуына себеп болды.

Inform 7 IDE

Inform 7 Mac OS X, Microsoft Windows және Linux жүйелері үшін интеграцияланған даму ортасымен (IDE) бірге келеді. Mac OS X IDE-ді Эндрю Хантер әзірледі. Microsoft Windows IDE-ді Дэвид Киндер әзірледі. Linux IDE (GNOME Inform деп аталады) Филип Чименто әзірледі. Inform 7 IDE құрамына Inform 7 бастапқы кодын өңдеуге арналған мәтін редакторы кіреді. Көптеген басқа бағдарламалау редакторлары сияқты, ол синтаксисті ерекшелендіру мүмкіндігін ұсынады. Ол тікелей жазылған мәтінді бір түспен көрсетеді. Ұйымдық бөлімдердің (Том, Кітап, Тарау, Бөлім және Үлескер) тақырыптары қалың және ірі әріптермен жазылады. Түсіндірмелер (комментарийлер) басқа түспен көрсетіліп, сәл кішірейтіледі. IDE құрамына Z код интерпретаторы кіреді. Mac OS X IDE интерпретаторы Эндрю Хантердің Zoom интерпретаторы негізінде жасалған, Джесси МакГрюдің де үлесі бар. Microsoft Windows IDE интерпретаторы WinFrotz негізінде құрылған. Ойынды жасаушы интерпретаторда ойынды сынап көргенде, IDE-нің "skein" (жолдар) және "transcript" (мәтіндік тізім) көріністерінде прогресс қадағаланады. Skein ойыншының командаларын тармақталған мүмкіндіктер ағашы ретінде тіркеп сақтайды. Ағаштың кез келген тармағын жылдам қайтадан орындауға болады, бұл даму үстіндегі ойынның әртүрлі жолдарын, ойынның бір бөлігін қайталамай, қайтадан көруге мүмкіндік береді. Жолдарға түсіндірмелер қосылып, оларды шешімдер ретінде белгілеуге болады, оларды мәтіндік нұсқа ретінде экспорттауға болады. Transcript болса, ойыншының командаларын және ойынның жауаптарын тіркеп сақтайды. Ойынның дұрыс жауаптары "бекітілген" деп белгіленеді. Transcript немесе skein тармағын қайта ойнатқанда, бекітілген нұсқадан ауытқулар ерекшеленеді, бұл жасаушыға қателерді табуға көмектеседі. IDE сонымен қатар әзірленіп жатқан бағдарламаға қатысты әртүрлі дереккөздерді ұсынады. Код сыныптық иерархия, дәстүрлі IF картасы, кітап сияқты мазмұн кестесі және басқа да түрлерде көрсетіледі. Дереккөздердегі элементтерге басу арқылы тиісті бастапқы кодқа тікелей өтуге болады. IDE жұмыс істеу үшін екі бөлек панель ұсынады. Әрбір панельде жұмыс істеп жатқан бастапқы код, компиляцияның ағымдағы күйі, skein, transcript, бастапқы кодтың дереккөздері, ойынның жұмыс істеп тұрған нұсқасы, Inform 7 құжаттамасы немесе оған орнатылған кеңейтімдері немесе параметрлер орналасуы мүмкін. Бұл идея автордың қолжазба кітабын еске түсіріп, көптеген жеке терезелердің орнына екі "қарсы бет" ұсынады. Алғашқы Inform 7 нұсқаларында компилятор кодты Inform 6-ға аударатын, CFront-тың C++ және C-мен жасаған жұмысына ұқсас.