qSpider - плеер для запуска QSP игр в браузере

qSpider - плеер для запуска QSP игр в браузере

Я уже какое-то время уже разрабатываю плеер, который позволял бы запускать QSP игры в браузере.
И наконец-то пришло время альфа релиза.

Демо игра - Сказочка на ночь
Страница с релизами - https://github.com/qspfoundation/qspider/releases
Новые релизы будут появлятся на ней по мере выхода.

Поддерживаются только новые версии браузеров (поддержки Internet Explorer нет и не будет).
Но проверял я в основном в Chrome и немного в Firefox - так что если у кого-то будет возможность проверить в других браузерах я буду очень благодарен за репорты об ошибках. 

В плеере используется самая последня версия qsplib библиотеки, которую сейчас активно разрабатывает Байт.

Отличия от Классического плеера:
- пути к ресурсам (картинкам/аудио файлам) регистрозависимы - то есть если файл называется 'image.jpg' а в файле игры записано 'Image.jpg' или 'image.JPG' то плеер не сможет показать такую картинку
- для проигрования аудио используются встроенные средства браузера, поэтому рекомендованый формат для плеера - mp3 как самый поддерживаемый (хорошая альтернатива - webm, у него меньше размер при том же качестве, но чуть хуже с поддержкой браузеров)
- есть возможность пропуска wait (кликом по странице)
- сохранения хранятся в браузере

Известные проблемы:
- неправильно определяются пути к ресурсам если используется оператор openqst
- нет выбора act с клавиатуры
- у элементов системного интерфейса нет переводов

Внешний вид пока не финализирован - критика и предложения по улучшению очень приветствуются

Планы на ближайшее будущее:
- загрузка игры из архива и по ссылке
- экспорт/импорт сохранений - для переносов между браузерами
- возможность запуска Aero игр

Запуск плеера на компьютере
Из-за ограничений безопасности плеер нельзя запустить просто открыв index.html файл в браузере
Поэтому для запуска необходим локально запущенные сервер - можно использовать один из https://gist.github.com/willurd/5720255 или же расширение хрома https://chrome.google.com/webstore/deta … hemlocgigb
в дальнейших инструкциях я буду использовать расширение
- устанавливаем https://chrome.google.com/webstore/deta … hemlocgigb
- скачиваем и распаковываем qspider-player.zip с страницы релизов
- открываем в хроме chrome://apps/ и выбираем в списке Web Server
- в открывшемся попапе выбираем папку в которую распаковали плеер и запускаем сревер
- там же в попапе будет ссылка

по умолчанию вместе с плеером упакована игра "Сказочка на ночь"
для запуска другой игры
- копируем игру в подпапку `game`
- редактируем в той же папке файл `game.cfg`
   * id - уникальный идентификатор игры (используется для сохранений)
   * title - название игры (будет показано в заголовке плеера)
   * folder - путь к папке с игрой относительно папки game
   * file - название файла с игрой

werewolf999
useravatar
Offline
6 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

Рад, что теперь можно будет запускать игры в браузере без Flash.
werewolf молодец, плеер выглядит отлично (учитывая, что это ещё и альфа-версия) smile

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

Byte
useravatar
Offline
596 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

Запустил на браузере Samsung на телефоне. Все окей, только понятное дело диагональ маленькая и очень все кучно. На смартфоне-то вряд ли кто будет играть в такую игру, а на планшете очень даже может быть.

Попробовал также на майкрософтовском Edge. Опять таки полет нормальный. Но из за английской локали в коде каждый раз настойчиво предлагает перевести страницуsmile

На FireFox запустил для галочки. Проблем не выявлено.

Zlobot
Ветеран Броуновского Движения
useravatar
Offline
33 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

Вышла новая версия v0.8.1
- исправлен баг с путями при открытии игры через openqst
- добавлена поддержка горячих клавиш

на уровне плеера теперь поддерживаеются
- клавиши от 1 до 9 - выбирают действие с тем же индексом (как в класическом плеере)
- пробел - если действие в списке всего одно то выдирает его (как в класическом плеере)
- ctrl+s - открывает диалог сохранения
- ctrl+o - открывает диалог загрузки сохранения
- ctrl+r - перезапускает игру
- F5 - быстрое сохранение
- F9 - быстрая загрузка
- PageUp - увеличение громкости
- PageDown - уменьшение громкости
- Home - unmute
- End - mute

Я не до конца еще уверен в управлении зкуком - может у кого будут другие предложения по горячим клавишам для этого?

Так же теперь есть возможно определить для игры кастромные горячие клавиши.
Пример и описание того как это сделать - demo.zip

В планах еще сделать диалог со справкой (по F1) с этим списком, чтобы у игрока всегда была возможность его посмотреть

