Giter Site home page Giter Site logo

qspfoundation / qspider Goto Github PK

View Code? Open in Web Editor NEW
20.0 5.0 3.0 80.18 MB

Web and desktop player for QSP http://qsp.org/

Home Page: https://qspfoundation.github.io/qspider/

License: MIT License

TypeScript 54.87% JavaScript 0.23% HTML 32.84% Shell 0.01% CSS 9.98% Rust 0.60% NSIS 1.46%
qsp

qspider's Introduction

qSpider


Web and desktop player for QSP

License: MIT PRs Welcome Commitizen friendly code style: prettier

Qspider

Online player: https://qspfoundation.github.io/qspider/

Current release - 1.2.0

Windows: download

Macos: download

Linux: deb | rpm | AppImage

Development server

Run npm start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Build

Run nx build player to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running on desktop

To run desktop version of qSpider you need Rust installed on your machine. Once you have it

cd ./src-tauri
cargo install
cd ..

To run desktop player in development mode run npm run start:desktop.

qspider's People

Contributors

dependabot[bot] avatar srg-kostyrko avatar yufudiao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

qspider's Issues

Dependency issue with react

Bug

  • player version:

What you did:

What happened (please provide anything you think will help): I am unable to run a dev server on windows 10, from the code on the master branch.

npm install fails with the following errors:

    npm ERR! code ERESOLVE
    npm ERR! ERESOLVE could not resolve
    npm ERR!
    npm ERR! While resolving: [email protected]
    npm ERR! Found: [email protected]
    npm ERR! node_modules/react
    npm ERR!   peer react@">=16.8.0" from @emotion/[email protected]
    npm ERR!   node_modules/@emotion/react
    npm ERR!     peer @emotion/react@"^11.0.0-rc.0" from @emotion/[email protected]
    npm ERR!     node_modules/@emotion/styled
    npm ERR!       @emotion/styled@"11.9.3" from the root project
    npm ERR!     @emotion/react@"11.9.3" from the root project
    npm ERR!   peer react@">=16.8.0" from @emotion/[email protected]
    npm ERR!   node_modules/@emotion/styled
    npm ERR!     @emotion/styled@"11.9.3" from the root project
    npm ERR!   11 more (@testing-library/react, interweave, mobx-react-lite, ...)
    npm ERR!
    npm ERR! Could not resolve dependency:
    npm ERR! peer react@"^16.8.5 || ^17.0.0" from [email protected]
    npm ERR! node_modules/react-delta
    npm ERR!   react-delta@"^1.1.2" from the root project
    npm ERR!
    npm ERR! Conflicting peer dependency: [email protected]
    npm ERR! node_modules/react
    npm ERR!   peer react@"^16.8.5 || ^17.0.0" from [email protected]
    npm ERR!   node_modules/react-delta
    npm ERR!     react-delta@"^1.1.2" from the root project
    npm ERR!
    npm ERR! Fix the upstream dependency conflict, or retry
    npm ERR! this command with --force, or --legacy-peer-deps
    npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

however I was able to install libraries with npm install --legacy-peer-deps.

I then ran npm audit fix --force, and tried running the server with npm start. This shows errors with the svg library as follows (repeated for all svg files):

    ERROR in ../../libs/icons/src/svg/list.svg
    Module build failed (from ../../node_modules/svg-sprite-loader/lib/loader.js):
    TypeError: Cannot read properties of undefined (reading 'target')
        at configurator (H:\games_xxx\qspider\node_modules\svg-sprite-loader\lib\configurator.js:17:34)
        at Object.loader (H:\games_xxx\qspider\node_modules\svg-sprite-loader\lib\loader.js:28:18)

Reproduction repository (if possible): master branch on official repo

I'm interested to see how qspider looks. Hope this is an easy fix. Thanks!

Create game manager

It will be responsible for all the orchestration

  • loading game descriptor file
  • loading game file into qsp engine
  • (re)starting game
  • managing all the system (like sound, saves etc)

For the first iteration, it should be able to load different files with game data and initializing it in qsp engine.

Connect UI updates to QSP

