Jedi_Knight
И как часто идёт пересылка? Ты пушишь в сокеты информацию сразу по поступлению или обновляешь её для каждого игрока через определённое время по типу аякса? Просто я сейчас разбираюсь с вебсокетами и это мне всё в новинку.
А для клиента фреймворк используется типа скирры или всё ручками?
После каждого update'а на сервере (а он 10 раз в секунду) клиентам рассылается DIFF того что они видят. Всё ручками :)
Jedi_Knight
> персонаж обсчитывается ТОЛЬКО на сервере, и туда уходят
> клавиши игрока.
Типо идеальная защита от читов=).
Новое оформление понравилось.
На chrome сегодня не реальные лаги=(.
Но на safari всё летает.
А как уходят клавиши игрока? При каждом нажатии или 10 раз в секунду по таймеру? А если игрок быстро нажмёт и отпустит? )
На chrome сегодня не реальные лаги=(.
Но на safari всё летает.
Это очень странно. Возможно какие-нибудь левые экстеншны в хроме.
А как уходят клавиши игрока? При каждом нажатии или 10 раз в секунду по таймеру? А если игрок быстро нажмёт и отпустит? )
Клавиши уходят сразу, но сервер их учитывает в ближайшем тике. Если игрок быстро нажмёт то скорее всего движение произойдет, попробуй нажать кнопку меньше чем на 100мс :)
Jedi_Knight
> Это очень странно. Возможно какие-нибудь левые экстеншны в хроме.
Да кто его знает.
Chrome вообще в последнее время странным стал.
Скоро он IE догонит =).
Не знаю, у меня в хроме всё нормально.
Jedi_Knight
А как сглаживаешь перемещения?
Тупо скорость равна смещению, делённому на время прошедшее от предыдущего апдейта?
Так не будет накапливаться погрешность, если клиент не будет успевать смещать объекты на указанную величину (например, при низком FPS)?
Тупо скорость равна смещению, делённому на время прошедшее от предыдущего апдейта?
Так не будет накапливаться погрешность, если клиент не будет успевать смещать объекты на указанную величину (например, при низком FPS)?
Да, тупо. Пусть X1 - это то где объект на текущем тике, X0 то где он был на предыдущем тике, а alpha - это какая часть времени прошла от апдейта, 0<=alpha<=1, при alpha=1 ожидается следующий апдейт.
Тогда объект рисуется в точке (X1-X0)*alpha+X0
Понятно что если произойдет некий лаг, и апдейт придёт позже чем планировали, то анимация дёрнется. Для исправления этой оплошности апдейты накапливаются и применяются в таймере, который отрабатывает 20 раз в секунду, и старается применять апдейт либо если прошлый был 100мс назад, либо если их накопилось несколько.
Из-за этого на клиенте может быть доп. задержка величиной до 100мс.
а у меня сотовый интернет начал вырубаться после того как я начал играть в эту игру
а так игра классная, но подтверждаю неудобство управления изза задержек (опера 11 62)
заметил что скорость отдачи у меня 6 кбит в сек а прием 22кбита в секунду, но через минуту программа usb модема зависает(если играть)
Сервер переживает хабраэффект!
http://habrahabr.ru/post/143699/
Браузер хорошо. но клиент лучше.
Если политика не запрещает клиент, то есть желание присоединиться в качестве разработчик клиента. Будет шикарно если сделать как минимум уровень атомик бомбермен.
Несомненно под мобилы нужен клиент. На PC не уверен что надо :)
Jedi_Knight
> На PC не уверен что надо :)
Было бы хорошо. Браузер не катит сейчас.
Так там узкое место в сетке а не в браузере.
во игра детства Eric

Браузер это так для ознакомления, а если уж нормально играть то это только клиент.
Тема в архиве.