Интерактивная литература на русском языке

Часто задаваемые вопросы (с ответами)




Составление и поддержка: Д.Г. Гаев (dgaev%mail!ru).

Дополнение и поддержка: Е.В. Туголуков (tightbow%mail!ru).


Текущая версия: 13.06.2007

Внимание: ради борьбы со спамом все E-mail адреса в этом документе искажены.
(Чтобы использовать их, замените символ '%' на '@', а символ '!' на '.'.)

1. Введение

1.1. «Интерактивная литература?» А что это такое?

1.2. Как интересно! Даже никогда про такое не слышал…

1.3. Текстовые игры, да еще и с текстовым вводом? Звучит как-то несовременно. Разве сейчас это кому-либо интересно?

1.4. Но что, собственно, люди в них находят? Чем они лучше, чем графические квесты?

1.5. Текстовый ввод команд — это, наверное, ужасно неудобно и непрактично?

1.6. А есть ли вообще необходимость в специализированных системах для создания ИЛ? Разве нельзя использовать какой-нибудь стандартный язык программирования?

1.7. Является ли жанр ИЛ преимущественно англоязычным, или другие языки тоже встречаются? Как обстоят дела с ИЛ на русском языке?

2. Доступные языки и технологии разработки ИЛ

2.1. ADRIFT (Adventure Developer & Runner — Interactive Fiction Toolkit)

2.2. Hugo

2.3. Inform

2.4. Hydra

2.5. TADS (Text Adventure Development System)

2.6. URQ (Universal RipSoft Quest)

2.7. QSP (Quest Soft Player)

2.8. TKR 2 (ТЕКСТОВОКВЕСТОВЫЙ РЕДАКТОР 2)

2.9. GTI

2.10. «6 дней»

2.11. QTech Creator

2.12.TGE

3. "Три кита, Четыре слона или что выбрать для разработки квеста?"

3.1  Так на чем всё же писать игру?

3.2  Если Вы задумали квест с текстовым вводом,

3.3  Если Ваш идеал квест с менюшным управлением,

4. Каталог ссылок

4.1. Англоязычные ресурсы

4.2. Русскоязычные ресурсы

1. Введение

1.1. «Интерактивная литература?» А что это такое?

«Интерактивная Литература» (далее ИЛ) — это русский аналог англоязычного понятия Interactive Fiction (IF). В самом широком понимании термина, это — любая разновидность художественных произведений, сюжет которых не является жестко фиксированным, но способен изменяться в зависимости от действий читателя (в компьютерном варианте — пользователя). Например, популярные некогда книжки с нелинейным или «ветвящимся» сюжетом — это тоже вариант ИЛ.

Здесь, однако, мы будем рассматривать исключительно компьютерную разновидность ИЛ. К ней относятся любые интерактивные программы, которые преподносят пользователю информацию преимущественно в текстовом виде (т.е. не в виде графики, анимации, звука и т.п.), а часто (хотя это и не обязательно) также получают инструкции от пользователя в виде текстовых команд (на языке, близком к естественному). Конечно, также обычно предполагается, что у произведения ИЛ имеется сюжет — чаще всего, это приключение какого-нибудь рода, в котором пользователь обычно участвует в качестве главного героя (протагониста). Наиболее известная и популярная разновидность ИЛ — это текстовые игры (они же «текстовые квесты», «игры с текстовым вводом» и т.п.), но нужно заметить, что понятие ИЛ все-таки несколько шире, и не ограничивается исключительно ими. ИЛ — не обязательно просто развлечение, это полноправный жанр искусства!

Довольно близкими родственниками ИЛ можно считать разнообразные текстовые ролевые игры (RPG), MUDы и прочее в том же духе (хотя в данном случае, конечно, упор обычно делается на интерактивность — а «литературность», в лучшем случае, является зачаточной :)).

1.2. Как интересно! Даже никогда про такое не слышал…

Ну, если Вы принадлежите к новейшему поколению пользователей компьютеров, то это и неудивительно. :)

Конечно, ИЛ — это очень древний (возможно, даже древнейший) жанр компьютерных развлечений (или, если хотите, компьютерного искусства). Что и понятно, поскольку для текстовой игры не требуется видеокарта с аппаратным 3D-ускорением, графический монитор с высоким разрешением и стереосистема — простейшего текстового дисплея и клавиатуры вполне достаточно. Поэтому текстовые игры появились сразу после того, как были созданы первые интерактивные компьютеры, т.е. компьютеры, с которыми пользователь мог общаться напрямую, вводя команды и почти немедленно получая на них какой-либо отклик. (Революционность этого вы легко можете себе представить, если вспомните, что еще раньше общение с компьютером состояло главным образом в том, что пользователь сдавал оператору в машинном зале стопку перфокарт или рулон перфоленты, а потом несколько часов ждал, когда ему выдадут результаты прогона в виде листинга.) В общем, как только интерактивные компьютеры перестали быть экзотикой, отдельные творческие личности начали думать о том, как бы приспособить их к чему-нибудь менее скучному, чем работа. Можно сказать, что идея компьютерных игр витала в воздухе.

Сейчас общепризнанно, что первой настоящей текстовой компьютерной игрой была «Приключение» (Adventure), известная также под названием «Подземелье» или «Пещера» (Dungeon) и другими. Adventure создали в 1976 г. в Стэнфорде двое компьютерщиков, Уилл Краутер (Will Crowther) и Дон Вудз (Don Woods). Игра была только текстовой, управлялась простейшими текстовыми командами (в основном, типа глагол + существительное) на рудиментарном английском, и заключалась в блуждании по пещере и поиске разбросанных там сокровищ и магических артефактов. Тем не менее, эта игра сыграла колоссальную роль в истории, положив начало целому жанру компьютерных игр (а также украв, наверное, десятки тысяч человеко-часов дорогостоящего компьютерного времени).

Игра „Adventure“ породила немало подражаний. Несомненно, одним из самых удачных стал “Zork“ — игра, созданная несколькими студентами из MIT (Массачусетского Технологического Института). Сюжет отличался очень мало (также блуждания по пещере и сбор сокровищ), но головоломки стали заметно разнообразнее и интереснее, а в игре появилось больше NPC с нетривиальным поведением и собственными целями. Так как игра сумела превзойти оригинальный Adventure по популярности, ее создатели решили всерьез заняться разработкой текстовых компьютерных игр — так летом 1979 г. родилась легендарная фирма "Infocom". Именно она ввела в оборот термин “Interactive Fiction”, и за десять лет своей истории выпустила около 30 игр этого жанра, многие из которых (“Hitchhiker’s Guide to Galaxy”, “Leather Goddeses of Phobos”, “Planetfall”, “Trinity”, “Wishbringer”) считаются несомненной классикой.

На волне успеха Infocom появилось немало других фирм, специализирующихся на коммерческой интерактивной литературе. Так, заслуживают упоминания "Legend Entertainment" (возникшая на руинах "Infocom" после распада последней), "Adventure International" Скотта Адамса, британские фирмы "Topologika", "Level 9" и "Magnetic Scrolls", австралийская "Melbourne House"… этот список можно продолжать еще долго. Замечу, что в свое время в жанре текстовых приключений также «отметилось» немало фирм, названия которых обычно ассоциируются с играми других жанров — так, можно вспомнить "Electronic Arts" (“Amnesia”), "Interplay" (“Borrowed Time”) и "Apogee" (“Beyond the Titanic” и “Supernova”). Наконец, существование ИЛ послужило стимулом для возникновения и развития другого (хотя и близко родственного жанра) — сугубо графических приключений, ориентированных на «мышиное» управление. Позднее такими играми прославились "Sierra On-line", "Lucasarts", "Access Software" и многие другие фирмы —но это уже совсем другая история. Конечно, стремительный прогресс возможностей персональных компьютеров не мог не повлиять на развитие жанра: в ИЛ начали появляться графика (особенно хорошая в продуктах "Magnetic Scrolls" и "Legend"), музыка со звуковыми эффектами и альтернативные текстовым командам средства управления (многооконный интерфейс многих игр от "Legend" можно считать особенно удачной находкой). Но важнейшей составляющей новых игр все-таки остался художественный текст — что и позволяет утверждать, что основы жанра остались прежними.

Таково, если кратко, славное прошлое интерактивной литературы. Вместе с тем, у этого жанра имеется не менее славное настоящее — и, хочется надеяться, славное будущее.

1.3. Текстовые игры, да еще и с текстовым вводом? Звучит как-то несовременно. Разве сейчас это кому-либо интересно?

