| Скорость передачи пакетов WebSocket.(ну или как убрать лаги) | 
|  | 
| 
| last2424 | Дата: Четверг, 07 Января 2016, 01:14 | Сообщение # 1 |  |   30 мл. блоков Сейчас нет на сайте | Есть вопросы, я надеюсь тут есть знающие люди.   Решил поюзать WebSocketэы на Node.JS(ими в принципе доволен, легко работать с ними).
 Написал простейший платфомер со скроллингом, перемещением, гравитацией, прыжками и всем остальным.
 Присобачил всё это дело к серверу, передача координат, айди плеера, который обнуляется при выходе(хотя я полностью его не доделал).
 Поставили у друга на сервере, подключился, двигается то двигается, но блин тормоза серьёзные(конечно менее серьёзные чем у AJAX'а, но всё же меня это напрягает).
 Хост хороший проблема не в нём это могу гарантировать сразу, ведь мы спокойно играем по локалке через интернет, практически без тормозов в разные игры.
 
 Можно ли что-нибудь сделать с этими тормозами и как-нибудь их уменьшить до минимума для комфорта.
 
 В качестве WebSocket модуля для Node.JS использую nodejs-websocket.
 
 Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.
 (нет) |  |  |  |  | 
| 
| Kwant | Дата: Четверг, 07 Января 2016, 01:44 | Сообщение # 2 |  |   почетный гость Сейчас нет на сайте | Для этого используют "Предсказания". Это когда обсчитывают игровой мир в соответствии с окружением клиента, а когда приходят данные от сервера - синхронизируется всё.
 
 Программирование сетевых игр - далеко не самая простая штука, как может казаться, и это занятие имеет богатую теорию.
 
 Устранение эффекта запаздывания с помощью кубических сплайнов.
 |  |  |  |  | 
| 
| Vinchensoo | Дата: Четверг, 07 Января 2016, 07:21 | Сообщение # 3 |  |   Злобный социопат с комплексом Бога Сейчас нет на сайте | С вебсокетами есть еще 1 фишка. Если браузер их не поддерживает или они запрещены в настройах, библиотека будет эмулировать работу websocket через long-polling http соединения. А это- медленно, на такой игре как раз будет заметно. 
 Начните с настроек браузера, а дальше делайте интерполяцию.
 
 ЗЫ. Написанное выше актуально для socket.io, но у вас, похоже, какая-то другая библиотека.
 Попробуйте сокет.ио. Это, де-факто, стандарт в отрасли.
 
 
   |  |  |  |  | 
| 
| last2424 | Дата: Четверг, 07 Января 2016, 14:59 | Сообщение # 4 |  |   30 мл. блоков Сейчас нет на сайте | Kwant, Vinchensoo, большое спасибо за способы, попробую поработать с обоими )   
 Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.
 (нет) |  |  |  |  |