b4w в nodejs

31 мая 2015 12:39 #2594
А можно ли запустить серверный b4w который подгрузит сцену и будет выполнять какие либо вычисления? Нужно для игрового сервера.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
01 июня 2015 13:09 #2601
Теоретически это возможно, но в любом случае потребует внесения изменений в движок, поскольку в node js нет возможности работать с canvas. Поэтому на данный момент простого решения нет.

Но раз мы видим, что такой функционал уже требуется пользователям, мы добавим его в наш список TODO.
Разработчик Blend4Web
09 июня 2015 14:59 #2709
Это здорово Думая о будущей организации сетевого протокола для мультиплеерной игры, понадобиться программировать сетевое сглаживание (что бы объекты двигались плавно). Наблюдая как работает физика в отдельном потоке, рискну предположить, что при рендеринге симуляции физики работает тот самый алгоритм, который пригодится для сглаживания перемещений.

Вопрос: верны ли мои предположения и возможно ли сделать api для задания анимированных перемещений без физического движка?
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
10 июня 2015 10:49 #2717
Это здорово Думая о будущей организации сетевого протокола для мультиплеерной игры, понадобиться программировать сетевое сглаживание (что бы объекты двигались плавно). Наблюдая как работает физика в отдельном потоке, рискну предположить, что при рендеринге симуляции физики работает тот самый алгоритм, который пригодится для сглаживания перемещений.
Да, у нас действительно есть интерполяция полученных с физического потока значений. Интерполируем не всё, но почти всё.
Вопрос: верны ли мои предположения и возможно ли сделать api для задания анимированных перемещений без физического движка?
Что имеется в виду под анимированными перемещениями? Построение какой-то траектории на основе приходящих извне (в нашем случае - из физики) значений? Если так, то это несложно делать с помощью модуля transform. Но вообще, в мультиплеерных играх обычно симуляция крутится и на клиенте и на сервере, и вычисления просто сравниваются, если требуется отлавливать читеров.
Разработчик Blend4Web
11 июня 2015 09:27 #2725
Понял, тогда просто при помощи метода m_main.set_render_callback() запрограммирую свой алгоритм линейной интерполяции. А анимировать всё это буду через модуль transform.
Спасибо за ответ
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
20 марта 2016 01:36 #8364
Приветствую! Уже почти год прошел, хотелось бы узнать, что там с возможностью запуска под node js? Успеется до конференции?
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
25 марта 2016 10:44 #8503
Тоже очень хочу и жду этой фичи . Но, к сожалению, пока что не приоритетная задача .
Александр (команда Blend4Web)
07 мая 2016 00:14 #9329
Приветствую. Перед сном вот хочется высказаться…
Потихоньку пытаюсь завести b4w в node js.
Что уже получилось сделать:

Настроить и запустить цикл loop(), пришлось переписать функцию setup_clock()
Скормить json файл сцены, эмулируя нативную браузерную функцию XMLHttpRequest
Настроить бинарную отдачу для bin файла сцены и сконвертировать Buffer в ArrayBuffer

Теперь в процессе загрузки сцены появилось сообщение
        var w_texture = _gl.createTexture();
^

TypeError: Cannot read property 'createTexture' of null

Из модуля __textures.

С утра буду изучать сорцы дальше

Спасибо Вам за грамотно написанный код!

Пишу модуль не трогая исходники b4w, что бы сохранить совместимость с будущими версиями.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
10 мая 2016 07:51 #9378
Доброе утро , хочу спросить про uranium.js. Можно ли как нибудь получить не обфускационную версию uranium.js?
Уткнулся в метод
var Oc=F("fs")
который даёт ошибку Error: Module "fs" not found
Как я понял. Тут надо подсунуть uranium.js.mem где то.

Конечно меня это не остановит , но хотелось бы посмотреть на логику инициализации.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
11 мая 2016 16:44 #9428
Попробуйте убрать флаг "–closure 1" и отключить оптимизацию через флаг "-O0" в файле blend4web/uranium/build.sh. Вообще хорошо читабельный код получить нельзя, т.к. asm js получается в результате трансляции llvm кода, но эти опции позволят получить читабельный биндинг.
Александр (команда Blend4Web)
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.