URQ | |
---|---|
Sprog klasse | programmeringssprog |
Udførelsestype | fortolket |
Dukkede op i | 5. maj 2000 |
Forfatter | Timofey Basanov aka RipOs |
Filtypenavn _ | .qs1, .qs2, .qs3 (зашифрованные квесты), .qsz (архив, в который могут быть запакованы все ресурсы квеста, только для FireURQ), .qst. |
Større implementeringer | RipSoft URQ, URQ_DOS, FireURQ, AkURQ, INSTEAD URQ- modul , OverUrK, BEST_URK, aurk, SURK |
Dialekter | hver implementering introducerer sin egen dialekt af sproget |
URQ (Universal RipSoft Quest, efter navnet på det første tolkeprogram, RipOs er kaldenavnet på Timofey Basanov, forfatteren til den originale version [1] ) er en platform kendt i RuNet [2] [3] designet hovedsageligt til at skabe små tekstspil i Interactive Fiction -genren ( IF ) [4] . Det er en tolk til et specialiseret URQL-sprog.
Den første version af URQ (den originale RipSoft URQ) blev skrevet i Visual Basic . I modsætning til hvad mange tror, var URQ ikke den første indenlandske platform til udvikling af tekstquests , den blev forudgået af OrcZero-systemet [5] . Ikke desto mindre blev URQ en af de første sådanne indenlandske platforme, [2] [6] men dets fokus på simple spil med "menu" input (når brugeren faktisk vælger handlingsmuligheder) fik nogle IF-deltagere til at behandle det noget afvisende fællesskab [7] .
Sprogets enkelhed har dog fanget quest -skabernes opmærksomhed . I perioden 2001-2004. omkring halvandet hundrede spil blev skabt til denne platform. Kvaliteten af disse spil var meget forskellig, ofte meget lav. Blandt andre skal det bemærkes sådanne udviklinger som "The Ancient Dagger" [8] - en opgave i 2 dele baseret på værker af J.R.R. [9] (sammen med den tredje del skrevet senere af en anden forfatter) og uafsluttet stor mission "Uden ret til at håbe" [10] ved at bruge næsten alle de daværende multimediefunktioner i Win URQ: musik, billeder og udmærket ved en god litterær stil.
RipOs lavede ændringer og nye funktioner til den originale tolk. Den seneste var version 2.0 alpha 3, som indeholdt interessante innovationer, men fungerede meget ustabilt. Derefter stoppede han brat arbejdet på projektet (formentlig på grund af tab af kildekoden på grund af ødelæggelsen af diskdrevet ). Den seneste relativt stabile version af URQ er 1.4. Den indeholder mange avancerede funktioner: den giver dig mulighed for at indsætte billeder i questen (i 6 forskellige formater) og spore museklik på dem, bruge lyde og musik (wav og mid), lave quests bestående af flere filer og meget mere, bl.a. indtastning af tal og linjer af brugeren.
Referenceimplementeringen af URQL er imidlertid konsolfortolkeren [ 11] URQ_DOS skrevet i C. Dens forfatter er Viktor Koryanov , uddannet fra Moscow State University Mechanics and Mathematics. Her er, hvad han skriver om dets oprettelse:
Næsten alle her ved sikkert, hvordan jeg kom til Urka, men da de relevante indlæg og tekstfiler har en tendens til at blive væk og begravet :) …
Det var i slutningen af 2000, kun få dage før ferien. Det skete sådan, at jeg på det tidspunkt ikke havde i det mindste en normal skærm på min "hjemme" maskine, jeg måtte på en eller anden måde leve på en ombygget sovjetisk elektronik (jeg husker ikke modellen længere). Mere eller mindre acceptabelt, denne enhed fungerede kun i EGA -tekst monokrom tilstand , den grafiske EGA var teoretisk, men det var svært konstant at være i det på grund af frekvensproblemer - øjnene blev hurtigt trætte (teoretisk var der også VGA , men kun til hurtig visning af grafik - som det var umuligt at læse i det overhovedet). Jeg levede generelt helt i tekstverdenen Dos - jeg læste meget fra skærmen i Dos Navigator , spillede i helvede , programmerede i bc ++ 3.1 ... Naturligvis søgte jeg nogle gange på internettet på universitetsmaskinen efter noget relevant, og en gang efter anmodning fandt "tekst-quests"(eller måske," tekstspil") Kashcheis hjemmeside (jeg har været interesseret i tekstspil i lang tid, siden før-P.C.-tider). Der henledte jeg straks opmærksomheden på den gamle Dolk, Urka Ripa startede ikke på grund af den traditionelle mangel på WB - biblioteker til ældre versioner af Windows, og selvom det gjorde det, indlæste jeg det stadig kun i tilfælde af absolut ekstrem nødvendighed (af måde, i 95 har ikke standard EGA-understøttelse). Den allerførste version af Dosurka blev skrevet bogstaveligt talt nytårsaften på to dage.
Peter Kosykh, skaberen af INSTEAD , udnævnte URQ og QSP blandt forgængerne til sit program, hvor han ikke var tilfreds med manglen på objektorientering [12] . Et URQ-modul er i øjeblikket tilgængeligt for INSTEAD, som er en URQL-tolk skrevet i Lua [13] .
Operatørseparatoren er linjesluttegnet eller og - tegnet & .
Hver spilplacering i kildekoden skal have et tag . Etiketnavnet indledes med et kolon (ingen mellemrum ). Overgange mellem lokationer udføres ved at flytte til den angivne etiket ved hjælp af btn -operatorerne (som har formatet btn location name , etiketten på knappen ) og goto .
Fortolkeren starter ved den første etiket, hvorefter den sekventielt udfører URQ-sætninger, indtil den støder på end , en stop-operator. Derefter viser den alle de tidligere stødte knapper på skærmen og holder pause, mens den venter på brugerens kommando.
Operatørerne p og pln udsender tekst.
inv+ og inv- - sætter eller fjerner en vare i inventaret . Kan bruges med en angivelse af beløbet (f.eks. for penge i en karakters lomme). Særlige tags af formen :use_<item> og :use_<em>_<action> angiver beskrivelser af handlinger (standard er " inspicer item ") i forhold til varen.
If <condition> then … betingede erklæring tillader blandt andet at kontrollere tilstedeværelsen og/eller mængden af noget i inventaret.
En lokation kan bruges som en underrutine ved at hoppe til den ved hjælp af proc- sætningen .
Den specielle placering :Common udføres før den btn , der er angivet i operatøren, når der trykkes på knappen.
Kommentarer i URQL starter med et semikolon og fortsætter til slutningen af linjen . Kommentarer i C - stil mellem /* og */ er også tilladt , inklusive flerlinjede.
Forskellige URQ-tolke implementerer forskellige URQL- dialekter , der hovedsageligt adskiller sig i multimediefunktioner .
Under udførelsen af spillet er dynamisk generering af kodefragmenter mulig, hvilket tillader selvmodifikation af programmer . Dette gør det muligt at udvide sprogets muligheder betydeligt. Så selvmodifikation bruges ofte til at arbejde med arrays , der ikke findes i URQL.
URQ_DOS; AkURQ (2 større versioner); RipSoftURQ; FireURQ. Alle implementeringer er til en vis grad inkompatible med hinanden. Du skal vælge, hvilken tolk en specifik opgave vil gå på. URQ_DOS - viser ikke billeder og musik - ren tekst. AkURQ og RipSoft URQ - understøtter *.mid filer og grafik output.