Да, интересно (хотите – верьте, хотите – нет). Жанр интерактивной литературы отнюдь не устарел — он продолжает жить и развиваться.

Конечно, свое коммерческое значение в наши дни он в основном потерял — сегодня вряд ли кто-нибудь будет создавать ИЛ исключительно ради прибыли (хотя до сих пор встречаются и shareware, и даже коммерческие текстовые приключения). Основной движущей силой ИЛ-сцены сейчас являются энтузиасты-любители. Однако, их довольно много; среди них есть исключительно талантливые люди, и многие современные произведения ИЛ нисколько не уступают «классическим образцам». Можно даже считать, что декоммерциализация жанра отчасти пошла ему на пользу — появилось немало по-своему любопытных образцов нетрадиционной и экспериментальной ИЛ, находящихся где-то на стыке между компьютерными развлечениями и литературным авангардом.

Можно предположить, что общее число пользователей ИЛ составляет десятки тысяч. В Интернете проводятся конкурсы, такие как IF-competition; выходят ориентированные на ИЛ электронные издания; в сетевых форумах, посвященных этому жанру, идет активная дискуссия — словом, говорить о какой-либо «смерти жанра» не приходится.

1.4. Но что, собственно, люди в них находят? Чем они лучше, чем графические квесты?

Ну, прежде всего, такая постановка вопроса вряд ли корректна. Никто ведь не утверждает, что произведения ИЛ заведомо «лучше», чем графические квесты. Важно понимать, что это разные жанры (в какой-то степени даже ориентированные на различную аудиторию).

Между ИЛ и графическими приключениями существует разница, во многом похожая на различие между традиционной литературой и кинематографом. Несомненно, и книги, и фильмы являются произведениями искусства, но средства воздействия на потребителя они используют разные — художественный текст и видеоряд. Безусловно, по книге можно поставить фильм (иногда даже очень хороший) — но даже в этом случае фильм не заменит книгу. Просто кино и литература — два разных вида искусства, и спорить о том, какой из них «лучше» — занятие явно бессмысленное.

Вместе с тем, сравнивая жанры, можно заметить, что, хотя графические квесты сейчас намного более популярны, у ИЛ есть свои несомненные достоинства.

Прежде всего, безусловно, это относительная нетребовательность к вычислительным ресурсам. Конечно, ИЛ-игры тоже встречаются разные (в том числе и довольно большие по объему), но большинство из них предъявляют весьма скромные требования к мощности компьютера и объему памяти. Трудно представить себе современный графический квест размером всего в 250–300 Кбайт, в то время как для ИЛ-продукта это нормальный объем. Разумеется, отсутствие острой необходимости в средствах графического и звукового вывода также расширяет набор устройств, подходящих для ИЛ. В тех современных ИЛ-продуктах, где предусмотрены графика и звук, их обычно можно отключить, ограничившись текстом (даже если общее впечатление от игры пострадает, играть все равно будет можно). Как следствие, играть в ИЛ-игры обычно можно на самых допотопных компьютерах, а также лэптопах, наладонниках и даже сотовых телефонах.

Этому также способствует еще один важный аспект ИЛ — переносимость (кроссплатформенность). Очень многие современные игры, реализованные на основе современных ИЛ-платформ, способны работать везде, где имеется подходящий для данной платформы интерпретатор, а один файл игры подходит сразу для всех платформ. (Подробнее об этом в пункте 1.6.)

Многие достоинства ИЛ являются следствием того, что это — очень демократичный жанр по своей сути. Создать выдающийся продукт вполне под силу одному человеку, ему не требуется для этого армия высокооплачиваемых помощников — художников, аниматоров, композиторов и звуковиков. Вследствие этого, авторы ИЛ менее стеснены в своих творческих планах, и способны реализовывать совершенно некоммерческие и очень интересные идеи. (Собственно, с кинематографом весьма похожая ситуация, т.к. чем более дорогостоящими становятся фильмы, тем более шаблонными — их сюжеты. Как же иначе, если продюсеров больше всего интересует прибыль, и они не хотят рисковать собственными деньгами?)

Другой аспект этой творческой свободы — возможность с минимумом усилий реализовать более сложный и разветвленный сюжет, или больший набор вариантов событий или действий для главного героя. Безусловно, графические квесты сильнее ограничены в этом отношении — даже большая команда художников и аниматоров физически не способна нарисовать больше, чем осилит. А в текстовой игре для добавления какой-нибудь новой ветви сценария достаточно написать десяток-другой строк текста, благодаря чему в ИЛ можно встретить более интересный, продуманный и многовариантный сюжет.

Можно также сказать, что текстовые игры в очень малой степени подвержены моральному старению (если, конечно, Вы не считаете, что жанр устарел морально как таковой). Увы, даже в самых классических рисованных квестах графика сегодня часто выглядит архаично («неплохо, но в 1024x768xTrueColor этот волшебный лес смотрелся бы намного лучше»). Безусловно, это одна из сильных сторон ИЛ — когда графика отсутствует, она в принципе не может устареть :). Совершенно то же, конечно, можно сказать про звуковое сопровождение, и прочие атрибуты мультимедиа. (Конечно, устареть также может сама «программная оснастка» игры, но об этом аспекте проблемы мы поговорим чуть ниже.)

Наконец, в текстовые игры часто можно играть прямо на работе, не вызывая особых подозрений у сослуживцев и начальства. :)

1.5. Текстовый ввод команд — это, наверное, ужасно неудобно и непрактично?

Во-первых, еще раз хотелось бы подчеркнуть, что текстовый ввод команд — это не догма! Так, большинство игр от Legend можно пройти с начала до конца, пользуясь лишь мышью. И отдельные игры, и многие современные ИЛ-системы также предоставляют разнообразные альтернативы вводу текстовых команд, зачастую довольно удобные.

Во-вторых, это не обязательно неудобно. Многое зависит от того, насколько качественно в игре реализован синтаксический анализатор введенных команд или парсер (дальше мы будем пользоваться этим термином). Безусловно, основная проблема с «самодельными» играми — некачественный парсер, существенно уступающий сложившимся стандартам. Даже когда сама игра не столь уж плоха, парсер в ней часто реализован настолько убого (крайне ограниченный набор слов и синонимов, только простейшие команды типа глагол+существительное, и т.п.), что сам процесс игры превращается в мучение. В общем-то, это — одна из причин, из-за которых сложилось устойчивое мнение, что игры с «мышью» принципиально удобнее.

Но ведь это не так! В большинстве игр от тех же "Infocom", "Legend", "Magnetic Scrolls" парсер является очень хорошим. Обычно он понимает огромное количество глаголов и внушительный набор синонимов и определений для всех объектов игры (десяток синонимов для одного объекта — в порядке вещей); правильно распознает весьма сложные английские фразы (вроде “use trowel to plant pot plant into plant pot” из "The Pawn" от "Magnetic Scrolls"); автоматически поддерживает механизм «уточнения» (если какое-нибудь слово может относиться к нескольким объектам, игра автоматически уточняет, что именно пользователь имеет в виду) и быстрого исправления неправильно введенных команд; поддерживает местоимения — в общем, способен на многое. Помимо этого, набор глаголов, как правило, хорошо стандартизован, а вместо многих из них допускаются общепринятые сокращения (l — look, x — examine и т.п.). Наконец, обычно поддерживается большой набор стандартных служебных команд (сохранение, восстановление, перезапуск, выход, текущий счет и т.д.). Кроме того, все развитые ИЛ-системы обычно поддерживают достаточно мощные и удобные средства для редактирования вводимых команд (включая механизм «истории», автоматически запоминающий все, что вы вводили раньше) и возможность сохранения во внешнем файле списка выполненных команд и полного транскрипта сеанса игры. В действительно профессиональных играх довольно трудно придумать команду, которую игра бы не сумела понять. Начав играть в такую игру, Вы можете быстро забыть, что у Вашего компьютера вообще имеется мышь.

1.6. А есть ли вообще необходимость в специализированных системах для создания ИЛ? Разве нельзя использовать какой-нибудь стандартный язык программирования?

Можно слышать такое мнение: «Вот я хорошо владею Бейсиком (Паскалем, Delphi, C, C++, Java….), так что без труда напишу текстовую игру на этом языке. Это должно быть совсем несложно — не Quake 3, все-таки!»

Распространенное заблуждение. Нет, безусловно, Вы можете попробовать написать свою игру на любом из перечисленных языков. Может даже получиться совсем неплохо — имеется немало вполне достойных ИЛ-продуктов, написанных на самых стандартных языках программирования. Но все-таки, я настоятельно посоветовал бы Вам сначала обратить внимание на какую-нибудь из специализированных ИЛ-систем. Почему?

