QSP

Материал из IFВики
Перейти к навигации Перейти к поиску


Time.png Информация в этой статье или некоторых её разделах устарела.
Вы можете помочь проекту, обновив её и убрав после этого данный шаблон.

Общая информация

Логотип QSP

Преимущественно менюшная платформа (существует возможность реализации парсера - как самостоятельного, так и параллельно с меню). Аббревиатура расшифровывается как "Quest Soft Player".


Разработка, поддержка, доступность

Программа "Quest Soft Player" распространяется в соответствии с лицензией GNU GPL. Главный разработчик – Валерий Аргунов (Byte).

Список основных разработчиков платформы (по алфавиту): BaxZzZz, Byte, elmortem, Nex, Ntropy, rrock.ru.

Принципы технологии

Интерпретатор, работающий со специальным файлом с расширением ".QSP", который получается либо с помощью редактора QGen, либо специальной утилиты TXT2GAM (конвертирующей текст квеста, написанный в любом текстовом редакторе, в файл ".QSP").

Переносимость

Все версии Windows. Портирован на PocketBook, Android, Windows CE / Windows Mobile, Linux / Unix, MacOS, Sony PSP, BeOS / Haiku. Существует веб-интерпретатор wiQSP. Теоретически, по заверениям разработчика, поскольку интерфейсная и логическая части программы разделены, а сама программа написана на C и C++, ее можно легко портировать на любую платформу.

В конце 2009 - начале 2010 года был выпущен AeroQSP - Flash-версия проигрывателя с расширенной поддержкой графики, позволяющая играть в браузере.

Примерно в 2013 году появился альтернативный плеер под названием Quest Navigator, разработанный Nex'ом. Реализован с применением Awesomium, что позволяет авторам применять больше HTML-тэгов при оформлении игр. Однако часть функционала классического плеера была вырезана, что привело к потере совместимости со значительной частью старых игр.

Основные возможности

Язык поддерживает элементарные математические операции с целыми числами (совершенно достаточные для написания текстовых квестов), и очень многие функции работы со строками, в частности, обработку регулярных выражений, которые позволяют реализовать на QSP синтаксический анализатор.

QSP позволяет использовать для оформления игры:

  • графику - большинство распространенных форматов, включая анимацию (GIF);
  • музыку и звуки - множество различных форматов (в том числе WAV, MID, MP3, OGG и большинство форматов трекерной музыки), с установкой уровня громкости;
  • многие теги HTML – имеется встроенный обработчик. Теги позволяют применять сложное форматирование текста, а также использовать иконки, например, для изображения предметов инвентаря.

Встроенный простой язык для разработки игр, наличие подробной документации и огромное число примеров, идущих с программой, способствует быстрому обучению программированию на QSP.

Наличие специализированного редактора QGen для написания игр, ведение списка локаций и удобное представление компонентов, позволяет упростить написание и отладку. Также, можно создавать игры в любом текстовом редакторе, используя конвертирующую утилиту TXT2GAM.

Имеется поддержка Unicode.

Существует возможность коллективного творчества, когда несколько авторов пишут разные ветви одной игры, а затем объединяют их в одном файле.

История

Логи IRC-чата

