URQ, or Universal RipSoft Quest, is a Russian authoring system for creating Russian CYOA games. According to a page on the RTADS site, URQ is the oldest and the most popular development system in Russian IF. The original author of URQ is Timofey Basanov a.k.a. RipOs. Also several people contributed to URQ's development, primarily Victor Koryanov and Anton Zhuchkov.
The main purpose of URQ is to create small games controlled by menu choices and built-in inventory support. However, the enthusiasts of the platform have repeatedly implemented with its help branching menu, navigation using a graphic map, "roguelike" games, or even a simple parser.
Quest game files are plain text files in win (Windows-1251) or dos (cp866) encoding and have an extension .qst (unencrypted quest), .qs1,.qs2,.qs3 (encrypted quests). There is a file format for FireURQ .qsz (archive which can be Packed with all the resources of the quest).
To date, written more than 400 games. Quests can be written in any text editor, although there are special editors: old SMSQuest and actual URQEdit. They are written in a simple BASIC-like programming language (Universal Ripsoft Quest Language — URQL), which is gradually improved and developed.
The basic language tools allow you to display text and buttons, have numeric and string variables, perform branching and loops depending on certain conditions, refer subroutines. URQL code can be partially self-modifying.
The system is well documented. Most of the games are, also, available as source code.
Unfortunately, most of the documentation is only available in Russian.
- The URQL description for the UrqW
- FireURQ Documentation
- All sorts of useful mechanics
- Library with useful texts
The main URQL disadvantages:
- non-strict and not too thoughtful syntax of the language created by different authors at the requests of different users. As a result, there are several not completely compatible interpreters and serious challenges for games designers - how to achieve smooth execution of the game on every interpreter.
- the absence of built-in mechanisms of object-oriented programming, making it difficult to write large projects. However, this shortcoming will be corrected by means of modernisation.
At the moment there are four basic interpreter that should be used for writing games:
- FireURQ (last version 17.12.2017 FireURQ 2.2.3) (Written on Delphi. Source code. Author - Fireton(Anton Zhuchkov Implementation of URQL, close to the classic URQ_DOS. Advanced syntax, which allows, for example, to pass parameters to a location-subroutine (syntax differences are described in detail in the help file).The ability to insert an image (or part of it) into text. Decorators: fragments of text or images (including animated GIFs) that can be placed anywhere on the screen and manipulate them in different ways. Custom fonts, including TrueType (used by FreeType for rendering) Support for the archive format of .QSZ quests, with the use of which resources can be placed in the quest file. Enhanced music and sound support. Supported formats WAV, AIFF, MP3, MP2, MP1, OGG, as well as tracker music formats: XM, IT, S3M, MOD, MTM, UMX. In addition, MIDI music is also played (MID files). Also supported is the MO3 format (tracker music with OGG-packed samples). *Implemented fadein and fadeout for music. Convenient mode of debugging, in which it is easy to detect an error and modify the quest without restarting the interpreter.)
- URQ-module INSTEAD (limited interpreter for the platform INSTEAD) Author - Peter Kosyh.
URQ games can be downloaded from the main URQ site (see below).
- urq.plut.info - The main URQ site, including the URQ Forum. - In Russian only.
- SPAG #48 (May 2007) contains an interview with several members of the Russian IF community that use URQ: Victor Koryanov, Akela, Eugene Tugolukov a.k.a. Korwin, Evgeny Bychkov a.k.a. brevno, Yuri Pavlenko a.k.a. Goraph, and ZombX. The interviewer was Jenny Waynest. The interview was translated to English by Valentine Kopteltsev.
- Ripsoft Corp. - In Russian only. (Old site)