Во-первых, выше уже шла речь о том, что большинство современных ИЛ-технологий автоматически обеспечивают такое существенное преимущество, как переносимость. Она достигается за счет того, что создаваемый файл игры представляет собой двоичную программу специализированного формата, не привязанную к конкретному процессору или операционной системе. Конечно, для ее выполнения необходима отдельная программа-интерпретатор — но, если она есть, Вы получаете возможность выполнять любые программы, созданные на основе данной технологии. Помимо системной независимости, такие программы обычно являются довольно компактными (поскольку им не надо реализовывать детали взаимодействия с клавиатурой, дисплеем, ОС и пр. — все это уже реализовано в самом интерпретаторе) и, что немаловажно, абсолютно безопасными в смысле вирусов или других компьютерных вредителей.

Другое, не менее важное преимущество ИЛ-систем состоит в том, что в них уже есть многое из того, что иначе придется реализовывать самостоятельно. Прежде всего, конечно, это анализатор команд, т.е. парсер. Эту проблему мы уже затронули выше — приступив к созданию собственной игры, многие обнаруживают, что, хотя сделать примитивный парсер (ориентированный на команды типа «глагол + существительное») нетрудно, пользователь его очень быстро возненавидит (а вместе с ним и саму игру). Реализация же достаточно продвинутого парсера, соответствующего уровню действительно мощных ИЛ-систем — это весьма нетривиальная задача.

Важным преимуществом ИЛ-систем является то, что они обычно самостоятельно умеют создавать рабочий словарь — специальную внутреннюю структуру данных, содержащую все слова, которые может понимать программа (и оптимизированную для их поиска). Все слова, упомянутые в исходном тексте программы, в сгенерированном коде автоматически заменяются ссылками на поля словаря, за счет чего программа становится намного компактнее, а распознавание команд — эффективнее. Поскольку большая часть данных в ИЛ-программах — это текстовые строки, для них часто применяются специальные методы кодирования со сжатием и устранением дубликатов, что очень существенно уменьшает размеры готовой программы.

Помимо парсера, другой источник потенциальных сложностей — корректная реализацией объектной модели игры. Большинство современных ИЛ-технологий являются объектно-ориентированными — иными словами, программа для них является набором объектов, способных взаимодействовать (обычно путем посылки сообщений) с игроком и друг с другом. Конечно, многие современные языки программирования (C++, Java, Delphi) также являются объектно-ориентированными и поддерживают похожую идеологию. Но такая задача, как описание объектного мира игры, часто проще и эффективнее решается в ИЛ-системах — за счет того, что большой набор объектов и логических взаимосвязей между ними может быть создан уже во время компиляции. ИЛ-системы обычно также предоставляют готовую библиотеку классов, на основе которых можно создавать собственные объекты с унаследованными свойствами. Разрабатывая объектную модель игры самостоятельно, без таких наработок, очень просто допустить ошибки (например, связанные с реализацией объектов-контейнеров, способных содержать в себе другие объекты). Использование стандартных библиотек значительно уменьшает вероятность подобных ошибок.

Понятно, что должно быть реализовано также сохранение и восстановление состояния игры. Решить эту проблему средствами стандартных языков не столь уж просто (особенно когда желательно, чтобы файлы сохраненных игр оказались компактными), в то время как в системах ИЛ это обычно делается автоматически, без каких-либо усилий со стороны программиста.

Поскольку какие-то ошибки в процессе разработки программы все равно неизбежны, во всех ИЛ-системах присутствуют довольно мощные и удобные средства отладки. Часто они позволяют отлаживать программу в терминах созданного вами объектного мира, изменяя местоположение и свойства отдельных объектов, позволяя переместиться в любую локацию, приобрести любой предмет и т.п. Дополнительные сервисные возможности, вроде вывода всего текста игры в отдельный файл для проверки орфографии и пунктуации, также весьма полезны.

Наконец, нельзя не упомянуть о том, что существуют и сугубо интерактивные системы разработки ИЛ (Adrift, SUDS, консольные системы), позволяющие создавать и редактировать игры без собственно программирования, исключительно в режиме диалога. Возможности таких систем пока заметно уступают полноценным языкам ИЛ-программирования — но перспективы у этого направления, безусловно, имеются.

Подводя итоги, есть смысл вспомнить старую истину: для решения каждой задачи есть свой инструмент, и то же справедливо и для языков программирования. Конечно, у универсальных языков есть свои несомненные достоинства — но для решения таких специфических задач, подобных разработке ИЛ, специализированные часто подходят намного лучше.

1.7. Является ли жанр ИЛ преимущественно англоязычным, или другие языки тоже встречаются? Как обстоят дела с ИЛ на русском языке?

Исторически сложилось так, что первым и основным языком интерактивной литературы стал английский. Это, конечно, не случайно. Прежде всего, этому способствовало место появления первых продуктов ИЛ — сперва США, несколько позднее Великобритания и другие англоязычные страны.

Помимо этого, у английского языка имеются и другие существенные преимущества — в первую очередь его грамматический строй. Из всех европейских (да и мировых) языков, английский — один из самых простых по своей морфологии. Существительные и прилагательные не склоняются; глаголы не спрягаются, а их неопределенная форма ничем не отличается от повелительной (поэтому “take iron key” можно понимать и как «взять железный ключ», и как «возьми железный ключ»), согласования минимальны и т.п. По этим причинам в качестве языка общения с пользователем для ИЛ-системы проще использовать английский, чем другие языки — причем язык системы (как входной, так и выходной) будет достаточно правильным и грамотным, чтобы пользователя это не коробило. Немаловажно и то, что для английского характерны достаточно короткие слова (значительное количество слов не превышает по длине шести букв, или, по крайней мере, различаемо по ним).

С развитием жанра, однако, появились попытки создания ИЛ-игр на других языках — прежде всего, конечно, европейских — как путем создания оригинальных ИЛ-систем, так и путем локализации существующих англоязычных. В настоящее время существует довольно богатая интерактивная литература на французском, итальянском, испанском и немецком языках.

Что же касается ИЛ на русском языке, то это направление пока еще только делает первые шаги. В какой-то степени это обусловлено относительно сложной морфологией языка (склонением существительных и прилагательных, которое, к тому же, часто важно для понимания фразы), разнообразием форм глаголов и глагольных приставок, относительно длинными словами и многими другими факторами. Тем не менее, все эти трудности, несомненно, преодолимы (тем более, что во многих европейских языках, которые не намного проще, чем русский, с ними удалось справиться). На мой взгляд, бороться с этими трудностями лучше всего с помощью одной из уже русифицированных систем, о которых пойдет речь в следующем разделе.

2. Доступные языки и технологии разработки ИЛ

2.1. ADRIFT (Adventure Developer & Runner — Interactive Fiction Toolkit)

Популярная интерактивная ИЛ-система. Создана относительно недавно.

Последняя версия: 4.0 (Generator & Runner), наиболее популярная 3.9 в силу ее бесплатности.

Разработка и поддержка: Кэмпбелл Уайлд (Campbell Wild), начиная с декабря 1997.

Доступность: версия 4.00 распространяются как shareware ($17), более ранние — freeware.

Принципы технологии: интерактивная среда разработки и исполнения ИЛ-приложений. Средствами Adrift Generator разрабатывается игра, которую можно выполнить с помощью Adrift Runner. Готовые файлы игр имеют расширение '.TAF'.

Переносимость: все версии Windows. Кроме того, для выполнения готовых Adrift-программ можно использовать альтернативы: мультиплатформенный Adrift-интерпретатор SCARE (имеются версии для DOS, Windows, Linux…) и Java-приложение jAsea.

Основные возможности. Разработка или редактирование игры с помощью Adrift Generator предполагает работу в удобной интерактивной среде. Пользователю доступно несколько рабочих окон:

Rooms: локации игры (их краткие и полные описания, пути между ними и т.п.);

Objects: объекты игры, статические или динамические (портативные). Разумеется, они также имеют описания и специфические свойства (контейнер, поверхность, может быть надет на себя, съедобен, может быть оружием и т.п.), а также такие специфические атрибуты, как размер и вес.

Tasks: собственно команды, определенные пользователем. Здесь можно задавать их связь с объектами, и вызванные ими действия.

Events: позволяет задавать асинхронные (не связанные с действиями пользователя) события игры.

Characters: не главные персонажи (НГП) игры. Здесь задаются алгоритмы их перемещения, их действия, общение с ними.

