предыдущая страница страница № 10страница № 10 следующая страница
Автор: Владимир Трофимчук
Платформы

Платформы для написания Интерактивной Литературы


Платформы для нашего жанра игр разделяются на две категории по типу интерфейса: парсерные (в которых игрок вводит фразы с клавиатуры) и менюшные. К первой категории относятся три платформы: RTADS и RINFORM и менее популярная 6-Days .

RTADS является русифицированной версией известной платформы TADS 2 (Text Adventure Development System), разработанной Майклом Робертсом. Русификация произведена Андреем Гранкиным. Состояние разработки на сегодняшний день - система в основном завершена, обновления библиотек появляются при необходимости. Для перевода системы потребовалось адаптировать к другому языку два библиотечных файла. Эта гигантская работа уже закончена и в настоящее время RTADS является наиболее проработанной и совершенной системой разработки текстовых адвентюр (текстовых квестов с командным управлением) на русском языке. Гибкость языка позволяет автору настроить систему под себя и реализовать любой замысел. Начиная с 25-ой версии в комплект библиотек входит генератор падежей, позволяющий существенно упростить разработку и сделать код более читаемым. Так как система работает с заданными до компиляции описаниями объектов, формирование их падежных форм происходит в подготовительной фазе. Результат требует проверки и корректировки автором. Ранее для тех же целей приходилось использовать "генератор падежных форм", реализованный как отдельное Win-приложение. Официальное руководство по TADS переводится на русский язык (не спеша, но качественно) Валентином Коптельцевым. Его можно найти на официальном сайте RTADS.

RInform является русифицированной версией самого популярного языка разработки текстовых игр — Inform.
Автор оригинального перевода — Денис Гаев. Перевод был осуществлен Денисом в 2003 году и дорабатывался более двух лет. Последняя оригинальная версия датирована октябрем 2004 года и берёт за основу библиотеки Inform версии 6.30. С тех пор энтузиасты исправили некоторые ошибки и сделали косметические изменения.

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

Сайт RInform с каталогом игр, документацией и актуальной версией платформы.
Репозитарий на BitBucket

6-Days - не совсем популярная платформа (на ней написано всего две игры), но все же я её освящу. Она создана на основе скриптового языка Lua 5.0. и не требует дополнительных библиотек для работы. Предназначена для создания игр с текстовым вводом. В стандартном пакете поддерживается только текстовый вывод, но благодаря расширяемости и встраиваемости самого Lua, возможно создание раннера с графическим и любым другим выводом. Проект, сделанный в билдере, компилируется в файл .lua, который можно запускать как из раннера, так и отдельно из интерпретатора Lua. Платформа имеет наглядный графический интерфейс билдера. Парсер, не привязанный к падежам и поддерживающий многоязычность, уступает по качеству парсеру RTADS, впрочем, многое зависит от автора квеста. Снабжен документацией и уроками от автора, которые позволяют разобраться в структуре языка и самому сделать свой квест в течение короткого времени. Здесь можно скачать платформу «6 дней» - в архиве билдер, раннер и помощь по созданию игры.







К менюшным, квестовым платформам относятся конструктор Kvester и такие платформы: AkURQ (FireURQ), QSP, INSTEAD.

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



На официальном сайте студии HGB Геннадия Хачатурова есть игра "Тайна", скачав которую, вы получите, во-первых, сборник из 30 квестов разной направлености, во-вторых, сможете в этот сборник добавлять свои квесты. Квесты в этом движке ограничены в возможностях: текст параграфа не должен превышать 255 символов и опций переходов должно быть не больше пяти. Есть возможность помещать небольшую картинку для каждого параграфа, но нет возможности проигрывать музыкальные файлы. По мере прохождения квестов игрок зарабатывает очки, а за каждую тысячу очков вы получите "сову" - символ мудрости. Число сов показывает степень вашей мудрости.

Для того, чтобы вставить в сборник свой квест, нужно открыть папку с игрой и найти папку "data". В ней находятся все даные по квестам. Папка с номером - это папка для графики игры, в которой картинки хранятся по номерам параграфов и с расширением png. Файл с номером и расширением ini - это сам квест, в котором записываются авторство, название и сама игра. Разобраться на примерах приведенных игр самому не сложно. Есть в этой папке и шаблон квестов, заполнив который и переименовав соответствующим номером, можно получить квест, а "зарегистрировать" его в каталоге сборника можно дописав соответствующую строчку об игре в data.ini файле. Подробнее о том как создавать свои квесты в "Тайне" - на сайте.



Самым легким в программировании квестов является язык URQL, который используется в интерпретаторах этого языка AkURQ, FireURQ. URQ - менюшная freeware-платформа отечественного происхождения для разработки ИЛ (в первую очередь - для создания игр, управляемых с помощью меню и кнопок, однако существуют множественные прецеденты переписывания авторами стандартного управления). Аббревиатура расшифровывается как Universal Ripsoft Quest, по названию первой программы-интерпретатора. Сайт платформы находится здесь.

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

