Urq

Urq
clase de idioma lenguaje de programación
tipo de ejecución interpretado
Apareció en 5 de mayo de 2000
Autor Timofey Basanov alias RipOs
extensión de archivo .qs1, .qs2, .qs3 (зашифрованные квесты), .qsz (архив, в который могут быть запакованы все ресурсы квеста, только для FireURQ), .qst.
Implementaciones principales RipSoft URQ, URQ_DOS, FireURQ, AkURQ, módulo INSTEAD URQ, OverUrK, BEST_URK, aurk, SURK
Dialectos cada implementación introduce su propio dialecto del idioma

URQ (Universal RipSoft Quest, por el nombre del primer programa intérprete, RipOs es el apodo de Timofey Basanov, el autor de la versión original [1] ) es una plataforma conocida en RuNet [2] [3] diseñada principalmente para crear pequeños juegos de texto en el género Ficción Interactiva ( FI ) [4] . Es un intérprete para un lenguaje URQL especializado.

Historia

La primera versión de URQ (la URQ original de RipSoft) se escribió en Visual Basic . Contrariamente a la creencia popular, URQ no fue la primera plataforma doméstica para el desarrollo de búsquedas de texto , fue precedida por el sistema OrcZero [5] . Sin embargo, URQ se convirtió en una de las primeras plataformas domésticas de este tipo, [2] [6] sin embargo, su enfoque en juegos simples con entrada de "menú" (cuando el usuario realmente selecciona opciones para la acción) hizo que algunos participantes de IF lo trataran con algo de desdén. comunidad [7] .

Sin embargo, la sencillez del lenguaje ha llamado la atención de los creadores de misiones . En el periodo 2001-2004. Se crearon cerca de cien y medio juegos para esta plataforma. La calidad de estos juegos era muy diferente, a menudo muy baja. Entre otros, cabe señalar desarrollos como "The Ancient Dagger" [8]  - una búsqueda en 2 partes basada en los trabajos de J.R.R. [9] (junto con la tercera parte escrita más tarde por otro autor) y el gran misión inconclusa “Sin derecho a la esperanza” [10] utilizando casi todas las características multimedia de Win URQ: música, imágenes y distinguido por un buen estilo literario.

RipOs realizó cambios y nuevas funciones al intérprete original. La última fue la versión 2.0 alpha 3, que contenía interesantes novedades, pero funcionaba de forma muy inestable. Luego detuvo abruptamente el trabajo en el proyecto (presumiblemente debido a la pérdida del código fuente debido a la destrucción de la unidad de disco ). La última versión relativamente estable de URQ es 1.4. Contiene muchas funciones avanzadas: te permite insertar imágenes en la misión (en 6 formatos diferentes) y hacer un seguimiento de los clics del mouse sobre ellas, usar sonidos y música (wav y mid), crear misiones que constan de varios archivos y mucho más, incluido ingreso de números y líneas por parte del usuario.

Sin embargo, la implementación de referencia de URQL es el intérprete de consola [11] URQ_DOS escrito en C. Su autor es Viktor Koryanov , un graduado de Mecánica y Matemáticas de la Universidad Estatal de Moscú . Esto es lo que escribe sobre su creación:

Casi todos aquí probablemente saben cómo llegué a Urka, pero dado que las publicaciones y los archivos de texto relevantes tienden a perderse y enterrarse :)...

Fue a finales de 2000, solo unos días antes de las vacaciones. Dio la casualidad de que en ese momento no tenía al menos un monitor normal en mi máquina "doméstica", de alguna manera tenía que vivir en una electrónica soviética convertida (ya no recuerdo el modelo). Más o menos aceptable, esta unidad funcionó solo en el modo monocromático de texto EGA , la gráfica EGA era teóricamente, pero era difícil estar constantemente en ella debido a problemas de frecuencia: los ojos se cansaban rápidamente (teóricamente, también había VGA , pero solo para una visualización rápida de los gráficos, que era imposible leer en absoluto). Viví, en general, completamente en el mundo del texto Dos  : leí mucho de la pantalla en Dos Navigator , jugué en Hell , programé en bc ++ 3.1 ... Naturalmente, a veces busqué en Internet en la máquina universitaria para algo relevante y una vez que se solicitó " búsquedas de texto "(o, tal vez," juegos de texto ") encontró el sitio web de Kashchei (he estado interesado en los juegos de texto durante mucho tiempo, desde la época anterior a la PC). Allí, inmediatamente llamé la atención sobre Ancient Dagger, Urka Ripa no se inició debido a la falta tradicional de bibliotecas WB para versiones anteriores de Windows, e incluso si lo hizo, todavía lo cargué solo en caso de necesidad absolutamente extrema (por el manera, en el 95 no tiene soporte estándar EGA). La primera versión de Dosurka se escribió literalmente en la víspera de Año Nuevo en dos días.

Peter Kosykh, el creador de INSTEAD , nombró a URQ y QSP entre los predecesores de su programa, en el que no estaba satisfecho con la falta de orientación a objetos [12] . Actualmente hay disponible un módulo URQ para INSTEAD, que es un intérprete URQL escrito en Lua [13] .

