Перейти к содержимому


Учёт попаданий при потерях пакетов

пинг потеря пакетов

  • Пожалуйста, авторизируйтесь для того, чтобы ответить
Сообщений в теме: 7

With_light_steps #1 Отправлено 14 Декабрь 2017 - 8:47

    Продвинутый пользователь

  • Игроки
  • 404
  • Регистрация:
    19.05.2016

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

 

Ситуация в целом: произведён выстрел, клиентская часть на ПК игрока в курсе, далее идёт передача информации на сервер и вычет пунктов здоровья у противника.

 

Варианты проблем

1) Высокий пинг. Задержка передачи информации это лишь разрыв во времени, а не потеря, значит, однажды всё-таки будет доставлена. Но как поступит сервер, если выстрел был в голову, но пока шла информация от якобы трупа прилетела ответная пуля в голову?

2) Потеря пакетов. Будет ли клиентская часть настаивать, чтобы информация о попадании в противника была учтена? Или потеря пакета об одиночном выстреле равна отсутствию того выстрела?

 

Возможно существует не один метод. Какие они?



U_NiX #2 Отправлено 14 Декабрь 2017 - 9:25

    Продвинутый пользователь

  • Игроки
  • 89
  • Регистрация:
    15.07.2016

Просмотр сообщенияWith_light_steps (14 Декабрь 2017 - 8:47 ) писал:

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

 

Ситуация в целом: произведён выстрел, клиентская часть на ПК игрока в курсе, далее идёт передача информации на сервер и вычет пунктов здоровья у противника.

 

Варианты проблем

1) Высокий пинг. Задержка передачи информации это лишь разрыв во времени, а не потеря, значит, однажды всё-таки будет доставлена. Но как поступит сервер, если выстрел был в голову, но пока шла информация от якобы трупа прилетела ответная пуля в голову?

2) Потеря пакетов. Будет ли клиентская часть настаивать, чтобы информация о попадании в противника была учтена? Или потеря пакета об одиночном выстреле равна отсутствию того выстрела?

 

Возможно существует не один метод. Какие они?

 

Так ведь расчеты на сервере будут происходить,т.е. ни пинг,ни потеря пакетов не будет влиять на решение сервера.Об этом говорилось в первых дневниках разработчиков

Сообщение отредактировал U_NiX: 14 Декабрь 2017 - 9:25

       Игровое и форумное сообщество "Dark Lords"

                   

                                                                                          

 


Radonegsky #3 Отправлено 14 Декабрь 2017 - 11:06

    Продвинутый пользователь

  • Альфа-тестеры
  • 1 226
  • Регистрация:
    26.06.2011
Недавно читал довольно интересную статью на похожую тему. В целом - да, оба варианта возможны, если участников передачи всего два. Сейчас имеется вариант типа "блокчейна", когда информацию о своем выстреле передаешь не только ты, но и окружающие... метод "свидетеля". Правда тут проблема будет в том, что игроков в бою мало, что повышает риск, что либо свидетель будет купленный, либо его просто не окажется на месте. И если с первым особо ничего не сделать (как  в + так и в -), то вот второе может диктовать некоторые правила по части организации карт и обмена информацией между игроками... (возможно примесь P2P?) 

Сообщение отредактировал Radonegsky: 14 Декабрь 2017 - 11:37

Бога ради, ПЕРЕСТАНЬТЕ. ЦИТИРОВАТЬ. ПОСТЫ. ЦЕЛИКОМ!


With_light_steps #4 Отправлено 14 Декабрь 2017 - 12:43

    Продвинутый пользователь

  • Игроки
  • 404
  • Регистрация:
    19.05.2016

Просмотр сообщенияU_NiX (14 Декабрь 2017 - 9:25 ) писал:

 

Так ведь расчеты на сервере будут происходить...

Чтобы что-то считать, сначала нужно получить переменные (числа).

Твой ПК знает что ты совершил выстрел. Сервер не телепат. Твой ПК сообщает серверу о совершённом выстреле. Произошла потеря пакета с информацией о выстреле. Будет ли твой ПК настаивать? Вот вопрос.

А расчеты на сервере из другой темы. Из цепочки "твой ПК - сервер - его ПК" здесь речь только о первых двух "твой ПК - сервер". Ты же про "сервер - его ПК", то есть не допускать чтобы его ПК отказывался верить в информацию сервера о смерти (чит на бессмертие).



gooddmru #5 Отправлено 14 Декабрь 2017 - 15:29

    Продвинутый пользователь

  • Альфа-тестеры
  • 653
  • Регистрация:
    18.02.2017

Просмотр сообщенияWith_light_steps (14 Декабрь 2017 - 8:47 ) писал:

Spoiler

 

Если бы было решение данных проблем пинга в играх не было бы вовсе. 



With_light_steps #6 Отправлено 14 Декабрь 2017 - 15:40

    Продвинутый пользователь

  • Игроки
  • 404
  • Регистрация:
    19.05.2016

Просмотр сообщенияgooddmru (14 Декабрь 2017 - 15:29 ) писал:

Если бы было решение...

Вроде как, в CS Source игроков раздражала гибель, когда они уже ушли в укрытие. Объяснялась ситуация тем, что сервер восстанавливал историческую справедливость событий: игрок должен был погибнуть ещё стоя вне укрытия, но информация об этом поступила позже.



Otto_fon_Gamer #7 Отправлено 14 Декабрь 2017 - 15:53

    Продвинутый пользователь

  • Альфа-тестеры
  • 2 363
  • Регистрация:
    06.01.2011

Просмотр сообщенияWith_light_steps (14 Декабрь 2017 - 15:40 ) писал:

Вроде как, в CS Source игроков раздражала гибель, когда они уже ушли в укрытие. Объяснялась ситуация тем, что сервер восстанавливал историческую справедливость событий: игрок должен был погибнуть ещё стоя вне укрытия, но информация об этом поступила позже.

Такое и сейчас происходит иногда и не только в указанной серии.



With_light_steps #8 Отправлено 15 Декабрь 2017 - 9:56

    Продвинутый пользователь

  • Игроки
  • 404
  • Регистрация:
    19.05.2016
Судя по ответам, вопрос следует переадресовать к разработчику. (Перенос темы или и так, здесь, ответят?)




Количество пользователей, просматривающих этот форум: 1

0 пользователей, 0 гостей, 0 анонимных