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



Этот проект начался просто как проверка возможности запуска 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 — название файла с игрой

Преобразование типов в QSP

Эта статья поможет вам разобраться в таком сложном вопросе, как преобразование типов в операции присвоения, или в выражениях.

В QSP существует всего два типа значений: числовой и текстовый. Числовой означает любое целочисленное число в пределах от -2147483648 до 2147483647; а текстовый — любую строку текста (нет, на самом деле любую. Ограничения для строк — 2 Гб текста).

Вот как выглядят такие значения:



Для хранения значений мы используем переменные или массивы. И точно так же массивы и переменные (далее просто — переменные) бывают двух типов.
Читать дальше

QSP как язык программирования

Добрый день!

Меня спрашивают, почему у QSP свой язык программирования и почему бы не использовать что-либо существующее (Python, например). На мой взгляд, вопрос вполне понятный, особенно для тех, кто не знаком (или плохо знаком) с QSP.
Причин несколько.

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

Ну и, конечно же, изначально хотелось поэкспериментировать с синтаксисом и интерпретацией :)

Объявлены результаты QSP Compo 2020



Результаты конкурса QSP-Compo были вывешены в группе ВКонтакте.


Игры «Три рыцаря» и «The Lain Project» были переведены во внеконкурсную номинацию в связи с просьбой их авторов.

Обсуждение результатов конкурса идёт на форуме QSP и в Дискорде.

The Dark Citadel. Автор: Savrtberg. Платформа: QSP

Это основательно переработанный отзыв со страниц темы обсуждения конкурса "QSP-Compo 2020" http://qsp.su/index.php...p27842

"TDC" попала в меня. Я уже видел демки Svartberg`а, и потому откладывал эту игру напоследок, в первую очередь осваивая другие игры QSP-Compo 2020. И вот я добрался.

О, как же было здорово!
Читать дальше

Путь крови и плоти. Автор: D31M0S. Платформа: QSP

Это расширенная и видоизменённая версия отзыва с конкурса QSP-Compo 2020. Оригинал можно найти здесь http://qsp.su/index.php?option...#p27842

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

Перед нами весьма недурственно написанная интерактивная книга, где мы играем за полиморфное существо по имени Багрянец. Ещё его называют Красная Глина. Он (оно) может принимать любую форму, сжиматься и растягиваться, и жаждет лишь одного — пожирать.
Читать дальше

Три рыцаря. Автор: студия "The CostumeS". Платформа: QSP

Это несколько видоизменённая версия отзыва, опубликованного здесь http://qsp.su/index.php?option=com_agora&task=topic&id=1282&p=2&prc=25&Itemid=57#p27841

"Три рыцаря" были созданы целой командой — The CostumeS. Однако, поскольку наибольший вклад в игру сделал Миоирель, и сама игра исключительно в его стиле, местами я обращаюсь к нему.

Должен сразу оговориться, что на момент прохождения "Трёх рыцарей" я напрочь забыл о "Гринде", и если бы не упоминание Миоиреля, вряд ли взглянул на эти две игры в сравнении, и уж тем более не заподозрил бы "Трёх рыцарей" в том, что они продолжают "Гринд".
Читать дальше

Впечатления от игры "Dictator"

автор игры: NickoAilus
участник конкурса: Паровозик-2018
карточка игры: здесь

Что понравилось:

• Игра небольшая.
• Адекватное для меня соотношение количества концовок к объему текста.
• К одной и той же концовке можно прийти разными путями.
• Можно использовать хитрость — говорить одно, а делать другое.
• Загадочность и недосказанность.
• Отличная авторская музыка.

Что осложняло игру:

• Почти полное отсутствие применения типографики, чтение строчек шириной в целый экран не самое легкое занятие, изменение размеров окна игры не спасало.
• Слишком большие картинки, они часто несоразмерны нескольким строчкам текста, которые можно просто не заметить, забыв прокрутить скролл вниз.
• Не все музыкальные треки зациклены «без швов», иногда были отчетливо слышны стыки, что немного отвлекало.

Мне было известно, что игра писалась в сжатые сроки, можно сказать, в экстремальных условиях. Играть те два вечера, что я ей плотно занимался, тоже приходилось в экстремальных условиях, но несколько иного рода. Мне было неизвестно, то ли нечто конкретное недоступно, потому что еще не сделано автором, то ли это можно было открыть/выбрать при другой истории прошлых решений, то ли оно просто декоративное и не будет доступно никогда.

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

Пролог, завязку и часть сюжета я более или менее понял. Остальное, что не понял, списываю на загадочность и атмосферность НФ-сеттинга. Концовки и подводка игрока к ним, на мой взгляд, скорее удалась, чем нет. Общее впечатление от игры хорошее. Если она будет доработана и/или выйдет продолжение, то я постараюсь поиграть и в них — короткий жанр мне в последнее время близок.

Интервью с автором: Mkir

Oreolek: Кто вы и чем занимаетесь?

Mkir: Марк Кирдань, занимаюсь кино и литературой, играми — почти нет, но «Асатама» увлекла старой-доброй возможностью «создать свою вселенную» и теперь хочется продолжать.

«Асатама: падение Байрааша» — это эпическая фентези ролевая игра на платформе QSP, которая была впервые опубликована 14 октября 2016 года. На момент выхода в игре было восемь городов, шесть крупных квестовых гильдий, около 140 видов вооружения и столько же видов монстров.

Читать дальше

QSP-Compo 2015: Перекрёстки миров.

Встречайте ежегодный qsp-конкурс. :)

Полный простор для фантазии авторов — приветствуются игры в любом сеттинге или даже в смешении сеттингов.

Сроки проведения:
* Конкурсные работы принимаются до 30 апреля 2015 года (включительно).
* Правки к конкурсным работам принимаются так же до 30 апреля 2015 года (включительно).
* Публикация игр – 1-3 мая 2015 года.
(время Московское)

Члены жюри в этом году:
Серый Волк, Byte, Newsash, Nex, Fireton.

Все конкурсные работы присылайте на (ajenta [собака] qsp.su).

Полные правила конкурса доступны здесь — Правила

Призовой фонд пока не утверждён. Ищутся спонсоры!
Если вы настолько добры и хотите оказать нам честь стать спонсором конкурса, пишите мне в личку или же по адресу, обозначенному выше. :)

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

Всем удачи и вдохновения!
Читать дальше