URQ

Материал из IFВики
Версия от 15:17, 21 января 2008; Xlomid (обсуждение | вклад) (Принципы технологии)
Перейти к навигации Перейти к поиску

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

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

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

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

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

Существует также несколько альтернативных интерпретаторов для других платформ: DOS (BEST_URQ) и др. Известно несколько попыток создать кроссплатформенный интерпретатор на Java, PHP и Perl. Наиболее стабильной, хотя и поддерживает лишь базовые возможности URQL, является написанная на Java OverURKa. Среди последних попыток портировать URQ на мобильные устройства следует выделить эту.

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

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

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

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

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

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

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

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

Ссылки