Стандартный Windows-интерпретатор (Adrift Runner) содержит множество полезных дополнительных возможностей — например, окно карты, показывающее все места, где Вы побывали.

Хотя ADRIFT является интерактивной системой, некоторые базовые вычислительные и программные возможности в нее заложены (в любой текст, выводимый программой, можно включать вычисляемые выражения, в которых допустимо довольно много полезных операций).

Еще одна существенная особенность ADRIFT — встроенная боевая система, позволяющая легко программировать интерактивные баталии в стиле ролевых игр — у главного героя и любых НГП могут быть разнообразное оружие, броня и пр.

Обычный недостаток всех интерактивных систем — отсутствие исходного текста программы (из-за чего невозможно работать с ним внешними средствами, повторно использовать фрагменты программного кода, коллективно разрабатывать программу и пр.) В ADRIFT этот недостаток частично преодолен — имеются средства импорта и экспорта модулей программы в виде исходного текста.

Интернационализация и русская версия.

В ADRIFT заложены средства интернационализации, хотя и довольно примитивные. Они основаны на простой подстановке текстовых строк. Обычно, в виде ALR-файла, поставляемого вместе с игрой, задается набор текстовых подстановок, действующих на любой выводимый программой текст (вроде «Also here is|Здесь же»).

Не знаю, как с другими языками, но русская версия системы (3.9) существует, взять ее можно на сайте «Клуб Адвантюристов» (см. ниже). Разработчик — LARISALISA, Качество перевода хорошее, если сделать скидку на труднопреодолимые ограничения самой системы.

Ссылки:

http://www.adrift.org.uk:/
ADRIFT — официальный сайт (англоязычный).

Написать разработчику системы можно на campbell%adrift!org!uk.

http://advantureclub.narod.ru/

"Клуб Адвантюристов"

Официальный сайт Русского Adrift. Русская версия системы, библиотеки и игры.

2.2. Hugo

Относительно молодая (по сравнению с Inform и TADS), но довольно успешно набирающая популярность ИЛ-система.

Последняя версия: Hugo engine — Version 3.1.03 – 5Jan06

Разработка и поддержка: Кент Тессман (Kent Tessman) занимается разработкой системы с 1995 года вплоть до настоящего времени.

Доступность: freeware. Исходные тексты также доступны.

Принципы технологии: компилируемый язык программирования. Файлы с исходным кодом (обычно имеющие расширение ’.HUG’) обрабатываются Hugo-компилятором. Естественно, файлы-результаты (‘.HEX’) выполняются Hugo-интерпретатором.

Переносимость: широкая. Технология доступна на: Acorn RISC OS, Amiga, BeOS, MS-DOS, большинстве Unix-систем, OS/2, Win95/NT. Интерпретатор также переносим на любую систему, поддерживающую технологию Glk (например MacOS), хотя с поддержкой мультимедиа при этом несколько хуже.

Основные возможности. Язык программирования, заметно напоминающий Inform — но, по мнению разработчика, с более «прозрачным» синтаксисом. Парсер качественный (хотя, по некоторым отзывам, слегка уступает уровню Inform и TADS). Из возможностей, заслуживающих отдельного упоминания, присутствуют иерархическое наследование (можно даже использовать объекты в качестве суперклассов), динамическое формирование словаря, глобальные и объектные события (?), предпарсерная обработка командной строки.

В систему входит мощный интерактивный отладчик (HD), позволяющий следить за выполнением программы, устанавливать контрольные точки и т.п. (Отладчик реализован в среде Windows и DOS.) Имеется также специальный набор отладочных подпрограмм (HugoFix).

Мощной особенностью системы изначально были ее мультимедиа-возможности. Впрочем, сейчас вполне сравнимые возможности предоставляют Glulx Inform и HTML-TADS. Тем не менее, достойно упоминания то, что Hugo может поддерживать многооконный интерфейс (с не перекрывающимися окнами), графику (JPEG), аудио (MOD, S3M, MP3, MIDI, XM, WAV; до 32 аудиоканалов), а, начиная с версии 3.0 — даже видео (MPEG, AVI).

Интернационализация и русская версия. Кажется, какие-то усилия предпринимались... Пока у меня нет более надежной информации.

Ссылки:

http://www.generalcoffee.com/hugo.html:

Hugo — An Interactive Fiction Authoring System.

Официальная страница проекта.

2.3. Inform

(близко родственные технологии: Z-code, Glulx, Blorb)

Безусловно, в англоязычном (и не только) мире, это — одна из самых популярных платформ (по общему количеству программ, созданных на этой основе, она явно может претендовать на мировое лидерство).

Последняя версия: компилятора 6.30, стандартных библиотек 6/11.

Разработка и поддержка: язык Inform в 1993 г. создал Грэхем Нельсон (Graham Nelson). Помимо него, к созданию технологии приложили усилия еще многие: компания Infocom (оригинальный формат Z-файлов), группа InfoTaskForce (его последующая «расшифровка»), Эндрю Плоткин (Andrew Plotkin) — технологии Glk, Glulx и Blorb. В настоящее время, поддержкой и развитием технологии занимается группа, которую возглавляет Роджер Фирт (Roger Firth).

Доступность: freeware. Распространяется свободно, при условии неизменности. Исходные тексты библиотек, компилятора и большинства интерпретаторов доступны.

Принципы технологии: компилируемый язык программирования. Файлы с исходным кодом (обычно имеющие расширение ’.inf’) обрабатываются компилятором Информ, поддерживающим две целевых платформы — Z-code и Glulx.

Файлы первого типа имеют расширения типа .Z# (# — цифра, номер версии Z-формата) и содержат исполняемый код 16-битовой виртуальной Z-машины. С помощью Inform обычно создаются программы ее пятой (.Z5, до 256 Kb) и восьмой (.Z8, до 512 Kb) версий. Конечно, для их выполнения требуется Z-интерпретатор — наиболее популярен Frotz, имеющий много портов и модификаций. Замечу, что поскольку этот Z-формат отсчитывает свою историю от той самой Infocom, то все Z-интерпретаторы также выполняют большинство классических игр этой фирмы (хотя они созданы не с помощью Inform).

Файлы Glulx (имеют расширение .ULX) содержат 32-битовый виртуальный код. Для их выполнения требуется свой интерпретатор (обычно он называется Glulxe, или наподобие этого). Размер Glulx-игр практически не ограничен, отсутствуют также многие внутренние лимиты, характерные для Z-кода.

Переносимость: технология доступна очень широко. Вот список (не самый свежий) платформ, где компилятор Inform доступен: Acorn RISC OS, BeOS, Macintosh, Atari ST (версия 5.4), Amiga, MS-DOS (также версия для GO32), Linux, OS/2, UNIX, VMS (DEC VAX или Alpha) и EPOC (Psion 5/Revo/7), Windows. Z-интерпретаторы доступны еще шире — в частности, есть для большинства маломощных устройств, вроде наладонников. Glulx-интерпретаторы пока распространены меньше, но для Windows, Linux (консольный и X) и MacOS X имеются.

Основные возможности. Inform — полнофункциональный объектно-ориентированный язык программирования, во многом похожий на C и SmallTalk. Он позволяет описывать игру в виде иерархии объектов с определенными свойствами и атрибутами; поддерживаются классы и наследование, в т.ч. множественное. Системный парсер весьма развит и соответствует стандартам лучших продуктов от Infocom. По умолчанию поддерживается около полусотни стандартных глаголов; можно легко определять новые глагольные фразы (с альтернативными вариантами синтаксиса), равно как и замещать или переопределять стандартные.

Платформе присуща очень открытая архитектура — Inform в значительной степени реализован на себе самом. Например, парсер реализован в виде набора Inform-подпрограмм, что позволяет легко изменять любые его модули; то же справедливо для библиотеки стандартных глаголов. В языке также имеется специальное средство для «замещения» стандартных подпрограмм на определенные пользователем. Имеется более сотни дополнительных модулей и полезных расширений для стандартных библиотек. Имеются даже полные альтернативы стандартным библиотекам — например, пакет Platypus.

Отдельного отладчика для Inform не предусмотрено — зато предусмотрен специальный отладочный режим компиляции игры. В нем доступно большое количество дополнительных отладочных глаголов, позволяющих следить за работой парсера и внутренними процессами игры, просматривать структуру объектного дерева и свойства отдельных объектов, мгновенно переместиться в любую локацию и заполучить любой объект и т.п. Еще более мощных дополнительным средством является встроенный отладчик “Infix“, позволяющий произвольно менять переменные игры и атрибуты объектов и понимающий выражения с Inform-подобным синтаксисом.

