This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Регистрация урона на C#

mippoosedev

Гуру
BackEnd developer
2 Мар 2021
292
127
100
Ничего страшного в этом нет o_0 Самый бомжатский хост способен обрабатывать +- 150к простейших евентов в секунду, в районе 120к евентов с десериализацией жсона(бенчи снизу). Но вот реакция да, она чуток пропадает. Есть вариант давать гм локально на небольшое время(урон якобы проходит, но в гм, соответственно реакция есть) - но там тоже есть небольшие проблемки. А с просчетом на клиенте - есть огромная проблема, кости в рейдже сломаны(кость в аутгоинге != кость в инкаминге, но это пол беды, стреляя человеку в обратную сторону правого локтя и в голову вы получите одну и ту же кость, а вот это уже полный кринж)


Легенда:
Full и hash - супер загруженные евенты загруженные говнокодом для бенчей(код снизу), принимали примерно 30-40 таких евентов в секунду, далее хост не выдерживал
Json - евент с десереализацией
Vector3 - простейший евент

 

frytech

Участник портала
15 Янв 2022
128
13
53
Ну я же скинул ссылку на тему, где показал, как фиксить неправильные кости
Все нормально с этим способом работает, проверено кучу раз

 
Последнее редактирование:

frytech

Участник портала
15 Янв 2022
128
13
53
Да понятно, что все выдержит и не ляжет, речь то не об этом. Речь о лишних операциях. Прочитай, что попросил чел в теме, он попросил сказать, как сделать так, чтобы каждому оружию можно было прописать конкретный урон.

Обработка урона сервером может быть оправдана только в случаях, когда система не настолько простая, а есть прочие (серверные) баффы/дебаффы, которые влияют на этот урон.
Ну и, соответственно, жертва об этих баффах ничего не знает, только сервер. В таком случае да, придется просчитывать урон на сервере. В противном случае - достаточно моего метода, который себя хорошо показывает (например, урон тупо по кости и дистанции с коэфом, здесь справится и сама жертва с рассчетом урона.
Просто я придерживаюсь принципа, что в лишний раз сервер трогать не стоит (когда спокойно можно обойтись без него).
 
Последнее редактирование:

mippoosedev

Гуру
BackEnd developer
2 Мар 2021
292
127
100
Я видел этот способ, к сожалению всё ещё не кости отображаются неверно) А вот 1 урон нужно наносить как раз для отображения крови и подёргивания(наскольк я помню, давно не залазил в урон свой)

я бы не сказал, что это лишние операции, но каждому своё. В моём случае прощет урона идёт на сервере с двойной проверкой(исходящий евент отправляет замок, входящий отправляет ключ для этого замка, только после этого наносится урон) + идёт сбор статистики о попаданиях и тп(никаких бафов и прочего пока что нет, мб когда нибудь будут, но не видел таких планов). В любом случае, каждому своё, и мне через сервер гораздо удобнее, выстрел это не евент в рендере, как не крути ^_^


UPD::я кажется допёр. ты ставишь кость в урон евента, и тогда кость одинаковая у обоих игроков, а это неплохо, я видимо не про то подумал изначально, +реп
 

frytech

Участник портала
15 Янв 2022
128
13
53
Ну я ж ведь и не говорю, что через сервер обрабатывать - бредятина, если того требует задача, то безусловно можно, но вот лично я в данном случае доверяю клиенту - получателю урона и ничего плохого и опасного для других игроков сервера не вижу.

Да, вместо дамага передается кость, в этом и прикол, дамаг нас не интересует, а вот кость - да, поэтому все нормально пашет с этим способом
 

Mr.Scalise

Специалист
7 Окт 2021
447
88
90
@frytech дай свой дискорд или напиши плз мне: Mr.Scalise#7378. Кое что уточнить
 

Mr.Scalise

Специалист
7 Окт 2021
447
88
90
Ответил тебе