Перейти к основному содержимому

qSpider 1.1.0

Клуб любителей текстовых игр на QSP·11 фев 2024

Вышла новая версия qSpider — 1.1.0.

Новые фичи:

  • standalone сборка игры (плеер без полки игр и загрузкой игры из конфига)
  • в online версию добавлена возможность использовать ссылку на игру из каталога
  • улучшено отображение горячих клавиш в меню паузы (вместо meta теперь отображается название клавиши в зависимости от платформы (Ctrl на Window и ⌘ на Mac)

Список исправлений:

  • исправлена работа savegame/opengame команд и их работа при nosave=1
  • исправлен запуск aero игр в десктоп версии
  • исправлена работа тега center в названии действий, предметов и пунктов меню
  • исправлена поддержка загрузки лейаута из qspgui.cfg
  • исправлено закрытие view панели
  • исправлена поддержка кирилицы в названии файлов внутри zip архивов созданных в Windows
  • исправлено падение плеера если горячая клавиша была нажата при открытом msg/input
  • исправлено сохранение по имени (savegame '1') в десктоп версии
  • исправлена поддержка gt без пробелов вокруг (&gt'loc') внутри ссылок

Ссылки на игры из каталога в online версии

Теперь к ссылке на онлайн версию можно добавить параметр catalogId.

Например

https://qspfoundation.github.io/qspider/?catalogId=125

— игра сказочка на ночь

Если игры еще нет на полке — она будет автоматически добавлена.

Когда игра на полке — она будет запущена.

Соответствующий id можно взять из ссылки на qsp каталог — https://qsp.org/index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=126&Itemid=55

необходимо взять значение параметра sobi2Id (126 в примере)

Standalone версия плеера

Для тех кто хочет опубликовать свою игру онлайн без полки игр или же собрать desktop версию своей игры была добавлена standalone версия плеера (без полки игр и загрузкой игры из файла конфига).

Особенности standalone сборки:

  • если в файле конфига описано несколько игр — будет запущена первая из списка
  • не поддерживаются архивы игр — их надо распаковать

В релиз теперь включается архив с standalone версией — qspider-player-standalone.zip

Игру вместе с файлом конфига game.cfg необходимо поместить в папку game.

После этого игру вместе с плеером можно публиковать online.

Для создания desktop версии игры подготовлен шаблон репозитория с необходимыми скриптами для сборки. Будет необходим аккаунт на github.com и минимальные навыки работы с git.

Создание репозитория

  • заходим в репозиторий https://github.com/QSPFoundation/qspider-standalone-game-template
  • в правом верхнем углу нажимаем Use this template и Create a new repository
  • обязательно отмечаем Include all branches
  • вводим название репозитория, выбираем public (необходимо для использования Github Pages для онлайн версии и файла автоапдейтов)
  • создаем репозиторий

Добавление файлов игры и минимальные настройки для online публикации

  • клонируем репозиторий
  • копируем файлы игры в папку репозитория (в дальнейшем лучше разработку вести в ней)
  • если у игры не было game.cfg файла — заполняем пустой файл из репозитория, указывая id, название и путь к qsp(или qsps) файлу игры
  • коммитим файлы и пушим

Публикация только онлайн версии

  • заходим на вкладку Actions в репозитории
  • в левой панели выбираем Update github pages (game only)
  • в правом верхнем углу таблицы нажимаем Run workflow и нажимаем кнопку Run workflow в появившейся панели
  • выбираем All workflows в левой панели
  • Ждем пока Update github pages (game only) и pages build and deployment (появится после завершения (Update github pages (game only))) завершатся

Ссылку на игру можно найти в вкладке Settings -> Pages.

Настройка desktop сборки

Генерация ключей для подписи автоапдейтов игры

Для этого шага необходимо установить NodeJS

  • открываем консоль (в windows это можно сделать нажав win + R и набрав cmd)
  • запускаем команду npx @tauri-apps/cli signer generate
  • вводим пароль для нашего ключа
  • копируем публичный ключ из вывода в консоли (строка случайных символов после слов Your public key was generated successfully:)
  • открываем файл game.build.conf.json в папке репозитория и вставляем ключ в поле pubkey
  • копируем приватный ключ из вывода в консоли (строка случайных символов после слов Your secret key was generated successfully — Keep it secret!)
  • открываем вкладку Settings репозитория
  • в левой панели выбираем Secrets and Variables — Actions
  • в секции Repository secrets добавляем 2 записи:
    • TAURI_PRIVATE_KEY, в значение вставляем скопированный приватный ключ
    • TAURI_KEY_PASSWORD, в значение вводим пароль использованный при генерации ключей

Заполнение данных для десктоп сборки

  • открываем файл game.build.conf.json в папке репозитория
  • вводим название игры в поле package.productName
  • изменяем версию в package.version если необходимо
  • изменяем идентификатор сборки в поле tauri.bundle.identifier — только английские буквы разделенные точкой
  • заполняем поля tauri.bundle.publisher, tauri.bundle.copyright, tauri.bundle.shortDescription и tauri.bundle.longDescription
  • в поле tauri.updater.endpoints добавляем ссылку на github pages репозитория с /updater.json в конце
  • настраиваем окно игры в секции tauri.window
  • коммитим и пушим изменения

Создание релиза игры

  • открываем вкладку Actions в репозитории
  • в левой панели выбираем Game release
  • в правом верхнем углу таблицы нажимаем Run workflow и нажимаем кнопку Run workflow в появившейся панели
  • выбираем All workflows в левой панели
  • ждем пока Game release успешно завершиться (может занять минут 10)
  • в левой панели выбираем Update github pages (game and updater)
  • в правом верхнем углу таблицы нажимаем Run workflow и нажимаем кнопку Run workflow в появившейся панели
  • Ждем пока Update github pages (game and updater) и pages build and deployment (появится после завершения (Update github pages (game and updater))) завершатся

Ссылка на последний релиз будет доступна в правом сайдбаре на вкладке Code.

Для созданий новых релизов вместе с изменением файлов игры необходимо изменить версию в файле game.build.conf.json.

Оригинал статьи: https://ifhub.club/2024/02/11/qspider-110.html