Компилятор поддерживает множество дополнительных опций, включая выдачу разнообразных листингов и дампов создаваемой программы в «читаемом» виде, выдачу статистики (например, общий объем текста в исходном коде) и пр. Для Z-формата доступно много дополнительных инструментов — декодеры и дисассемблеры (TXD, InfoDump), верификаторы целостности Z-файла и пр. Имели место даже попытки (пока, правда, не слишком удачные) создать дисассемблеры, автоматически восстанавливающие Z-файл до исходного кода на Информе.

Оригинальный формат Z-кода предлагал весьма ограниченные (и плохо совместимые с новыми интерпретаторами) возможности для управления цветом и стилями текста, деления экрана на окна и вывода графики. Новый формат, Glulx, призван исправить этот недостаток. Glulx-программы могут открывать и использовать произвольное количество неперекрывающихся окон (причем их размеры и расположение можно менять при выполнении программы), управлять стилями и форматированием выводимого текста, выводить графические изображения в отдельные окна или встраивать их в текст, внедрять в текст гиперссылки, воспроизводить музыку и звуковые эффекты по нескольким каналам, работать с произвольными внешними файлами и пр. Glulx-программы управляются событиями, позволяющими асинхронно обрабатывать ввод от клавиатуры, мыши и таймера. Стандартные Информ-библиотеки теперь расширены таким образом, что программист может создавать Glulx-игры с поддержкой графики, аудио, мыши и т.п. ничего в них не меняя — надо лишь подключить собственные обработчики к заложенным в библиотеку «переходникам». Новым стандартным форматом для хранения графики и мультимедиа является Blorb (расширение .BLB). В файлы этого формата могут упаковываться графические изображения (в форматах JPEG и PNG), музыка и звуки (в форматах MOD, SONG, AU, RIFF/WAV и OGG) и собственно программа (как Z-code, так и Glulx), что дает возможность распространять программу в одном BLB-файле вместе со всеми мультимедиа-ресурсами.

С использованием этих технологий есть возможность создавать ИЛ-игры, дополняющие стандартный парсер мощным Legend-подобным многооконным интерфейсом. Более того, уже появились библиотечные пакеты, помогающие это делать (например, GWindows).

Интернационализация и русская версия. Inform — одна из самых широко локализованных систем ИЛ, причем возможность локализации заложена непосредственно в стандартные библиотеки. Все языково-специфичные детали (сообщения, грамматика, союзы и служебные слова и пр.) изолированы от прочего кода, собраны в двух библиотечных файлах (English.h и Grammar.h), и в принципе достаточно правильно перевести их содержимое для локализации всей системы. Хотя изначально система создавалась для такого грамматически простого языка, как английский, в ней предусмотрено многие понятия (концепции рода и числа, различные артикли и их contraction forms и пр.), также необходимые для европейских языков. Механизм предпарсерной обработки командной строки позволяет справиться со многими языково-специфичными трудностями. Уже имеются переводы на немецкий, французский, испанский, итальянский, шведский, искусственные языки эсперанто и lojban; в процессе перевод еще на несколько языков — португальский, финский, польский. В спецификации Z-форматов сейчас заложена полная поддержка набора символов Unicode.

Русская версия системы (RInform) активно разрабатывается с 2003 года по настоящее время. Основной ее разработчик — автор этого документа (dgaev%mail!ru). Состояние — «стабильная бета» (версия 0.80 готовится к выходу), принципиальных изменений не ожидается. Система самостоятельно умеет генерировать падежные формы для имен объектов (достаточно выделить падежные окончания существительных и прилагательных, например «массивн/ая стальн/ая двер/ь», присвоив соответствующему объекту правильные род и число), и распознавать падежные формы в командах (и «открыть дверь ключом», и «открыть ключом дверь» понимаются правильно). Также распознается большое число дополнительных глагольных форм с приставками.

К сожалению, сейчас Glulx не поддерживается в качестве выходной платформы для RInform, т.к. в спецификации этого формата поддержка наборов символов, отличных от Latin-1, не заложена вообще! К счастью, это будет исправлено. Кроме того, не все Z-интерпретаторы правильно поддерживают Unicode — под Windows рекомендуется использовать WinFrotz 2002.

Ссылки:

http://www.inform-fiction.org/: официальная страница проекта Информ.

2.4. Hydra

Hydra - базовая система для написания парсерных IF игр на языке программирования Python.

Разработка: (c) Copyright 2001-2002 WildWizard, позже присоединился Стас "Unreal" Старков. Система была доведена до рабочего состояния и позволяет создавать полноценную ИЛ.

Доступность: freeware.

Особенности: Система программирования похожа на Inform и довольно проста и гибка. К сожалению, заинтересованности авторов система в свое время не вызвала. Возможно, в этом "виноват" тот факт, что система была все же не до конца отшлифована, и для ознакомления с ней приходилось "бороться" с программистскими особенностями языка.

Перспективы: Стас "Unreal" Старков, продержавшийся на полгода дольше WildWizard-а на разработке системы, написал дополнительную программу – интерпретатор, - позволяющую более комфортно запускать игры на Гидре. Также, он внес некоторые (в основном, косметические) изменения в исходники, что сделало разработку немного более доступной для новичков. В скором времени Стасом будет выложена небольшая игра на Гидре, а также более новая версия самой Гидры и интерпретатор (с исходниками).

Т.к. Python -- язык интерпретируемый, все исходники по определению доступны для продолжения развития. Их можно скачать здесь:

http://www.taplap.ru/ftpindex.php?indir=programming/HYDRA/

Известно, что интерпретатор языка Python распространен, например на смартфонах с операционной системой Symbian, и вообще является кросс-платформенным. Однако, тестирование Гидры на данных платформах пока не производилось.

2.5. TADS (Text Adventure Development System)

Безусловно, вторая по популярности (после Inform) ИЛ-платформа в мире и первая (среди парсерных платформ) в России.

Последняя версия: 2.5.X (TADS 2), 3.0.X (TADS 3).

Разработка и поддержка: TADS — профессиональная система для разработки ИЛ — создана Майклом Робертсом (Michael Roberts) в конце 1980-х годов. Он ее продолжает развивать и поддерживать до настоящего времени (при участии и поддержке множества энтузиастов).

Доступность: когда-то система разрабатывалась как shareware-продукт; теперь распространяется свободно вместе с исходными текстами.

Принципы технологии: компилируемый язык программирования. TADS-компилятор обрабатывает исходные файлы (обычно имеющие расширение ’.T’), и генерирует переносимый двоичный файл игры (расширение .GAM), для выполнения которого необходим TADS-интерпретатор.

Переносимость: широкая. Система TADS доступна на: Acorn RISC OS (только интерпретатор), AmigaDOS, Atari ST/TT/Falcon, DECStation, Linux, Macintosh, MS-DOS (есть также версия для GO32), NeXT, OS/2, SGI Iris/Indigo, SunOS & Sun 3, все версии Windows. Интерпретаторы TADS предъявляют несколько большие системные требования, чем Z-интерпретаторы, поэтому на очень маломощных системах (старые ПК, наладонники) могут не работать.

Основные возможности. TADS — объектно-ориентированный язык программирования, напоминающий гибрид между C и Паскалем. Обычная программа состоит в основном из описаний объектов (локаций, предметов, NPC); поддерживаются суперклассы и наследование (множественное). Стандартный парсер весьма развит (не уступает стандартному «инфокомовскому» уровню). Конечно, есть возможность переопределять и расширять набор глаголов и их синтаксис, а также переопределять библиотечные подпрограммы. TADS также поддерживает динамическое управление памятью и создание новых объектов при выполнении. Система располагает развитыми средствами ввода-вывода — в частности, можно работать с любыми внешними файлами. Предусмотрена даже возможность связывания с двоичной TADS-программой фрагментов кода, написанных на других языках (хотя то, что получится в результате, вряд ли будет переносимым). Есть возможность создавать “stand-alone game”, т.е. TADS-программу, связанную с интерпретатором в один исполняемый файл.

Весьма мощное дополнительное средство — TADS-отладчик (TDB), позволяющий просматривать и изменять любые данные программы, выполнять ее в пошаговом режиме, устанавливать контрольные точки и пр.

Ядро TADS технологии (стандартные суперклассы, глаголы, системные сообщения) реализовано в виде двух библиотечных файлов (“adv.t” и “std.t”), легко доступных для модификации. (Правда, по крайней мере, в TADS 2, средства для модификации работы парсера несколько менее наглядны и удобны в применении, чем в Inform). Также реализовано множество полезных расширений для стандартных библиотек, существуют даже полные альтернативы (WorldClass, Pianosa).