The player should load:

  • main description
  • stats description
  • actions list
  • objects list

Action and object selection should be processed.

Save system is broken.

Отписывался на форуме QSP, решил отписаться тут:
Первое, плеер классный по многим параметрам, есть пара предложений по улучшению – но то такое, если интересно почитай на форуме QSP.

Bug

  • player version: 0.9.1

Ок, теперь критический баг – не работает система сэйвов, т.е. она буквально мёртвая, когда набирается X-кол-во переменных, т.е. даже в демке «Куртуазная Баллада» если потыкать наугад и набрать немного перемнных для сохранения – эти сэйвы отказываются загружаться.
Плеер кидает ошибку с “Can’t load file!”
Хотя, в “Сказочка на ночь” такой проблемы нету, я подозреваю из-за крошечного размера и небольшого кол-ва переменных.

Screenshot_1
Screenshot_2

Я пытался сам пофиксить этот баг, но увы, моих знаний о взаимодействии JS с WASM недостаточно.

Saves v1.0.1

После вызова из QSP функций savegame и opengame система сохранений/загрузок в плеере ломается. Перезапуск игры не помогает. Помогает только перезапуск плеера.
Версия плеера: 1.0.1

bug: incorrect resource paths when uploading to itch.io

Когда проект с qspider-player-standalone v1.1.0 заливаешь на https://itch.io/, сталкиваешься с проблемами путей.

В инспекторе браузера (ctrl + shift + i) можно увидеть, что плеер пытается достучаться game.cfg по такому пути:

https://html-classic.itch.zone/html/10911041/index.html/game/game.cfg

А должен:

https://html-classic.itch.zone/html/10911041/game/game.cfg

Reproduction steps

  • скачать qspider-player-standalone.zip

  • разархивировать

  • создать game/game.qsps:

    # begin
      'hello, itch.io'
      act 'нажми на меня':
        'жмяк'
      end
    -
  • создать game/game.cfg:

    [[game]]
    id = ""
    title = "Sandbox"
    description = ""
    file = "game.qsps"
  • заархивировать

    zip -r game.zip .
  • зайти в свой аккаунт на https://itch.io

  • создать проект на https://itch.io/game/new

  • назвать проект как-нибудь

  • в выпадающем списке "Kind of project" выбрать "HTML"

  • найти кнопку "Upload file" и нажать на нее

  • указать game.zip

  • отметить checkbox напротив "This file will be played in the browser"

  • в выпадающем списке "Embed options" выбрать "Click to launch in fullscreen"

  • нажать на кнопку "Save and view page" в самом низу

  • нажать на "Run game"

Possible solution

Я это решил так: закоментировал вот эти строки:

if (!baseUrl.endsWith('/')) {
baseUrl = `${baseUrl}/`;
}

В деплое они находятся в assets/index-WrXoTXF3.js:

b.endsWith("/")||(b=`${b}/`),

После чего повторно заархивировал и залил в itch.io.

Игра запускается, но со сломанными стилями, а всё потому, что он пытается найти:

https://html-classic.itch.zone/html/10911100/index.htmlthemes/common.css
https://html-classic.itch.zone/html/10911100/index.htmlthemes/classic.css

А должен искать:

https://html-classic.itch.zone/html/10911100/themes/common.css
https://html-classic.itch.zone/html/10911100/themes/classic.css

Это решается так:

  • открыть в themes/classic.html

  • отредактировать строки:

    <css-link src="qspider:themes/common.css"></css-link>
    <css-link src="qspider:themes/classic.css"></css-link>

    на:

    <css-link src="qspider:/../themes/common.css"></css-link>
    <css-link src="qspider:/../themes/classic.css"></css-link>

*.mp4 file support

I've been trying to find some info on this, but no luck so far.

Does qSpider support mp4 files?

And if not, is there a plan to add support for mp4 files in the near future?

Create UI like in the classic player

Create a basic UI that resembles the classic player.

Panels

  • Main
  • Actions
  • Objects
  • Stats
  • User input
  • View (image)

Dialogs

  • Msg
  • Input
  • Error

Other

  • Menu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.