Этот проект начался просто как проверка возможности запуска C кода в броузере с помощью WebAssembly.
Потом было понимание, что в связи со «смертью» Flash, скоро перестанет работать AeroQSP плеер, и было бы неплохо сделать возможность запуска игр сделаных под AeroQSP.
И вот пришло время его альфа-релиза.
#### Страница с релизами
https://github.com/qspfoundation/qspider/releases
Новые релизы будут появлятся на ней по мере выхода.
#### Демо игра
Сказочка на ночь
Поддерживаются только новые версии браузеров (поддержки Internet Explorer нет и не будет).
В плеере используется самая последня версия qsplib библиотеки, которую сейчас активно разрабатывает Байт.
Ее основные отличия от 5.7.0
* операторы работы с модулями переименваны -ADDQST в INCLIB и KILLQST в FREELIB
* в ряде функций (напрмер ARRPOS и ARRCOMP) необязательный параметр перенесен с первого места на третье
* добавлены локальные переменные
* добавлены циклы
* изменена логика работы массивов — если раньше в одном элементе массива могли одновременно находиться и числовое, и строковое значение, то сейчас будет храниться всего лишь одно с признаком типа.
#### Отличия qSpider от Классического плеера:
* пути к ресурсам (картинкам/аудио файлам) регистрозависимы — то есть если файл называется 'image.jpg' а в файле игры записано 'Image.jpg' или 'image.JPG' то плеер не сможет показать такую картинку
* для проигрования аудио используются встроенные средства браузера, поэтому рекомендованый формат для плеера — mp3 как самый поддерживаемый (хорошая альтернатива — webm, у него меньше размер при том же качестве, но чуть хуже с поддержкой браузеров)
* есть возможность пропуска wait (кликом по странице)
* сохранения хранятся в браузере
Внешний вид пока не финализирован — критика и предложения по улучшению очень приветствуются.
#### Планы на ближайшее будущее:
* загрузка игры из архива и по внешней ссылке
* экспорт/импорт сохранений — для переносов между браузерами
* возможность запуска Aero игр
##### Запуск плеера на компьютере
Из-за ограничений безопасности плеер нельзя запустить просто открыв index.html файл в браузере.
Поэтому для запуска необходим локально запущенный сервер — можно использовать один из списка или же расширение хрома Web Server for Chrome.
В дальнейших инструкциях я буду использовать расширение:
* устанавливаем Web Server for Chrome
* скачиваем и распаковываем qspider-player.zip с страницы релизов
* открываем в хроме chrome://apps/ и выбираем в списке Web Server
* в открывшемся попапе выбираем папку, в которую распаковали плеер и запускаем сревер
* там же в попапе будет ссылка
По умолчанию вместе с плеером упакована игра «Сказочка на ночь».
Для запуска другой игры:
* копируем игру в подпапку `game`
* редактируем в той же папке файл `game.cfg`
* id — уникальный идентификатор игры (используется для сохранений)
* title — название игры (будет показано в заголовке плеера)
* folder — путь к папке с игрой относительно папки game
* file — название файла с игрой
Ссылка:
https://ifhub.club/2020/10/11/qspider-pleer-dlya-zapuska-qsp-igr-v-brauzere.html