Пинг и стрельба

Версия Minecraft
1.7.10

tox1cozZ

aka Agravaine
8,454
598
2,890
Пилю шутан и столкнулся с проблемой, что высокий пинг довольно сильно влияет на игру.
Например, у меня пинг 250, я выхожу из-за стены и начинаю сразу палить по игроку, но он меня еще не видит, то есть у него на экране я еще не вышел из-за стены.
Вот и получается проблема, что я уже всадил в него пару патронов, он получил урон и он вообще не видит какое-то время кто в него стреляет.
Я понимаю что вряд ли получится пофиксить это, но может есть идеи как хоть немного улучшить данную ситуацию?
 
что я уже всадил в него пару патронов, он получил урон и он вообще не видит какое-то время кто в него стреляет
У того, в кого ты стреляешь пинг 2000?

Или
как так получается, что цель тебя не видит, пакеты с движением игрока не успевают дойти, но пакеты с уроном по нему успевают?
 

tox1cozZ

aka Agravaine
8,454
598
2,890
Пакеты не успевают доходить, но у себя чел уже выбежал из-за угла, а у других нет.
И получается он раньше начинает зажимать. А если он чуток высунется, выстрелит и обратно зайдет за угол, то вообще у других людей будет ощущение что он и не выходил, но урон они получат.

У того, в кого ты стреляешь пинг 2000?
Наоборот у того кто стреляет. Ибо на клиенте у себя он выбежал, а пакеты о его перемещении дошли на сервер только через время его пинга. И получается что других он видит "моментально", а другие его увидят только через время пинга.
 
Последнее редактирование:
7,099
324
1,509
пакеты с движением игрока не успевают дойти, но пакеты с уроном по нему успевают?
Это же экшн. Пакет на сервер успели придти и засчитаться, но окружающим игрокам не успели отправиться.

Можно "исправить" тем, что исполнение выстрелов на сервере откладывать на время пропорциональное пингу. В этом случае будут страдать игроки с высоким пингом, а не с низким(по идее это лучше)
 
243
28
202
Может убрать ненужную нагрузку? Как вариант отключить бесполезные параметры DataWatcher (опыт, голод и прочее), синхронизировать чанки заранее, переписать систему отправки статичных сообщений (эта сериализации в монструозный json просто ужас). Эта лишняя нагрузка на сеть точно не нужна в шутерах.
 
7,099
324
1,509
Чтобы игроки с низким пингом не страдали можно сделать откладывание при пороговом пинге.
Т.е. если чел играет с нормальным пингом, то у него все хорошо, если у него просаживается пинг и превышает некоторый порог, то его выстрелы запаздывают. Если просаживается из-за читов - он думает "аргх, пофиксили", если из-за инета - "аргх, чертов провайдер".
Чтобы юзер пригорал именно на провайдера можно выводить текущий пинг где-нить в нижнем углу
 

tox1cozZ

aka Agravaine
8,454
598
2,890
7,099
324
1,509

tox1cozZ

aka Agravaine
8,454
598
2,890
В флансе и правда pzd, но где-то я видел фланс по модельке
Да в этом то и проблема. Стрельба то проходит точно как надо, но чем больше пинг у человека, тем он сильнее "читерит".
Допустим, у него пинг 500, а у другого игрока 100.
Инфа о его передвижении идет так: он -> сервер -> другой игрок. Время, через которое другой челик увидет его = 500 + 100 = 600мс, а это дохрена. Он успеет высунуться, пальнуть и зайти обратно за угол, а другой челик получит урон, сдохнет и скорее всего даже не увидит того вообще.
 
Сверху