Относительно новое расширение технологии — HTML-TADS — позволяет лучше управлять выводимым текстом, путем включения в него тегов разметки (подмножество HTML). За счет этого можно управлять шрифтами, размерами, цветом и прочими стилевыми атрибутами текста; можно включать в текст гиперссылки и графику (JPEG, PNG, MNG – анимированный PNG), воспроизводить многие популярные аудиоформаты (MIDI, WAV, MP3, OGG). Программы, ориентированные на HTML-TADS, работают и в более старых TADS-интерпретаторах (хотя, конечно, без перечисленных «излишеств»). Сейчас HTML-TADS интерпретаторы доступны для Windows и MacOS X.

Новые версии системы (TADS 3) представляют собой существенный шаг вперед, прежде всего, в плане описания объектной модели игры. В ходе работы над TADS3, автор дорабатывает совместный для новой и старой версии интерпретатор, что означает дальнейшее улучшение мультимедийных возможностей и интерфейса. На Западе третья версия уже намного обогнала по популярности вторую, однако в России ситуация обратная – в связи с отсутствием (даже в проекте) локализации TADS 3.

Интернационализация и русская версия. Русская версия TADS 2 (далее RTADS) разрабатывалась с лета 2002 г. Ведущий разработчик — Андрей Гранкин (GrAnd).

Состояние разработки на сегодняшний день (2007г.)— только поддержка, система в основном завершена, обновления библиотек появляются при необходимости.

Локализация TADS требовала несколько больше усилий, чем Inform. Для перевода системы потребовалось адаптировать к другому языку оба библиотечных файла. Эта гигантская работа уже закончена и в настоящее время RTADS является наиболее проработанной и совершенной системой разработки текстовых адвентюр (текстовых квестов с командным управлением) на русском языке. Гибкость языка позволяет автору настроить систему под себя и реализовать любой замысел.

Система работает с заранее назначенными автором падежами, для упрощения этой задачи предусмотрен "генератор падежных форм", реализованный как отдельное Win-приложение.