Существует также интерпретатор FireURQ, построенный на основе DirectX.
К главным недостаткам языка URQL можно отнести:
1. нестрогий и не слишком продуманный синтаксис языка, создававшегося разными авторами по запросам разных пользователей. В результате имеется несколько несовместимых между собой интерпретаторов и серьезные проблемы перед разработчиками игр - каким образом добиться безошибочного выполнения игры на любом проигрывателе.
2. отсутствие встроенных механизмов объектно-ориентированного программирования, затрудняющее написание больших проектов. Правда, этот недостаток исправим с помощью самомодификации. Впрочем, большая часть игр на URQ вообще не используют ООП.






QSP - преимущественно менюшная платформа (существует возможность реализации парсера - как самостоятельного, так и параллельно с меню). Аббревиатура расшифровывается как "Quest Soft Player". Программа "Quest Soft Player" распространяется в соответствии с лицензией GNU GPL. Главный разработчик – Валерий Аргунов (Byte). Список основных разработчиков платформы (по алфавиту): BaxZzZz, Byte, elmortem, Nex, Ntropy, rrock.ru. Интерпретатор, работающий со специальным файлом с расширением ".QSP", который получается либо с помощью редактора QGen, либо специальной утилиты TXT2GAM (конвертирующей текст квеста, написанный в любом текстовом редакторе, в файл ".QSP"). В конце 2009 - начале 2010 года был выпущен AeroQSP - Flash-версия проигрывателя с расширенной поддержкой графики, позволяющая играть в браузере. Язык поддерживает элементарные математические операции с целыми числами (совершенно достаточные для написания текстовых квестов), и очень многие функции работы со строками, в частности, обработку регулярных выражений, которые позволяют реализовать на QSP синтаксический анализатор.
QSP позволяет использовать для оформления игры:

1. графику - большинство распространенных форматов, включая анимацию (GIF);
2. музыку и звуки - множество различных форматов (в том числе WAV, MID, MP3, OGG и большинство форматов трекерной музыки), с установкой уровня громкости;
3. многие теги HTML – имеется встроенный обработчик. Теги позволяют применять сложное форматирование текста, а также использовать иконки, например, для изображения предметов инвентаря.

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

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

Знающий язык программирования LUA легко освоит платформу INSTEAD - Интерпретатор платформы STEAD ("Simply Text Adventure"). Автор утверждает, что классификация STEAD как менюшной платформы не является полностью корректной, так как исходные тексты игр для STEAD являются объектно-ориентированными и напоминают скорее облегченную версию inform, чем классические менюшные игры. Игровой процесс также отличается от большинства игр менюшных платформ. Однако в существующей классификации платформ на менюшные и парсерные, STEAD действительно ближе к менюшным платформам за счет наличия графического интерфейса и отсутствия парсера.
Интерпретатор STEAD (имеющий название INSTEAD) позволяет проигрывать игры, которые по жанру являются смесью визуальной новеллы, текстового квеста и классических квестов 90-х.



Особенности STEAD-игры:
1. очень простой исходный текст историй, для авторов, имеющих навыки программирования. (В качестве основы используется LUA);
2. возможность использования графического или текстового (readline) интерфейса для игры;
3. в графическом интерфейсе поддерживается музыка и графика;
4. поддержка тем для графического интерпретатора -- конкретная игра может менять вид интерфейса;
5. переносимость (изначально написана для Linux, зависит от SDL и lua);
6. объектно-ориентированный подход.

Начиная с версии 1.1.3 INSTEAD позволяет играть в URQ игры, благодаря модулю URQ, который формально является игрой INSTEAD. В играх на данной платформе примечательно то, что предмет можно осмотреть два раза нажав на самого себя или применив один предмет на другой, который может находиться как в инвентаре, так и на основном окне экрана.

Совсем недавно появилась AXMA Story Maker - менюшная freeware платформа, разрабатываемая российской компанией АКСМА Софт. Изначально создавалась как замена Twine (Tweebox), но в процессе разработки обросла множеством новых возможностей и значительно переросла своего идейного предка. Первый релиз программы вышел 15 августа 2012 года, чему предшествовало полугодовое бета-тестирование на форуме iFiction.Ru.

Основные возможности
– простой, полностью визуальный интерфейс;
– удобный встроенный редактор с подсветкой синтаксиса;
– поддержка иллюстраций и фоновой музыки;
– для написания не требуются навыки программирования;
– возможность писать на любых языках мира;
– быстрая публикация произведения в онлайн-библиотеке;
– упаковка произведения в один компактный независимый HTML-файл;
– адаптация для чтения на небольших экранах мобильных устройств;
– читатель может сохранять и восстановливать текущее состояние;
– полная совместимость с исходными файлами Tweebox (.tw).

предыдущая страница страница № 10страница № 10 следующая страница