|
'''URQ''' - [[менюшная платформа|менюшная]] [[freeware]]-платформа отечественного происхождения для разработки [[ИЛ]] (в первую очередь - для создания игр, управляемых с помощью меню и кнопок, однако существуют множественные прецеденты переписывания авторами стандартного управления). Аббревиатура расшифровывается как Universal Ripsoft Quest, по названию первой программы-интерпретатора.
'''URQ''' - [[менÑÑÐ½Ð°Ñ Ð¿Ð»Ð°ÑÑоÑма|менÑÑнаÑ]] [[freeware]]-плаÑÑоÑма оÑеÑеÑÑвенного пÑоиÑÑ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑазÑабоÑки [[ÐÐ]] (в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ - Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð³Ñ, ÑпÑавлÑемÑÑ
Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÐ½Ñ Ð¸ кнопок, однако ÑÑÑеÑÑвÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑвеннÑе пÑеÑеденÑÑ Ð¿ÐµÑепиÑÑÐ²Ð°Ð½Ð¸Ñ Ð°Ð²ÑоÑами ÑÑандаÑÑного ÑпÑавлениÑ). ÐббÑевиаÑÑÑа ÑаÑÑиÑÑовÑваеÑÑÑ ÐºÐ°Ðº Universal Ripsoft Quest, по Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑвой пÑогÑаммÑ-инÑеÑпÑеÑаÑоÑа.
[[Изображение:Akurq.jpg|Интерпретатор AkURQ]]
[[ÐзобÑажение:Akurq.jpg|ÐнÑеÑпÑеÑаÑÐ¾Ñ AkURQ]]
==Принципы технологии==
==ÐÑинÑÐ¸Ð¿Ñ ÑеÑ
нологии==
[[Интерпретатор]] языка [[URQL]] работает непосредственно с исходными текстами. В процессе выполнения игры может происходить динамическая генерация фрагментов кода, что создает возможность так называемой самомодификации, которая позволяет существенно расширить функциональный потенциал языка. В частности, очень часто самомодификация используется для работы с массивами, формально в URQL не предусмотренными.
[[ÐнÑеÑпÑеÑаÑоÑ]] ÑзÑка [[URQL]] ÑабоÑÐ°ÐµÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно Ñ Ð¸ÑÑ
однÑми ÑекÑÑами. РпÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð³ÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоиÑÑ
одиÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑÐºÐ°Ñ Ð³ÐµÐ½ÐµÑаÑÐ¸Ñ ÑÑагменÑов кода, ÑÑо ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ñак назÑваемой ÑамомодиÑикаÑии, коÑоÑÐ°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑÑÑеÑÑвенно ÑаÑÑиÑиÑÑ ÑÑнкÑионалÑнÑй поÑенÑиал ÑзÑка. Ð ÑаÑÑноÑÑи, оÑÐµÐ½Ñ ÑаÑÑо ÑамомодиÑикаÑÐ¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑабоÑÑ Ñ Ð¼Ð°ÑÑивами, ÑоÑмалÑно в URQL не пÑедÑÑмоÑÑеннÑми.
==Переносимость==
==ÐеÑеноÑимоÑÑÑ==
[[Изображение: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]]) и DOS (Ñ 2003 года â ÑолÑко 32-ÑазÑÑÐ´Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ URQ_DOS). СÑÑеÑÑвÑÑÑ Ð¾ÑделÑнÑе пÑÐ¾Ð±Ð»ÐµÐ¼Ñ ÑовмеÑÑимоÑÑи Ð¼ÐµÐ¶Ð´Ñ ÑазнÑми веÑÑиÑми инÑеÑпÑеÑаÑоÑа (в ÑаÑÑноÑÑи, веÑÑиÑми под Win и DOS). ÐÐ»Ñ Win-веÑÑии URQ 1.4, напиÑанной на VB, Ñакже Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½ÐµÐºÐ¾ÑоÑÑе неÑÑандаÑÑнÑе OCX-компоненÑÑ, доÑÑÑпнÑе Ñ ÑайÑа ÑазÑабоÑÑика. AkURQ иÑполÑзÑÐµÑ ÑолÑко ÑÑандаÑÑнÑе компоненÑÑ VB.
Существует также несколько альтернативных интерпретаторов для других платформ: DOS ([[BEST_URQ]]) и др. Известно несколько попыток создать кроссплатформенный интерпретатор на Java, PHP и Perl. Наиболее стабильной, хотя и поддерживает лишь базовые возможности URQL, является написанная на Java [http://urq.borda.ru/?1-0-0-00000144-000-0-0-1176030377 OverURKa]. Среди последних попыток портировать URQ на мобильные устройства следует выделить [http://urq.borda.ru/?1-0-0-00000226-000-0-0-1200557377 эту].
СÑÑеÑÑвÑÐµÑ Ñакже неÑколÑко алÑÑеÑнаÑивнÑÑ
инÑеÑпÑеÑаÑоÑов Ð´Ð»Ñ Ð´ÑÑгиÑ
плаÑÑоÑм: DOS ([[BEST_URQ]]) и дÑ. ÐзвеÑÑно неÑколÑко попÑÑок ÑоздаÑÑ ÐºÑоÑÑплаÑÑоÑменнÑй инÑеÑпÑеÑаÑÐ¾Ñ Ð½Ð° Java, PHP и Perl. Ðаиболее ÑÑабилÑной, Ñ
оÑÑ Ð¸ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð»Ð¸ÑÑ Ð±Ð°Ð·Ð¾Ð²Ñе возможноÑÑи URQL, ÑвлÑеÑÑÑ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð½Ð°Ñ Ð½Ð° Java [http://urq.borda.ru/?1-0-0-00000144-000-0-0-1176030377 OverURKa]. СÑеди поÑледниÑ
попÑÑок поÑÑиÑоваÑÑ URQ на мобилÑнÑе ÑÑÑÑойÑÑва ÑледÑÐµÑ Ð²ÑделиÑÑ [http://urq.borda.ru/?1-0-0-00000226-000-0-0-1200557377 ÑÑÑ].
==Основные возможности==
==ÐÑновнÑе возможноÑÑи==
Основное назначение URQ - создание игр, управляемых с помощью выбора вариантов меню и встроенной поддержкой инвентаря. Впрочем, энтузиасты платформы неоднократно реализовывали с ее помощью ветвящиеся меню, навигацию с помощью графической карты, так называемые "рогалики" или даже несложный [[парсер]].
ÐÑновное назнаÑение URQ - Ñоздание игÑ, ÑпÑавлÑемÑÑ
Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð²ÑбоÑа ваÑианÑов Ð¼ÐµÐ½Ñ Ð¸ вÑÑÑоенной поддеÑжкой инвенÑаÑÑ. ÐпÑоÑем, ÑнÑÑзиаÑÑÑ Ð¿Ð»Ð°ÑÑоÑÐ¼Ñ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно ÑеализовÑвали Ñ ÐµÐµ помоÑÑÑ Ð²ÐµÑвÑÑиеÑÑ Ð¼ÐµÐ½Ñ, навигаÑÐ¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð³ÑаÑиÑеÑкой каÑÑÑ, Ñак назÑваемÑе "Ñогалики" или даже неÑложнÑй [[паÑÑеÑ]].
Файлы игр-квестов являются обычными текстовыми файлами в win (Windows-1251) или dos (cp866) кодировке, и имеющими расширение .qst (незашифрованный квест), .qs1, .qs2, .qs3 (зашифрованные квесты).
Ð¤Ð°Ð¹Ð»Ñ Ð¸Ð³Ñ-квеÑÑов ÑвлÑÑÑÑÑ Ð¾Ð±ÑÑнÑми ÑекÑÑовÑми Ñайлами в win (Windows-1251) или dos (cp866) кодиÑовке, и имеÑÑими ÑаÑÑиÑение .qst (незаÑиÑÑованнÑй квеÑÑ), .qs1, .qs2, .qs3 (заÑиÑÑованнÑе квеÑÑÑ).
На настоящий день написано более 200 квестов. Квесты пишутся в любом текстовом редакторе, - что очень удобно, - хотя существует специальный текстовый редактор [[SMSQuest]]. Они пишутся на простом Бейсик-подобном языке программирования (Universal Ripsoft Quest Language — [[URQL]]), который понемногу совершенствуется и развивается.
Ðа наÑÑоÑÑий Ð´ÐµÐ½Ñ Ð½Ð°Ð¿Ð¸Ñано более 200 квеÑÑов. ÐвеÑÑÑ Ð¿Ð¸ÑÑÑÑÑ Ð² лÑбом ÑекÑÑовом ÑедакÑоÑе, - ÑÑо оÑÐµÐ½Ñ Ñдобно, - Ñ
оÑÑ ÑÑÑеÑÑвÑÐµÑ ÑпеÑиалÑнÑй ÑекÑÑовÑй ÑедакÑÐ¾Ñ [[SMSQuest]]. Ðни пиÑÑÑÑÑ Ð½Ð° пÑоÑÑом ÐейÑик-подобном ÑзÑке пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (Universal Ripsoft Quest Language â [[URQL]]), коÑоÑÑй Ð¿Ð¾Ð½ÐµÐ¼Ð½Ð¾Ð³Ñ ÑовеÑÑенÑÑвÑеÑÑÑ Ð¸ ÑазвиваеÑÑÑ.
Базовые средства языка позволяют выводить текст и управляющие кнопки, иметь числовые и строковые переменные, выполнять ветвления и циклы в зависимости от определенных условий, обращаться к подпрограммам. URQL-код может быть частично самомодифицирующимся.
ÐазовÑе ÑÑедÑÑва ÑзÑка позволÑÑÑ Ð²ÑводиÑÑ ÑекÑÑ Ð¸ ÑпÑавлÑÑÑие кнопки, имеÑÑ ÑиÑловÑе и ÑÑÑоковÑе пеÑеменнÑе, вÑполнÑÑÑ Ð²ÐµÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¸ ÑÐ¸ÐºÐ»Ñ Ð² завиÑимоÑÑи Ð¾Ñ Ð¾Ð¿ÑеделеннÑÑ
ÑÑловий, обÑаÑаÑÑÑÑ Ðº подпÑогÑаммам. URQL-код Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑаÑÑиÑно ÑамомодиÑиÑиÑÑÑÑимÑÑ.
В последних версиях WinURQ и в AkURQ присутствуют неплохие мультимедиа-возможности. Можно вставлять в текст графические изображения (в т.ч. работающие как гиперссылки), использовать звуки и музыку (WAV и MID), разбивать квест на модули, запрашивать у пользователя ввод (числа, текстовые строки).
РпоÑледниÑ
веÑÑиÑÑ
WinURQ и в AkURQ пÑиÑÑÑÑÑвÑÑÑ Ð½ÐµÐ¿Ð»Ð¾Ñ
ие мÑлÑÑимедиа-возможноÑÑи. Ðожно вÑÑавлÑÑÑ Ð² ÑекÑÑ Ð³ÑаÑиÑеÑкие изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ (в Ñ.Ñ. ÑабоÑаÑÑие как гипеÑÑÑÑлки), иÑполÑзоваÑÑ Ð·Ð²Ñки и мÑзÑÐºÑ (WAV и MID), ÑазбиваÑÑ ÐºÐ²ÐµÑÑ Ð½Ð° модÑли, запÑаÑиваÑÑ Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð²Ð²Ð¾Ð´ (ÑиÑла, ÑекÑÑовÑе ÑÑÑоки).
Система хорошо документирована. Большинство игр, к тому же, доступны в виде исходных кодов.
СиÑÑема Ñ
оÑоÑо докÑменÑиÑована. ÐолÑÑинÑÑво игÑ, к ÑÐ¾Ð¼Ñ Ð¶Ðµ, доÑÑÑÐ¿Ð½Ñ Ð² виде иÑÑ
однÑÑ
кодов.
К главным недостаткам [[URQL]] можно отнести:
РглавнÑм недоÑÑаÑкам [[URQL]] можно оÑнеÑÑи:
*нестрогий и не слишком продуманный синтаксис языка, создававшегося разными авторами по запросам разных пользователей. В результате имеется несколько несовместимых между собой интерпретаторов и серьезные проблемы перед разработчиками игр - каким образом добиться безошибочного выполнения игры на любом проигрывателе.
*неÑÑÑогий и не ÑлиÑком пÑодÑманнÑй ÑинÑакÑÐ¸Ñ ÑзÑка, ÑоздававÑегоÑÑ ÑазнÑми авÑоÑами по запÑоÑам ÑазнÑÑ
полÑзоваÑелей. Ð ÑезÑлÑÑаÑе имееÑÑÑ Ð½ÐµÑколÑко неÑовмеÑÑимÑÑ
Ð¼ÐµÐ¶Ð´Ñ Ñобой инÑеÑпÑеÑаÑоÑов и ÑеÑÑезнÑе пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¿ÐµÑед ÑазÑабоÑÑиками Ð¸Ð³Ñ - каким обÑазом добиÑÑÑÑ Ð±ÐµÐ·Ð¾ÑибоÑного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð³ÑÑ Ð½Ð° лÑбом пÑоигÑÑваÑеле.
*отсутствие встроенных механизмов объектно-ориентированного программирования, затрудняющее написание больших проектов. Правда, этот недостаток исправим с помощью самомодификации. Впрочем, большая часть игр на URQ вообще не используют ООП.
*оÑÑÑÑÑÑвие вÑÑÑоеннÑÑ
меÑ
анизмов обÑекÑно-оÑиенÑиÑованного пÑогÑаммиÑованиÑ, заÑÑÑднÑÑÑее напиÑание болÑÑиÑ
пÑоекÑов. ÐÑавда, ÑÑÐ¾Ñ Ð½ÐµÐ´Ð¾ÑÑаÑок иÑпÑавим Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑамомодиÑикаÑии. ÐпÑоÑем, болÑÑÐ°Ñ ÑаÑÑÑ Ð¸Ð³Ñ Ð½Ð° URQ вообÑе не иÑполÑзÑÑÑ ÐÐÐ.
== Ссылки ==
== СÑÑлки ==
* [http://ripsoft.narod.ru СайÑСайт Ripsoft]
* [http://urq.allquests.ru СайÑСайт обоб URQ]
* [http://allquests.ru/URQ-quests.htm ÐвеÑÑÑКвесты нана плаÑÑоÑмеплатформе URQ]
* [http://urq.plut.info/ СайÑСайт URQ]
[[Категория:Платформы]] [[Категория:Менюшные платформы]]
[[ÐаÑегоÑиÑ:ÐлаÑÑоÑмÑ]] [[ÐаÑегоÑиÑ:ÐенÑÑнÑе плаÑÑоÑмÑ]]
|