Официальное руководство по TADS переводится на русский язык (не спеша, но качественно) Валентином Коптельцевым (http://rtads.org/man/INDEX.HTM).

Русская локализация TADS 3 не планируется.

Ссылки:

http://www.tads.org/:
Официальная страница проекта TADS (англоязычная).

http://rtads.org/:

Официальная страница RTADS. Письма можно посылать на rtads%mail!ru.

2.6. URQ (Universal RipSoft Quest)

Простая платформа отечественного происхождения для разработки «консольной» ИЛ (управляемой с помощью меню и кнопок).

Интерпретаторы:

URQ 1.4 от RipOs. (Есть версия 2.0 alpha, очень неустойчивая – не применяется) разработка прекращена.

Urq_dos 1.35 от 30.11.2004 консольная, работает в ДОС-окне, самая устойчивая в работе, фактический стандарт языка. Разработчик URQ_DOS (с 2000 г. по сей день) — Виктор Корянов.

AkURQ 1.28 от Акела. На настоящий момент самая продвинутая версия интерпретатора, поддерживает некоторые функции, отсутствующие в «досурке» (математические, строковые, работу с окнами, настройка шрифтов пользователем и т.п.), имеет развитые мультимедийные возможности. Уникальная особенность по сравнению с предыдущими интерпретаторами URQL – поддержка html-кода (через обращение к браузеру).

Разработка и поддержка: можно обращаться на форум http://urq.borda.ru/

Доступность: freeware.

Принципы технологии: интерпретатор, работающий непосредственно с исходными текстами.

Переносимость:

Все версии Windows и DOS (с 2003 года — только 32-разрядная версия URQ_DOS). Существуют отдельные проблемы совместимости между разными версиями интерпретатора (в частности, версиями под Win и DOS). Для Win-версии URQ 1.4, написанной на VB, также должны быть установлены некоторые нестандартные OCX-компоненты, доступные с сайта разработчика. AkURQ использует только стандартные компоненты VB.

Основные возможности.

На основе URQ можно создавать простые квесты, напоминающие книгу с ветвящимся сюжетом. Управление осуществляется не командным путем, а путем выбора пользователем одного из нескольких доступных вариантов действий через систему меню и кнопок. Конечно, это существенно ограничивает интерактивность (зато сам процесс игры требует минимум усилий со стороны пользователя).

Проигрываемые AkURQ файлы игр-квестов являются обычными текстовыми файлами в win (Windows-1251) или dos (cp866) кодировке, и имеющими расширение .qst (незашифрованный квест), .qs1, .qs2, .qs3 (зашифрованные квесты).

На настоящий день написано более 200 квестов, с большинством из которых можно ознакомиться здесь. Квесты пишутся в любом текстовом редакторе, - что очень удобно, - хотя существует специальный текстовый редактор SMSQ, название которого расшифровывается, как "Сам Можешь Сотворить Квест" (разработчик — Евгений Бычков). Они пишутся на простом Бейсик-подобном языке программирования (Universal Ripsoft Quest Language — URQL), который понемногу совершенствуется и развивается.

Базовые средства языка позволяют выводить текст и управляющие кнопки, иметь числовые и строковые переменные, выполнять ветвления и циклы в зависимости от определенных условий, обращаться к подпрограммам. URQL-код может быть частично самомодифицирующимся.

В последних версиях WinURQ и в AkURQ присутствуют неплохие мультимедиа-возможности. Можно вставлять в текст графические изображения (в т.ч. работающие как гиперссылки), использовать звуки и музыку (WAV и MID), разбивать квест на модули, запрашивать у пользователя ввод (числа, текстовые строки).

Система хорошо документирована (не говоря уж о том, что доступность большинства программ в исходных текстах полезна сама по себе).

К недостаткам URQ можно отнести отсутствие встроенных механизмов объектно-ориентированного программирования, затрудняющее написание больших проектов. Хотя, с другой стороны, польза ООП для менюшной системы вещь спорная.

Ссылки:

http://ripsoft.narod.ru/Ripsoft.htm:

RipSoft, старый официальный сайт. Автор потерял интерес к разработке и на вопросы не отвечает

http://urq.allquests.ru/soft.urq

Ссылка, с которой можно скачать интерпретаторы и другие полезные в разработке программы

http://www.urq.allquests.ru/:

Фактический официальный сайт. Очень большой выбор URQ-квестов. Там же можно скачать все интерпретаторы.

http://urq.borda.ru/

Форум по URQ

2.7. QSP (Quest Soft Player)

Вторая из лучших платформ отечественного происхождения для разработки «консольной» ИЛ (управляемой с помощью меню и кнопок).

Последняя версия: QSP 5.5.5 (- брать тут! написана на Си и С++). (Есть версия QSP3 – последняя на VB, устарела.)

Разработка, поддержка, доступность: Программа "Quest Soft Player" изготовлена компанией " Byte Soft" и распространяется в соответствии с лицензией GNU GPL. Главный и единственный разработчик – Валерий Аргунов ( Byte). Это означает, что проблемы совместимости разных интерпретаторов практически не существует – есть только возможная несовместимость разных версий, но это решается использованием для некоторых старых игр старого интепретатора QSP 3. Лучшие игры уже переведены в формат нового интерпретатора.

Принципы технологии: интерпретатор, работающий со специальным файлом с расширение '.gam' или '.qsp', который получается либо с помощью генератора - брать здесь!, либо специальной утилиты конвертирующей текст квеста, написанный в любом текстовом редакторе, в файл c расширением .qsp.

Переносимость: Все версии Windows. Портирован на Windows CE, Linux / Unix, Sony PSP, BeOS / Haiku. Существует веб-интерпретатор wiQSP. Теоретически, по заверениям разработчика, поскольку интерфейсная и логическая части программы разделены, а сама программа написана на C и C++, ее можно легко портировать на любую платформу.

Основные возможности. Quest Soft Player – это проигрыватель (интерпретатор) текстовых игр, преимущественно с менюшным вводом, для проигрывания файлов в формате QSP. Кроме программы-проигрывателя также существует программа-редактор текстовых игр QGen, в которой можно самостоятельно создавать подобные игры.

Язык поддерживает элементарные математические операции с целыми числами (совершенно достаточные для написания текстовых квестов), и очень многие функции работы со строками, в частности, обработку регулярных выражений, которые позволяют реализовать на QSP свой собственный синтаксический анализатор.

QSP позволяет использовать для оформления игры:

* графику - большинство распространенных форматов, включая анимацию;

* музыку и звуки - множество различных форматов (в том числе WAV, MID, MP3, OGG), с установкой уровня громкости.

* многие теги html – имеется встроенный обработчик. Теги позволяют использовать иконки, например, для изображения предметов инвентаря.

Встроенный простой язык для разработки игр, наличие подробной документации (например, этого файла помощи qsp531help.zip) и огромное число примеров (SAMPLES), идущих с программой, способствует быстрому обучению программированию на QSP.

Наличие функционального редактора QGen для написания игр, ведение списка локаций и удобное представление компонентов, позволяет упростить написание и отладку. Также, можно создавать игры в любом текстовом редакторе, используя конвертирующую утилиту TXT2GAM.

Существует возможность коллективного творчества, когда несколько авторов пишут разные ветви одной игры, а затем объединяют их в одном файле.

Ссылки:

QSP на IFWIKI. Там всегда есть свежее описание и ссылки.

http://www.qsp.org.ru/

официальный сайт QSP от разработчика. Там есть все необходимые файлы и ссылки.

http://qsp.borda.ru/

Форум по QSP

http://day0.narod.ru/

сайт HIman’a – одного из самых горячих сторонников QSP, активного квестописателя.

2.8. TKR 2 (ТЕКСТОВОКВЕСТОВЫЙ РЕДАКТОР 2)

Простая в освоении, универсальная система  для написания как "парсерных", так и "менюшных" квестов.

Разработка и поддержка: By Александр Дудченко aka Alduda

И разработка и поддержка на настоящий момент прекращена.

Доступность: freeware.

Принципы технологии: написан на VB, требует соответствующих библиотек, позволяет работать с обычными текстовыми файлами.

Переносимость: Только Windows.

Основные возможности:

1.    Все операторы состоят из одной буквы русского алфавита.

2.    Вставка звука, музыки, картинок в игру,

3.    Наличие характера персонажа,

4.    Возможность шифрования файлов игры

5.    Удобное редактирование инвентаря, заданий, правил, подсказок, вступительного текста.

Особенности:

Квест многофайловый, содержит и тексты и графику и звуки в отдельных файлах, причем каждая локация – отдельный файл.

В данной платформе автор игры может указать лишь корень слова, а далее поставить знак %, который означает, что далее могут идти любые символы. Так слово «кот%» подойдет и для «поговорить с котом», «убежать от кота», «предложить коту сметану» и так далее. Самодельный упрощенный парсер допускает нелепые ошибки, но, в принципе, пригоден для работы – многое зависит от автора игры.

Данная система позволяет использовать четыре различных варианта управления игрой:

·       Классический текстовый ввод

·       Выбор вариантов из меню

·       Система с наличием столбцов используемых слов

·       При этом даже в рамках одной игры можно совмещать эти элементы.

Ссылки:

Официальный сайт ТКР-2: http://www.if-company.narod.ru/

Официальный сайт АлДуды: http://www.alduda.com/

2.9. GTI – графическо-текстовый интерпретатор

Простая платформа отечественного происхождения для разработки менюшной ИЛ (управляемой с помощью меню и кнопок). Особенность – для написания квестов используется только русский язык.

Последняя версия: 1.2 (официальная).

(Следующая версия ожидается 2.0 с большими изменениями)

Разработка и поддержка: GuchaGames interactive. Разработчик Валентин Gucha Гуков.


Доступность: freeware.

Принципы технологии: интерпретатор, работающий непосредственно с исходными текстами. Файлы с квестами обычно лежат в каталоге вместе с графикой, и музыкой. В ранних версиях каждая локация описывалась в отдельном файле, в последних этот недостаток исправлен.

Переносимость: Все версии Windows. (Проверен на 98, 2000, XP)

GTI - новый (2006 года) интерпретатор графическо-текстовых квестов. Первоначально разрабатывался как программа для создания игр в стиле японских квестов, а затем вырос до универсальной программы для создания любых графическо-текстовых мультимедийных сценариев.

Особенности:
1. Написан на Дельфи 7, не требует дополнительных библиотек для работы.
2. Поддерживает наложение картинки на фон, поддержку графики в инвентаре и небольшие спецэффекты, проигрывание звуков на фоне музыки.
3. Интерпретатор имеет свой собственный язык, позволяющий создавать менюшные квесты в любом текстовом редакторе.
4. Отличается от других использованием в качестве команд русских аббревиатур или сокращений, таких как "тек", "доб" (текст, добавить) и т.п., в связи с чем, очень прост для изучения.
5. Текстовое поле имеет небольшой размер, поскольку интерпретатор рассчитан на вывод текста небольшими порциями по требованию пользователя; куски текста значительных размеров можно выводить последовательно или пользоваться прокруткой.
6. Для выбора может предоставить от одного до 4-х вариантов действий.
7. Снабжен понятной документацией и примерами квестов от автора, которые позволяют легко разобраться в структуре языка и самому сделать свой квест в течение короткого времени. В настоящее время по-моему уступает по возможностям таким "монстрам" как QSP, AkURQ, TKR 2, однако быстро развивается. Совершенно непригоден для создания парсера и квеста с текстовым вводом, ориентирован всё же больше на использование графики с небольшим количеством сопровождающего текста.

http://GuchaGames.com/

официальный сайт (временно не доступен из-за проблем с оплатой хостинга).

http://tightbow.narod.ru/GTI_v1.2.rar

Здесь можно взять версию GTI v1.2 (которая, правда заявляет, что она 1.1, но на самом деле это именно 1.2)

2.10. «6 дней»

Платформа на основе скриптового языка Lua 5.0. Предназначена для создания  игр с текстовым вводом. В стандартном пакете поддерживается только текстовый вывод, но благодаря расширяемости и встраиваемости самого Lua, возможно создание раннера с графическим и любым другим выводом.

Последняя версия: 1.25

Разработка и поддержка: (c) Рыцарь в серой фланели, 2004,  в разработке вторая версия платформы. Ожидается поддержка Lua 5.1, кроссплатформенность билдера/раннера, поддержка наследования, более простой доступ к методам и данным, поддержка библиотек, html-раннер (мультимедийные возможности).

Доступность: freeware.

Принципы технологии:

Проект, сделанный в билдере, компилируется в файл .lua, который можно запускать как из раннера, так и отдельно из интерпретатора Lua.

Переносимость:

Lua – кроссплатформенный язык, поддерживаемый Windows, MacOs, Linux, PalmOs, Pocket PC и еще рядом неизвестных эзотерических платформ. Последние версии билдера и раннера сделаны только для Windows, но скомпилированный файл запускается на любой платформе под интерпретатором Lua.

Особенности:
1. Написан на скриптовом языке Lua, не требует дополнительных библиотек для работы.
2. Наглядный графический интерфейс билдера.
3. Парсер, не привязанный к падежам и поддерживающий многоязычность, уступает по качеству парсеру RTADS, впрочем, многое зависит от автора квеста.
4. Снабжен документацией и уроками от автора, которые позволяют разобраться в структуре языка и самому сделать свой квест в течение короткого времени.

5. ООП поддерживается не в полном объеме, наследование придется делать «ручками», что требует хорошего знания языка Lua.

http://taplap.ru/archives/platforms/6days.zip

Здесь можно скачать платформу «6 дней» - в архиве билдер, раннер и помощь по созданию игры.

http://questtext.narod.ru/6deys/sladkoeja_v06b.rar

Здесь можно скачать игру: «Клара – расхитительница варенья» которая была написана, по утверждению автора за 5 дней по 2-3 часа.

Вполне возможно, что LUA займет свою достойную нишу среди IF-платформ. Выглядит симпатично. С другой стороны, чтобы довести систему «до ума» придется приложить немало усилий по созданию своих библиотек – автору этим заниматься некогда, но будем надеятся, что вторая версия платформы, которая по словам автора находится в разработке, исправит недостатки первой версии.

2.11. QTech Creator

Очень удобный в использовании редактор менюшных текстовых квестов, позволяющий довольно легко и быстро создать свой собственный квест.

Последняя версия: v0.7b Последняя версия создает EXE файл, не требующий проигрывателя для запуска.

Разработка и поддержка: ©2006 ZarTech Interactive

Доступность: freeware.

Переносимость: Все версии Windows.

Особенности: По сравнению с TGE (от Космических рейнджеров) данный редактор обладает более дружественным пользовательским интерфейсом.  Редактор включает в себя всевозможные функции, облегчающие создание квеста, такие как параметры, показ картинок и многое другое.

Мы выкладываем две версии QTech Creator—0.5с и 0.7b. Вторая версия требует некоторых знаний в программировании на Pascal, так как содержит встроенный интерпретатор скриптов. Версия 0.7b значительно функциональнее (на этом редакторе можно сделать не только квест…). Ниже приведены ссылки для скачивания:

QTech Creator v.0.5c

QTech Creator v.0.7b

Zartech%rambler!ru  - почта разработчика

http://zartech.narod.ru/index.files/qtech.htm

сайт разработчиков

2.12.TGE

Платформа QM (менюшная), ориентированая на фанатов по-своему замечательной, аркадно-стратегической, приключенческо-ролевой игры "Космические рейнджеры".

Последняя версия: TGE 2.0

Разработка и поддержка: Elemental Games"
Доступность: freeware.

Принципы технологии: графический редактор создает файл специального формата, который может проигрываться отдельным проигрывателем или игрой "Космические рейнджеры".

Переносимость: Все версии Windows.

Особенности:

1.    Шаблонный движок, куда изначально заложены многие параметры игры - космические расы, планеты и т. п. Соответственно почти все игры объединены одной темой. Впрочем, это не мешает авторам создавать неплохие квесты.

2.    Оригинальный графический редактор облегчает программирование.

3.    Ограниченные возможности означают простоту изучения и использования с одной стороны, и ограничивают свободу автора с другой.

4.    Понятная система помощи.

5.    Значительное количество квестов, созданных фанатами игры. Некоторые написаны совершенно по другой тематике.

http://www.rangers.ru/

сайт разработчиков и фанатов, откуда можно скачать TGE 2 и квесты.

http://www.rangers.ru/files/tools.htm

для тех кто заблудился и не нашел, что скачивать.

http://www.rangers.ru/guide/quest.htm

описания "фирменных" квестов от разработчиков "Космических рейджеров".

http://www.elementalgames.com/forum/msg.php?lang=rus&forum=ptquest&theme=629&page=auto

самодельные квесты.

http://questtext.narod.ru/run.html

Сайт Beliala – небольшой, здесь собраны лучшие из этих квестов, в том числе сделанные любителями не по тематике КР,  проигрыватель, и комплект из редактора и проигрывателя.

3. "Три кита, Четыре слона или что выбрать для разработки квеста?"

Если Вы хотите приготовить дрожжевое тесто,

 а дрожжей у вас нет,

то нифига у Вас не получится!

(Житейская мудрость)

3.1  Так на чем всё же писать игру?

То, что написано далее, является скромным мнением автора, опробовавшего свои творческие силы на большинстве вышеперечисленных платформ и еще полудюжине, не вошедших в список. Можете мне верить или нет – выбор Ваш, но всё что я скажу, проверено и, надеюсь, позволит Вам не терять много дней, здоровья и энтузиазма впустую. Итак, вот три-четыре лучших системы в русском IF, его опоры, на которых оно стоит:

3.2  Если Вы задумали квест с текстовым вводом,

То ваш выбор должен остановиться на RTADS. Причины просты:

- лучший парсер;

- прекрасная объемная документация на русском языке;

- система популярна в мире, развивалась много лет, и продолжает развиваться;

- возможности RTADS для IF практически не ограничены, ООП позволяет делать сколь угодно большие проекты;

- наличие активного, хотя и немногочисленного сообщества, в котором можно получить консультацию. Автор продолжает заниматься системой. (Поверьте, это очень дорогого стоит!);

Если по каким-то причинам TADS вас не устраивает, выбирайте сами  - я снимаю с себя всякую ответственность, и да пребудет с Вами... Ваше упорство.

Впрочем, дружеский совет упрямцам дать могу:

Лично мне еще нравятся RINFORM, HYDRA и "6 дней". То есть если Вы специалист по Python – однозначно Hydra, если по Lua – "6 дней". Если хотите освоить самую распространенную в мире IF-систему -  RINFORM (только имейте в виду, что его замечательная кроссплатформенность для русского языка работает не везде – только там, где поддерживается Unicode).

Если не устраивают эти, обратите внимание на ADRIFT, ТКР 2 – там с программированием на первый взгляд :) попроще... Если же Вы совсем далеки от программирования, либо найдите программиста-соавтора, либо делайте менюшную игру, однако, без большого труда сделать хорошую игру невозможно.