(время по GMT+7)
[1:38] HronoStranger: простите за пять копеек, а логом и символом :QSP: обязательно должна быть "Q"?
[1:41] Byte: острова - это вариант приглашения к путешествию
[1:41] Byte: применимо не только к QSP конечно
[1:41] Byte: но там была идея вписать остров в Q опять же
[1:42] Byte: потом были двери еще в виде Q
[1:42] Byte: где хвостик - дорожка к двери
<...>
[1:43] Byte: квест это путешествие в мир игры тоже
[1:43] HronoStranger: тогда и книга подходит
[1:43] Byte: да
[1:44] MAlischka: kniga uze est u insteada
[1:44] Byte: но книга уже есть
[1:44] Byte: книга и шестеренки
[1:44] HronoStranger: вот-вот...
[1:45] HronoStranger: стоп!
[1:45] HronoStranger: какая первая игра на QSP?
[1:46] Byte: не помню
[1:46] Byte: сначала были демки просто
[1:46] Byte: демки на тему Zork'а
[1:58] Byte: я начал с orczero тогда уже
[1:59] Byte: мне когда-то он попался и я решил, что надо бы нормальный движок сделать
[2:01] Byte: потом мне попался urq.. но это было уже после самых первых версий куспа
[2:01] Byte: автор urq тоже вдохновлялся orczero в начале 
[2:04] Byte: сейчас уже сложно вспомнить какая игра была первой. одной из первых игр был порт Чукчи с urq. это был один из тестов движка фактически
[2:05] Byte: Некс потом портировал Подземелья Темного замка (из формата книги).. но это было гораздо позже уже. до этого было очень много игр про школьников(изменено)
[2:17] Byte: а еще в первых версиях куспа встроенный язык практически отсутствовал и называлось это не QSP на тот момент. не знаю, можно ли считать их QSP 
[2:18] Byte: но они сильно повлияли на кусп)
[2:32] Pseudopod:
> в первых версиях куспа встроенный язык практически отсутствовал 
@Byte, он был раньше визуальным?
[2:38] Byte:
> @Byte, он был раньше визуальным?
@Pseudopod да, но и не такой гибкий конечно
[2:38] Byte: были переменные, условия, локации
[2:39] Byte: действия и предметы тоже были
[2:39] Byte: нет
[2:39] Byte: там почти не было кода
[2:41] Byte: но это настолько ранние версии куспа, что я даже не помню кто их видел
[2:41] Byte: да, больше визуального программирования было
[2:42] Pseudopod: Ну, в QGen'е, как я понял, еще остались отголоски того QSP'а
[2:42] Byte: когда появился QSP с кодом - я даже не связывал эти движки в один
[2:42] Byte: да, первый QGen был связан с тем движком
[2:43] Byte: но в QGen было уже намного больше кодирования)
[2:44] Byte: 
типо конструктора, набор готовых блоков(шаблонов) из них лепились игры?
@Final Walker там упор был на условия, ветвления и предметы. то есть тоже было состояние игры, но меньше возможстей оперировать этим состоянием
[2:45] Byte: тот движок году в 99м пояился
[2:45] Byte: кусп в 2001
[2:45] Byte: я их не связывал между собой никогда т.к. они достаточно сильно отличались
[2:46] Byte: но первый движок повлиял на кусп конечно
[2:46] Byte: у него даже отдельное название было, которое я даже не помню
[2:48] Byte: тот движок почти никто в интернете не застал наверно. кроме моих знакомых его видел только автор урки
[2:48] Pseudopod: Так Sonne верно сказал, что там все строилось блок-схемами? Это довольно любопытная штука. [2:48] Byte: нет, там не блок-схемы даже были
[2:48] Byte: был редактор с разными типами полей ввода для разных целей
[2:48] Byte: кое-где можно было простой код писать
[2:49] Oreolek: ну это в каком году было?
[2:49] Byte: был еще специальный режим, в котором автоматически строилась карта локаций
[2:50] Byte: и можно было визуально смотреть расположение частей мира друг к другу
[2:50] Byte:
> ну это в каком году было?
@Oreolek примерно 99й
[2:50] Byte: 1999 
[2:50] Byte: может, даже чуть раньше
[2:51] Byte: он был на vb сначала
[2:51] Byte: visual basic 
[2:54] Byte: главная проблема с первым движком-редактором была в сложности отслеживания зависимостей в игре
[2:54] Byte: поэтому появился кусп 
[2:54] Sonne: о интересно, то есть можно было включать: едит мод, прямо во время игры?
[2:55] Byte: даже в первых версиях куспа это было(изменено)
[2:55] Byte: был встроенный в плеер отладчик
[2:56] Byte: окошко ввода текста - оттуда
[2:56] Byte: где-то в меню плеера можно было перейти в режим отладки игры
[2:57] Byte: очень полезная штука была, но в последующих версиях мне было лень его реализовывать, поэтому он исчез
[3:01] Byte: теперь это часть истории, которую мало кто знает)
[3:03] Byte: Некс наверно застал тот режим отладки игр в первых версиях
[3:03] Byte: но это уже qsp был конечно
[3:04] Byte: движок перед qsp почти никто не видел)
[3:05] Byte: да и с интернетом у меня были сложности тогда
[3:06] Byte: доступ только по dial-up и с ограничением по времени :slight_smile:
Записано 07.09.2020.

См. также

Ссылки

  1. Официальный сайт QSP - интерпретатор, средства разработки, документация, игры, форум.
  2. SourceCode
  3. Видеоуроки по QSP от Aleks Versus
  4. F.A.Q.: Часто задаваемые вопросы из темы "Как сделать?" от него же
  5. Онлайн-версия справочника
  6. QSP на PSP (порт) (архивная копия)
  7. Страница на wiki.qsp.su про Quest Navigator