URQ

Материал из IFВики
Перейти к навигации Перейти к поиску

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

Интерпретатор AkURQ

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

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

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

Досурка

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

Существует также интерпретатор FireURQ, построенный на основе DirectX.

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

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

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

Файлы игр-квестов являются обычными текстовыми файлами в win (Windows-1251) или dos (cp866) кодировке, и имеющими расширение .qst (незашифрованный квест), .qs1, .qs2, .qs3 (зашифрованные квесты). Для FireURQ существует формат файлов .qsz (архив, в который могут быть запакованы все ресурсы квеста).

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

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

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

Система хорошо документирована. Большинство игр, к тому же, доступны в виде исходных кодов.

К главным недостаткам URQL можно отнести:

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

Ссылки