werewolf999
useravatar
Offline
6 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

Отпишусь здесь.
Запускал в опере, отлично работает и демо-версия, и с локального сервера.

В окне основного описания побаловался с CSS — само собой всё отлично работает, браузер же.)

Понимаю так, что в index.html можно засунуть ссылку на собственный CSS-файл и использовать в игре стили оттуда. А можно ли так подменять стили оформления, которые навешаны на интерфейс?

Aleks Versus
воздвигатель башни
useravatar
Offline
1604 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

https://media.giphy.com/media/hqIaXesRGpP44/giphy.gif

Byte
useravatar
Offline
596 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

Aleks Versus написал(а):

Понимаю так, что в index.html можно засунуть ссылку на собственный CSS-файл и использовать в игре стили оттуда. А можно ли так подменять стили оформления, которые навешаны на интерфейс?

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

werewolf999
useravatar
Offline
6 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

вышла новая версия - 0.9.0
статья с описанием изменений - https://ifhub.club/2020/10/18/qspider-090.html

werewolf999
useravatar
Offline
6 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

werewolf999, у меня попытка открыть плеер локально уходит в бесконечную загрузку.

Mr. Black
useravatar
Offline
89 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: qSpider - плеер для запуска QSP игр в браузере

werewolf999,
Плеер классный, с большими возможностями кастомизации интерфейса через исходники.
Правда актуален только для “Классических” игр, и постоянно ощущается большой упущенный потенциал.
И у меня возник вопрос – не подумывал-ли ты из “web-плеера” сделать локальный плеер? Web плеер конечно хорошая идея, ибо у всех есть браузер чтоб его открыть – но установка “локального сервера” убивает всю доступность.
С другой стороны, можно пойти другим путём и использовать не браузер, а NW.js или Electron как локальную платформу – Это решило бы все вопросы с “доступностью”, да и NWjs и Electron имеет встроенный NodeJS что означает возможность работать с локальными файлами.

(Хотел бы пояснить смысл – как локальный плеер, Qspider мог быть стать хорошей (и что самое главное более гибкой) альтернативой плееру от Sonnix, если добавить не замороченную возможность работы c JS из QSP кода – в этом случае ещё и более динамичной.
Сам QSP прост и как следствие хорош для “Логики” игр, но имеет большие проблемы с визуалом и динамикой, хороший и не замороченный плеер мог бы решить эту проблему.)

Но и самое главное (по крайней мере для меня) – было-бы круто увидеть возможность использовать JS функции в QSP коде, т.е. что-то типа моста как в плеере от Sonnix.

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

Upd:
Поковырявшись с плеером, я понял, что взаимодействия JS-CSS (т.е. динамическая смена классов, например) может быть с лёгкостью выполнена через дифолтный QSP, т.к. в этом случае сам плеер занимается только интерпретацией и отрисовкой HTML, и как следствие получает код в виде стринги, с уже сгенерированными и раскрытыми переменными из QSP, т.е. классы DIVок могут быть динамически назначаться напрямую из QSP а на выходе – CSS будет отрисовывать всё на их основе.
(Также можно триггерить JS функции через проверку имени класса, если это нужно)

И поскольку плеер выполнен на реакте, gt $curloc не “обновляет” страницу в классическом понимании, т.е. сохраняется “позиция” скролла и всё прочие и не происходит назойливых мерцаний, но “изменённый” или “обновлённый” контент – обновляется.

Естественно, это не заменяет JS, с помощью которого можно делать намного больше, но даже в таком виде – это неплохо.

Upd:
Вопрос к тем, кто тестил этот плеер на более-менее больших проектах – Нет ли у вас проблем с загрузкой сохранений?
Дело в том, что – на демо играх всё работает хорошо, но это и не удивительно, они крошечные.
Но насколько я понял, система сохранений не очень ладит с большим кол-вом переменных, у меня кидает ошибку при попытке загрузится -http://qsp.su/components/com_agora/img/members/2547/mini_Screenshot_3.png
Тестил на 2х разных играх, одна весом 6mb вторая 10mb – обе сохраняются/загружаются на начальных экранах, но после начального init’а переменных – игра просто отказывается загружаться.

Поправка, потестил вторую “Демку”(Куртуазная Баллада), просто покликал наугад, чтоб набрать больше информации для сэйва – сохранился, попробовал загрузится – та же самая ошибка.
Т.е. система сохранений поломана.
Без сохранений – плеер бесполезен, хотя автор проделал большую работу над ним. Печальsad

l0stetrnity
useravatar
Offline
9 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
1003
Всего опросов:
14
Всего сообщений:
16790875
Бездействующий:
Пользователи форума:
 
Всего пользователей:
2555
Последним зарегистрировался:
John