Construcciones básicas de URQL

El separador de operadores es el carácter de fin de línea o el ampersand & .

Cada ubicación del juego en el código fuente debe tener una etiqueta . El nombre de la etiqueta está precedido por dos puntos (sin espacios ). Las transiciones entre ubicaciones se realizan moviéndose a la etiqueta especificada usando los operadores btn (que tiene el formato btn nombre de ubicación , la etiqueta en el botón ) y goto .

El intérprete comienza en la primera etiqueta, después de lo cual ejecuta sentencias URQ secuencialmente hasta que encuentra end  , un operador de parada. Después de eso, muestra todos los botones encontrados anteriormente en la pantalla y se detiene, esperando el comando del usuario.

Los operadores p y pln generan texto.

inv+ e inv-  - pone o quita un artículo en el inventario . Se puede usar con una indicación de la cantidad (por ejemplo, para dinero en el bolsillo de un personaje). Las etiquetas especiales de la forma :use_<elemento> y :use_<elemento>_<acción> indican descripciones de acciones (el valor predeterminado es " inspeccionar elemento ") en relación con el elemento.

La sentencia condicional si <condición> entonces … permite, entre otras cosas, comprobar la presencia y/o cantidad de algo en el inventario.

Una ubicación se puede usar como una subrutina saltando a ella usando la instrucción proc .

La ubicación especial :Common se ejecuta antes del btn especificado en el operador cuando se hace clic en el botón.

Los comentarios en URQL comienzan con un punto y coma y continúan hasta el final de la línea . También se permiten comentarios de estilo C entre /* y */ , incluidos los de varias líneas.

Diferentes intérpretes de URQ implementan diferentes dialectos de URQL , que difieren principalmente en capacidades multimedia .

Durante la ejecución del juego, es posible la generación dinámica de fragmentos de código, lo que permite la automodificación de los programas . Esto hace posible expandir significativamente las capacidades del lenguaje. Por lo tanto, la automodificación a menudo se usa para trabajar con matrices que no se proporcionan en URQL.

Implementaciones notables

URQ_DOS; AkURQ (2 versiones principales); RipSoftURQ; FuegoURQ. Todas las implementaciones son incompatibles entre sí hasta cierto punto. Tienes que elegir en qué intérprete irá una búsqueda específica. URQ_DOS - no muestra imágenes ni música - texto puro. AkURQ y RipSoft URQ: admiten archivos *.mid y salida de gráficos.

Comunidad

Véase también

Notas

  1. ripsoft.narod.ru Archivado el 16 de octubre de 2010 en Wayback Machine  - sitio original de URQ
  2. 1 2 RTADS: Sistema de desarrollo de aventuras de texto rusificado, Acerca de la  comunidad rusa . Sitio web de RTADS . — “Es el sistema CYOA avanzado, fácil de aprender y desarrollar, el sistema de desarrollo más antiguo y popular de la FI rusa”. Consultado el 21 de agosto de 2011. Archivado desde el original el 25 de agosto de 2012.
  3. El sitio web oficial de URQ (así como la plataforma rusa QSP , que es similar en ideología ) se incluye en la sección Juegos de computadora: Aventuras: Aventuras de texto Copia archivada del 4 de marzo de 2016 en Wayback Machine en Open Directory Project
  4. Emperador. Escritura de Ficción Interactiva  // Navegador del mundo del juego . - 2003. - Nº 2 .
  5. Engines - Juegos de texto en ruso . Consultado el 24 de agosto de 2011. Archivado desde el original el 31 de enero de 2016.
  6. Valéry Argunov. Ficción Interactiva o Usa tu imaginación… . Habrahabr (19 de agosto de 2009). - artículo del autor de QSP . Consultado el 23 de agosto de 2011. Archivado desde el original el 25 de agosto de 2012.
  7. Konstantin Artemiev. ¿Literatura interactiva o búsqueda de texto?  // Computadora de casa . - 2002. - Nº 6 (72) .
  8. ↑ Daga antigua . Consultado el 24 de agosto de 2011. Archivado desde el original el 26 de diciembre de 2012.
  9. Aventuras del valiente hámster Semyon . Consultado el 24 de agosto de 2011. Archivado desde el original el 20 de junio de 2012.
  10. Sin derecho a la esperanza . Consultado el 24 de agosto de 2011. Archivado desde el original el 26 de diciembre de 2012.
  11. Descargar | Urq . - “URQ_DOS (Dosurka) de Viktor Koryanov (¡urka sagrada!) Un intérprete clásico con una interfaz de consola. <...> Durante mucho tiempo siguió siendo el estándar y fue considerado el más estable.». Consultado el 24 de agosto de 2011. Archivado desde el original el 25 de agosto de 2012.
  12. Kosykh, Peter Cómo empezó todo . Sitio web de INSTEAD (13 de abril de 2009). — Artículo para lingametech. Consultado el 21 de agosto de 2011. Archivado desde el original el 25 de agosto de 2012.
  13. Módulo URQ . EN LUGAR wiki. Consultado el 21 de agosto de 2011. Archivado desde el original el 25 de agosto de 2012.

Enlaces

Documentación de idioma