[[help:classic_qsp|Назад: Классический плеер]] ====== qSpider — плеер с поддержкой HTML ====== Статья актуализирована для qSpider версии 1.3.1. ===== Общие сведения ===== **qSpider** — это QSP-плеер с поддержкой полноценной браузерной HTML-вёрстки, то есть в нём можно использовать такой же HTML-код, как в обычном браузере. Обучиться писать HTML-разметку можно, например, здесь: * [[https://htmlacademy.ru|htmlacademy.ru]]. * Справочник актуальных HTML-тегов, CSS-свойств, самоучители и прочее: [[http://htmlbook.ru|htmlbook.ru]] Cуществует два варианта плеера: * десктопный вариант (для стационарных компьютеров, запускается без браузера); * браузерный вариант (запускается непосредственно в браузере, и потому данный вариант можно использовать, например, для публикации игр на QSP в интернете). Релиз последней версии плеера **qSpider** вы всегда можете найти по этой ссылке: [[https://github.com/qspfoundation/qspider/releases]] **qSpider** использует последнюю версию библиотеки ''qsplib'', а значит игры, написанные на классический плеер с той же версией библиотеки, полностью совместимы с **qSpider**. Демонстрацию работы плеера можно посмотреть здесь: * Поиграть в QSP-игры без установки плеера: **[[https://qspfoundation.github.io/qspider/|qspfoundation.github.io/qspider]]**. **qSpider** откроется в браузере и прямо в нём вы сможете просмотреть каталог игр, представленных на сайте qsp.org, добавить любую из них на полку и поиграть. * **[[https://aleksversus.github.io/merphy_law/|"Вереница миров"]]** — стандалон сборка игры онлайн на плеере **qSpider**. ===== Отличия qSpider от Классического плеера: ===== * **Полноценная поддержка HTML**, как в браузере, в том числе встраивание видео(!); * Есть **доступ к панели разработчика**, позволяющей контролировать корректность HTML-вёрстки; * **Пути к ресурсам** (картинкам/аудио файлам) **регистрозависимы** — то есть, если файл называется "''%%image.jpg%%''", а в файле игры записано "''%%Image.jpg%%''" или "''%%image.JPG%%''", то плеер не сможет показать такую картинку; * Для проигрывания аудио используются встроенные средства браузера, поэтому рекомендованный формат для плеера — ''%%.mp3%%'' как самый поддерживаемый (хорошая альтернатива — ''%%.webm%%'', у него меньше размер при том же качестве, но чуть хуже с поддержкой браузеров); * Есть возможность пропуска ''%%wait%%'' (кликом по странице); * **Сохранения хранятся в браузере**; * Можно открывать игры, упакованные в rar-архив, zip-архив или в aqsp-архив; * Можно открывать коллекции игр, упакованных в один архив (в корне архива должен находиться файл ''%%game.cfg%%'' с описанием всех игр). * Можно открывать игры в виде текстового файла формата **TXT2GAM** (**QSPS**) (см. ниже раздел "Запуск игр в формате текстовых файлов"). * Можно создавать собственные темы оформления и переключаться между ними из кода QSP. * Расширенные возможности взаимодействия с интерфейсом и HTML-разметкой. * Возможность связать вызов кода QSP с событиями браузера (клик, двойной клик и т.п.). **Обратите внимание**: чтобы запустить игру из архива, QSP-файл игры должен находится в корне архива (не в подпапке), а так же в корне должен быть только один QSP-файл (если используются дополнительные QSP-файлы, то они должны быть расположены в подпапках). ===== Десктопная версия ===== ==== Основные отличия desktop-версии от web-версии: ==== * открытие игры через drag-n-drop — перетаскивание файла игры на окно плеера; * открытие игры через консоль; * ''%%game.cfg%%'' подключается, даже если игра не упакована в архив; * дополнительная секция в файле конфига для настройки окна desktop-плеера; * автоматическое обновление desktop-плеера при выходе новой версии. ==== Установка и запуск ==== Установка десктопного варианта будет несколько отличаться для разных операционных систем, но проблем у вас не возникнет, если вы хоть раз устанавливали программы на свой компьютер. После установки запуск плеера ничем не отличается от запуска любой другой программы. У пользователей устаревших операционных систем при установке могут возникнуть ошибки, похожие на эту: [[https://i.ibb.co/8z8MHyp/image.png|{{https://i.ibb.co/8z8MHyp/image.png?500|Экран QSP}}]] В этом случае попробуйте установить webview2 вручную (скачать можно с [[https://developer.microsoft.com/en-us/microsoft-edge/webview2/|этой страницы]]), а затем вновь запустите установку плеера. Если ошибка не исправилась, воспользуйтесь браузерной версией плеера. ==== Запуск плеера из Quest Generator ==== Десктопный **qSpider** запускается из **Quest Generator** точно так же, как и классический плеер. Достаточно прописать путь к **qSpider** в настройках **QGen**. Это делается через меню "**Утилиты -> Настройки**" на вкладке "Пути" в поле "Путь к плееру". ===== Браузерная версия, или web-версия ===== Данная версия плеера может быть использована вами для размещения игр онлайн, то есть в интернете. Однако так же её можно запускать и на компьютере. ==== Основные отличия web-версии от desktop-версии: ==== * запуск QSP-файлов и текстовых qsps-файлов с компьютера возможен, но к игре не подключаются ресурсы и файлы конфигурации; * игры могут иметь общий файл конфигурации, который загружается из папки "''%%game%%''"; приоритет у индивидуальных файлов конфигураций; * можно открыть файл со списком игр или отдельную игру по ссылке (см. раздел "Запуск игр по ссылке"). ==== Установка и запуск плеера на компьютере ==== **Стандалон-сборка** Прежде всего вам необходимо скачать архив "''qspider-player-standalone.zip''" с web-версией плеера со [[https://github.com/qspfoundation/qspider/releases|страницы релизов]]. Содержимое архива распакуйте в любую папку, эта папка и будет местом расположения плеера. Из-за ограничений безопасности плеер нельзя запустить просто открыв файл "''%%index.html%%''" в браузере. Поэтому для запуска необходим локально запущенный сервер — можно использовать один из [[https://gist.github.com/willurd/5720255|списка]]. Более простой способ запустить веб-версию — использовать VS Code с расширением Live Server: * Скачайте и установите бесплатный [[https://code.visualstudio.com|VS Code]]. * Запустите его по окончании установки. * Установите на него расширение [[https://github.com/ritwickdey/vscode-live-server-plus-plus|Live Server]]. Для этого: * Откройте меню и выберите пункты ''%%File → Preferences → Extensions%%'', или нажмите сочетание клавиш ''%%Ctrl + Shift + X%%'' * Слева появится поисковая строка для расширений, введите в неё текст: "''%%Live Server%%''". * В списке найденных расширений будет расширение "Live Server", установите его, нажав кнопку ''%%Install%%''. * Когда расширение установится, в правом нижнем углу VS Code появится кнопка "''%%Go Live%%''" * В VS Code откройте папку с распакованной браузерной версией плеера. Меню "''%%File → Open Folder...%%''" * Выберите из списка файлов в папке файл ''%%index.html%%''. * Нажмите кнопку ''%%Go Live%%''. Если вы всё сделали правильно, в браузере откроется **qSpider**. Поскольку ни одна игра в **qSpider** не добавлена, в окне браузера будет проигрываться бесконечная анимация. Для того, чтобы игра проигрывалась в браузерной версии плеера, нужно добавить игру и файл ''%%game.cfg%%'' в папку ''%%game%%'', расположенную в папке с плеером. **Плеер с полкой игр** Порядок установки веб-версии плеера с полкой игр мало чем отличается от установки стандалон варианта для веб-версии. Единственное отличие заключается в том, что вам нужно скачать архив "''qspider-player.zip''" с web-версией плеера со [[https://github.com/qspfoundation/qspider/releases|страницы релизов]]. Далее всё делаем точно так же, как в выше изложенной инструкции. После запуска сервера в браузере откроется **qSpider** с полкой игр. Эта версия **qSpider** ничем не будет отличаться от версии, доступной по ссылке **[[https://qspfoundation.github.io/qspider/|qspfoundation.github.io/qspider]]**. ==== Установка плеера на github ==== - Ознакомьтесь с порядком установки плеера на компьютер. Лучше выделить отдельную папку и распаковать браузерную версию плеера туда. Затем открыть подпапку "''%%game%%''" и добавить в неё свою игру, которую хотите разместить на гитхабе. - Отредактируйте файл "''%%game.cfg%%''" так, чтобы в нём присутствовали все необходимые секции настроек (см. статью [[help:qspider_gamecfg|"Конфигурационный файл"]]). - Откройте [[https://github.com|github]] в браузере, зайдите в свой профиль и создайте новый публичный репозиторий с любым именем, для примера: "''qspider-game''". - В разделе "Code" нажмите кнопку "Main". - В открывшемся окошке в поле "Find or create branch..." введите название новой ветки "gh-pages", а затем нажмите на кнопку "Create branch: gh-pages from main". - Обязательно переключитесь на ветку "gh-pages", если это не произошло автоматически. Вместо кнопки "main" у вас должна появиться кнопка "gh-pages". - В этом же разделе найдите и нажмите кнопку "Add file" и выберите пункт "Upload files", откроется страница загрузки файлов на github. - Перетащите все распакованные файлы браузерной версии плеера в соответствующее поле на странице. В т.ч. пять папок: "''%%aero%%''", "''%%assets%%''", "''%%game%%''", "''%%locales%%''", "''%%themes%%''". - Теперь по адресу "''%%https://username.github.io/qspider-game%%''" станет доступна страничка с вашей игрой. (Соответственно вместо "username" будет ваш ник на гитхабе, а вместо "qspider-game" — название репозитория, который вы только что создали). Есть видео на тему: [[https://www.youtube.com/watch?v=bEjRzTDsPp4&t=3029s|Размещение игры онлайн с использованием GitHub]], однако там создание страницы производится другим способом, без создания ветки "gh-pages". ==== Запуск игр по ссылке ==== **ВНИМАНИЕ!!!** Возможность запуска игр по ссылке ограничена — на сервере, на котором лежит игра, должна быть включена поддержка CORS. **Важно!** Запускать сторонние игры может только версия плеера со встроенным каталогом игр. В чём смысл. Нам не нужно, чтобы все игры, которые мы хотим запускать с нашего сайта, лежали прямо у нас на сайте. Мы можем запускать игры, которые лежат на других сайтах. Например, **qSpider** у нас установлен по адресу "''%%https://qspfoundation.github.io/qspider%%''", а игра лежит по адресу "''%%https://aleksversus.github.io/merphy_law/game/merphy_law.qsp%%''". Мы можем ввести в адресную строку, или вставить в атрибут ''%%href%%'' гиперссылки следующий адрес, и он откроет нашу игру в указанном "плеере" **qSpider**: https://qspfoundation.github.io/qspider/?game=https://aleksversus.github.io/merphy_law/game/merphy_law.qsp При этом игра будет загружена на полку игр. Открыть таким же образом игру в онлайн-плеере, в котором нет полки игр (то есть в плеере для стандалон-сборки), не получится. Таким же образом можно загружать игры целым пакетом, сославшись на один конфигурационный файл (конфиг), в котором описаны сразу несколько игр: https://qspfoundation.github.io/qspider/?config=https://aleksversus.github.io/QSP-storage/game/game.cfg После загрузки всех игр на полку, самая первая игра в конфиге будет запущена автоматически. А ещё можно упаковать несколько игр в zip-архив, поместить в корень архива конфигурационный файл, и сделать ссылку на архив — все игры из архива тоже будут загружены на полку. ==== Запуск игр из каталога по ссылке ==== Игру, опубликованную в каталоге игр qsp.org, можно запускать по прямой ссылке. Она автоматически добавится на полку и запустится. Чтобы получить такую ссылку: * откройте страницу с игрой на сайте qsp.org * скопируйте адрес из адресной строки. Должно получиться что-то вроде этого: https://qsp.org/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=6&sobi2Id=84&Itemid=55 * Найдите в этом адресе часть, начинающуюся с **sobi2Id**. Число после знака равенства является идентификатором игры в каталоге. Например, для ссылки выше это число 84. * Теперь возьмите полную ссылку к онлайн-версии плеера, и укажите через вопросительный знак параметр **catalogId** и идентификатор игры в каталоге. Получится вот такая ссылка: https://qspfoundation.github.io/qspider/?catalogId=84 ===== Запуск игр в формате текстовых файлов ===== Для того, чтобы писать игры QSP в текстовом редакторе, был разработан специальный формат для текстовых файлов под названием **TXT2GAM**. Ещё его можно называть "формат **QSPS**" по названию общепринятого расширения "''%%.qsps%%''", которое таким файлам назначается. Подробное описание формата вы найдёте в статье [[help:txt2gam|"TXT2GAM. Краткое руководство"]]. Обычно игры, написанные в этом формате, требуется сконвертировать в файл игр QSP с помощью специальной утилиты **TXT2GAM**. Однако **qSpider** позволяет запускать такие игры прямо из qsps-файлов, не конвертируя их. Требования к играм, написанным в виде текстовых файлов: * Игра обязательно должна быть написана в формате **[[help:txt2gam|TXT2GAM (QSPS)]]**; * Файл должен иметь расширение "''%%.qsps%%''"; * Файл должен быть сохранён в кодировке **utf-8** (рекомендуется), или **utf-16le**. **Quest Generator** позволяет экспортировать игру в qsps-файл именно в кодировке **utf-16le**, однако предпочтительнее использовать кодировку **utf-8**, поскольку в этом случае файл будет гораздо меньше по объёму. ===== Стандартные горячие клавиши ===== * ''%%ctrl+r%%'' - перезапуск игры (Заново) * ''%%ctrl+s%%'' - меню сохранения * ''%%ctrl+o%%'' - меню загрузки * ''%%f5%%'' - quicksave (быстрое сохранение) * ''%%f9%%'' - quickload (быстрая загрузка) * ''%%PageUp%%'' - увеличить громкость * ''%%PageDown%%'' - уменьшить громкость * ''%%Home%%'' - выключить звук * ''%%End%%'' - включить звук * ''%%Space%%'' - единственное действие * ''%%1 ... 9%%'' - действия с 1 по 9 по порядку. ===== Список полезных ссылок о qSpider ===== ==== в QSP-WIKI: ==== * [[help:qspider_gamecfg|Конфигурационный файл]] * [[help:qspider_aeroqsp|Особенности запуска и работы игр AeroQSP на qSpider]] * [[help:qspider_interface|Взаимодействие с интерфейсом]] * [[help:qspider_themes|Темы оформления]] * [[help:qspider_spectags|Специальные теги]] * [[help:qspider_inclib|Встроенная библиотека]] * [[help:qspider_standalone|Стандалон-сборка игры на qSpider]] ==== на IFHUB (краткая история версий) ==== * [[https://ifhub.club/2020/10/11/qspider-pleer-dlya-zapuska-qsp-igr-v-brauzere.html|qSpider - плеер для запуска QSP игр в браузере]] * [[https://ifhub.club/2020/10/11/qspider-hotkeys.html|qSpider HotKeys - горячие клавиши]] * [[https://ifhub.club/2020/10/18/qspider-090.html|qSpider 0.9.0 - список игр в конфиге]] * [[https://ifhub.club/2020/11/01/qspider-091.html|qSpider 0.9.1 - загрузка игр из zip]] * [[https://ifhub.club/2021/05/23/qspider-0100.html|qSpider 0.10.0 - подключение дополнительных ресурсов]] * [[https://ifhub.club/2021/10/22/qspider-0110.html|qSpider 0.11.0 - поддержка игр в AeroQSP-формате]] * [[https://ifhub.club/2022/02/06/qspider-0120.html|qSpider 0.12.0 - полноценная desktop-версия]] * [[https://ifhub.club/2022/10/05/qspider-0130.html|qSpider 0.13.0]] * [[https://ifhub.club/2024/01/03/qspider-100.html|qSpider 1.0.0 — Полка игр и Каталог]] * [[https://ifhub.club/2024/01/10/qspider-101.html|qSpider 1.0.1]] * [[https://ifhub.club/2024/02/11/qspider-110.html|qSpider 1.1.0 — Стандалон]] * [[https://ifhub.club/2024/07/15/qspider-120.html|qSpider 1.2.0 — китайский язык]] * [[https://ifhub.club/2024/09/29/qspider-130.html|qSpider 1.3.0 — переход на библиотеку QSP 5.9.0]] ==== Другие ссылки ==== * [[https://qsp.org/index.php?option=com_agora&task=topic&id=1291&Itemid=57|Обсуждение плеера на форуме QSP.org]] * [[https://vk.com/@qsplayer-qspider-v-0120-svodnaya-statya|Сводная статья по версии 0.12.0 в вк]] [[help:qgen|Вперёд: Quest Generator]]