URQ: различия между версиями
Apromix (обсуждение | вклад) |
Korwin (обсуждение | вклад) (→Переносимость) |
||
Строка 10: | Строка 10: | ||
[[Изображение:urq_dos.gif|Досурка]] | [[Изображение:urq_dos.gif|Досурка]] | ||
− | "Официальные" интерпретаторы поддерживают все версии Windows ([[рипурка]], [[URQ_DOS]], [[AkURQ]]) и DOS (с 2003 года — только 32-разрядная версия URQ_DOS). Существуют отдельные проблемы совместимости между разными версиями интерпретатора (в частности, версиями под Win и DOS). Для Win-версии URQ 1.4, написанной на VB, также должны быть установлены некоторые нестандартные OCX-компоненты, доступные с сайта разработчика. AkURQ использует только стандартные компоненты VB. | + | "Официальные" интерпретаторы поддерживают все версии Windows ([[рипурка]], [[URQ_DOS]], [[AkURQ]],[[FireURQ]]) и DOS (с 2003 года — только 32-разрядная версия URQ_DOS). Существуют отдельные проблемы совместимости между разными версиями интерпретатора (в частности, версиями под Win и DOS). Для Win-версии URQ 1.4, написанной на VB, также должны быть установлены некоторые нестандартные OCX-компоненты, доступные с сайта разработчика. AkURQ использует только стандартные компоненты VB. |
Существует также интерпретатор [[FireURQ]], построенный на основе DirectX. | Существует также интерпретатор [[FireURQ]], построенный на основе DirectX. |
Версия 12:10, 21 апреля 2010
URQ - менюшная freeware-платформа отечественного происхождения для разработки ИЛ (в первую очередь - для создания игр, управляемых с помощью меню и кнопок, однако существуют множественные прецеденты переписывания авторами стандартного управления). Аббревиатура расшифровывается как Universal Ripsoft Quest, по названию первой программы-интерпретатора.
Принципы технологии
Интерпретатор языка 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 вообще не используют ООП.