3.3  Если Ваш идеал квест с менюшным управлением,

То реально у Вас один выбор из двух: QSP или URQ.

Их общие достоинства:

·       Отличная сопроводительная документация;

·       Системы просты в освоении для начинающих и имеют великое богатство возможностей для "продвинутых" авторов,

·       Хорошая проработанность движка – URQ c 1999 года, QSP с 2001 (если меня не подводит память) поэтому всё, что хотелось авторам в них уже есть!

·       А багов и глюков мало – большинство уже отловили.

·       И главное: на них реально пишут неплохие игры, и можно легко найти человека, который на начальном этапе станет Вашим консультантом.

За QSP – один интерпретатор, нет проблем с совместимостью, некоторая кроссплатформенность (Windows & Linux) и логичность языка;

Против QSP – меньшее количество энтузиастов (только по сравнению с URQ), меньшее количество уже существующих игр;

За URQ – огромное количество игр, регулярно проходящие конкурсы ЛОКа и ЗОКа, традиции, и естественно, большое интернет-сообщество, где можно весело жить, спрашивать и получать вразумительные ответы;

Против – некоторые проблемы совместимости; т.е. если Вы пишете под один интерпретатор, а играют в Ваш квест на другом – не факт, что игра будет проходимой до конца.

Все остальные системы в настоящее время сильно уступают "трём китам" либо по отсутствию нормальной сопроводительной документации, либо по возможности получить помощь и сопереживание в IF-сообществе, либо по возможностям. (Впрочем, если очень хочется много картинок, которые будут "трястись" при взрывах, падениях и объятиях, можно посмотреть GTI.)


4. Каталог ссылок

Здесь, в основном, перечислены ссылки на интересные ИЛ-ресурсы, не упомянутые выше.

4.1. Англоязычные ресурсы

http://www.ifarchive.org/

The Interactive Fiction Archive

Это — основной мировой архив Interactive Fiction. Сотни мегабайтов ИЛ, и всего того, что с ней связано. Тысячи игр для всех ИЛ-систем на всевозможных платформах, интерпретаторы, средства разработки и библиотеки, документация, статьи и электронные издания, подсказки и полные прохождения, архивы ИЛ-конференций, многое другое. Если вы ищете что-либо, связанное с ИЛ, поиск стоит начинать здесь.

http://www.if-legends.org/

Interactive fiction legends

Как легко догадаться из названия, сайт посвящен «легендам» жанра ИЛ. На нем выложено множество интересных материалов про фирмы Infocom, Adventure International, Magnetic Scrolls, Level 9, Polarware. Есть сканированные руководства, подсказки и прохождения, а для некоторых фирм и сами игры.

http://www.wurb.com/if/

BAF's IF Guide

Отличный, очень удобный каталог современной ИЛ. Игры сгруппированы по названиям, авторам, системам и жанрам, к каждой имеется подробная аннотация.

http://www.firthworks.com/roger

Roger Firth's IF pages

ИЛ-страница Роджера Фирта. В основном там есть материалы по Информу, но и других интересных вещей достаточно. Стоит взглянуть на исходные тексты Cloak of Darkness — игра совершенно тривиальная, но реализована на всех без исключения ИЛ-системах, что позволяет легко сравнить и оценить их возможности.

http://emshort.home.mindspring.com/index.htm

Emily Short IF Page

ИЛ-страница Эмили Шорт, хорошо известной как автор многих отличных ИЛ-игр (Metamorphosys, Pytho’s Mask, City of Secrets). Также много полезной информации, особенно для Информ-разработчиков, но не только.

IF-wiki

http://www.ifwiki.org/:

IF-wiki - много полезной информации.


4.2. Русскоязычные ресурсы

http://www.taplap.ru/:

Interactive Fiction по-русски.

Сайт настоятельно рекомендуется всем, интересующимся русскоязычной ИЛ. Игры, анонсы, форум.Здесь также можно найти ссылки на другие сайты.Конец формы

http://www.forum.ifiction.ru/:

Форум Interactive Fiction по-русски – главный форум русского ИФ – сообщества.

http://questtext.narod.ru/run.html

Сайт Belial’a – небольшой, но очень хороший по содержанию. Много информации о разных платформах.

http://allquests.ru/:

Еще один сайт, посвященный всему IF в России.

Используются технологии uCoz