INSTEAD и Emscripten

  1. last year

    Antokolos

    May 2016 Омск User since 2014

    В связи вот с этим вот постом Некса
    http://qsp.su/index.php?option=com_agora&task=topic&id=1056&p=1&Itemid=57#p23876
    хочу спросить, не было ли попыток собрать Инстед с помощью Emscripten?
    На самом деле, я пробовал, но, т.к. результатов добиться не получилось, я это забросил и никому не рассказывал.
    Тем не менее:

    1. SDL2 приложения уже можно собрать с помощью Emscripten. По крайней мере, когда я пытался собрать Инстед, Emscripten сам качал SDL2 вот отсюда: https://github.com/emscripten-ports/SDL2 и пытался его применить
    2. Что касается Lua, то вот: https://kripken.github.io/lua.vm.js/lua.vm.js.html

    Ну, или даже вот: https://github.com/gl00my/weblua :)
    У меня тупо не получилось собрать, т.к. не хватает знаний в make-файлах и времени, чтобы разобраться. Просто при сборке пошли проблемы с разрешением зависимостей внешних библиотек, той же Луа, и я забил. Но это точно можно сделать.
    Ну так что, какие будут идеи и предложения?

  2. peter

    May 2016 Administrator Земля(Москва) User since 2014

    так есть же рабочий прототип инстеда на js от zaynyatyi
    там и используется weblua (lua собрана emscripten)
    я с планшета сейчас (неудобно искать), ссылка на репозиторий тут на форуме есть. тема js-instead или как то так.

    но там только луа часть. морда на js.

    если речь именно о том, чтобы собрать приложение целиком (с sdl частью) то не пробовали.

  3. v.v.b.

    May 2016 Постоялец Нижний Новгород User since 2014

    а какова цель данного мероприятия?

  4. peter

    May 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    а вот тема: https://instead.syscall.ru/talk/index.php/118-js-instead
    lua в emscripten есть. js морда есть. игра резервная копия от vvb приемлемо работает в браузере

  5. peter

    May 2016 Administrator Земля(Москва) User since 2014

    из библиотек. нужны еще: sdl-/image/ttf/mixer и опционально libiconv

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

  6. Antokolos

    May 2016 Омск User since 2014

    v.v.b. а какова цель данного мероприятия?

    Инстед в веб, с минимальными усилиями на изменения при внесении каких-либо новшеств в движок Петром.
    Мне очень нравятся оба наши веб-порта, и от epoxa , и от zaynyatyi , но у них у обоих есть один очень существенный недостаток -- они добавляют какой-то свой код. Таким образом, при внесении изменений есть большой шанс, что что-то отвалится. Плюс, работает только то, что запланировал сделать автор порта.
    Идеал Инстеда, собираемого Emscripten -- Пётр выпускает новый релиз Инстеда, я ввожу одну команду на сборку и у меня готова новая версия Инстеда, которую можно запустить в браузере. Без дополнительного кода. Не требующая допиливания. И максимально похожая на десктопный оригинал. Заманчиво? ;)

  7. kerber

    May 2016 User since 2014

    Интересно, да. Особенно если заработают спрайты, сейвы и грядущие примитивы. И всё это онлайн.

  8. epoxa

    May 2016 User since 2014

    Заманчиво!
    То есть нужно просто прикрутить SDL-часть к веб-верии zaynyatyi ? Или там ещё какие-то тонкости могуть быть?
    Antokolos а у тебя остались попытки собрать версию на емскриптене? Может на гитабе, чтобы форкнуться от чего-то уже, а не с нуля.

  9. Antokolos

    May 2016 Омск User since 2014

    epoxa , можно сказать, что не остались.
    Дело было так.
    $ git clone https://github.com/instead-hub/instead.git
    $ cd instead
    $ emconfigure ./configure
    ...
    no package lua...
    please install lua development package
    $ ./configure
    Ok. We are ready to build
    $ emmake make
    No package lua5.2 found
    No package zlib found
    fatal error: 'lua.h' file not found

    Дальше я пытался как-то закинуть исходники Луа прямо в сборку Инстеда, что явно не то, что надо. Надо как-то объяснить на этапе emconfigure, что у нас есть все требуемые библиотеки, но я не осилил.

    Вот здесь описан процесс сборки проектов, именно его я пытался повторить.

  10. Antokolos

    May 2016 Омск User since 2014

    P.S.: тут не то что "прикрутить SDL-часть к веб-верии zaynyatyi ", эта версия должна получиться сама по себе.

    Веб-версия zaynyatyi использует lua-файлы движка Инстеда и полностью переписывает SDL-часть (фактически, своим собственным кодом).

  11. epoxa

    Jun 2016 User since 2014

    Ну, собственно, как и моя веб-версия

  12. 2 months ago

    peter

    Jul 22 Administrator Земля(Москва) User since 2014

    http://club.syscall.ru/9bJa3PPQp7kxEq6WkHm1
    Спасибо technix за помощь. :)

  13. technix

    Jul 22 Постоялец User since 2014

    Что касается пункта 5 - можно применить тот же подход что и для сохранений в instead-js.
    Emscripten позволяет вызывать JS-код из сишного и обмениваться с ним данными, так что задача вполне решаемая:
    https://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html#calling-javascript-from-c-c

  14. peter

    Jul 22 Administrator Земля(Москва) User since 2014

    Технологическую дему выложил в клубе в std.tech. Кому интересно, смотрим =)

  15. Irremann

    Jul 22 Постоялец User since 2014

    Если не работает и ФФ пишет "Exception thrown, see JavaScript console", то попробуйте потыкать about:config

    webgl.force-enabled=true
    webgl.msaa-force=true
    layers.acceleration.force-enabled=true

  16. peter

    Jul 23 Administrator Земля(Москва) User since 2014

    Обновил. Добавил неск игр. На firefox у меня при переключении игр бывают падения. Если отключить музыку -- они пропадают. В chrome не падает.

    http://instead.syscall.ru/downloads/instead-em/project.html

    Информация по сборке:
    http://club.syscall.ru/0sijWvSPc5LLV7Z62zzV

  17. peter

    Jul 27 Administrator Земля(Москва) User since 2014

    Почти все мои игры в веб варианте здесь:
    http://syscall.ru/games/

    Теперь instead-em позволяет указывать, что за игру запускать.

    Если кому нужен архив с instead-em до релиза, спрашивайте.

  18. v.v.b.

    Jul 27 Постоялец Нижний Новгород User since 2014

    .

  19. peter

    Jul 27 Administrator Земля(Москва) User since 2014

    Да, что то не декодировалась jpeg ина. Странно, что в другом месте смогла. Поизучаю этот вопрос...

  20. peter

    Jul 27 Administrator Земля(Москва) User since 2014

    Да, причина примерно понятна. Эти файлы не проходят через plugin, так что пока jpg в играх не работает. Если только сама игра не включает в себя сразу игру. Подумаю.

  21. Newer ›

or Sign Up to reply!