Работаю программистом, не в геймдеве, но с играми пересекался. Часто вижу споры в комментах: «да я попал, игра сломана», «нет ты промазал». Хочу объяснить почему так происходит, потому что это не баг и не разрабы криворукие.
Начну с того что в игре нет пуль. Ну то есть визуально есть, летит себе, но для кода это просто картинка. Никакой физики у неё обычно нет. Стрельба в большинстве игр это не «пуля летит и во что-то врезается», а математика: проверили пересечение двух областей, нарисовали эффект попадания. Всё.

Лучи наглядно показывают как пуля выпущенная вами несколько секунд назад попадает в определённую точку на карте.
Теперь главное. У каждого объекта в игре есть невидимая форма, по которой считается попадание. Хитбокс. Она почти никогда не совпадает с тем что ты видишь на экране. Персонаж может быть красивым, с плащом, с рюкзаком, с торчащими антеннами — а хитбокс у него будет простой коробкой или капсулой. Потому что считать пересечение с красивой моделью это дорого, а с коробкой дешево и быстро.

Хитбоксы состоят из нескольких частей которые отслеживают попадание в определенную часть тела.
Отсюда первый источник споров. Ты стреляешь по плащу, плащ визуально есть, а хитбокса там нет. Пуля прошла мимо. Для игры ты промазал, для глаза попал.
Второе. Есть два способа проверять попадание, и они дают разный результат. Первый — когда игра считает что пуля мгновенная, и просто рисует линию от ствола до цели, потом смотрит что эта линия пересекла. Второй — когда пуля реально летит с какой-то скоростью и проверяется каждый кадр, где она сейчас. В первом случае ты никогда не промажешь по движущейся цели если прицел был на ней в момент выстрела. Во втором можешь промазать, потому что цель успела уйти пока пуля летела. Разные игры используют разное, и ощущения от стрельбы отличаются радикально.
Третье, самое частое. Сетевые игры. У тебя на экране одно, у сервера другое, у противника третье. Когда ты выстрелил, твой клиент отправил на сервер «я выстрелил вот сюда». Сервер смотрит на своё состояние мира, которое уже устарело на 30-80 миллисекунд, и решает попал ты или нет. Твой противник в этот момент на сервере уже отошёл за угол, хотя у тебя на экране ещё стоит. Ты попал по своей картинке, но для сервера промазал. Или наоборот. Это и называется пингом когда ты видишь одно из-за плохого соединения с сервером а противник уже совсем другое.
Разрабы это лечат разными костылями. Например откатывают состояние мира назад на момент выстрела, смотрят куда ты целился тогда. Или дают тебе приоритет — «доверяем клиенту, он сказал попал, значит попал». Из-за этого появляются случаи когда ты за углом, а тебя убивают. Это не читер, это твой клиент сказал серверу что попал, а сервер поверил.
Поэтому когда в следующий раз покажется что игра несправедлива, вспомни: ты видишь картинку, игра видит набор коробок и устаревшие координаты. Иногда эти две вещи не сходятся. Это не обязательно баг, это цена того что игра работает в реальном времени и по сети.
Спасибо за прочтение, надеюсь было интересно и вам все понравилось и наконец-то будет меньше бомбить на игру.

Всем привет! Сегодня я расскажу почему меня так долго не было:)
Короче, у вас наверное тоже такое есть, я гулял с друзьями долго...
Так вот, когда я хотел зайти в пикуко, я забыл пароль👍 Я так испугался что аж слёзы чуть пошли😅😅 Потому что это такое чувство то что ты делал много тестов копил долго рейтинг потом батс! И всё пропало(( Вы понели теперь:(
Потом я хотел зайти в свой акк через емаил, но не получилось, потом я решил поменять пароль через телефон, и потом начились глюки, когда я нажимал изменить пароль, точнее его написать надо было меня просто выбрасывало оттудова( Я потом старался старался... И потом получилось! Я щас объясню вам как это сделать если вас тоже выбрасывает с сайта, делайте как я говорю.
Когда вы нажимаете с низу слово "Забыли пароль?" Потом вам приходит сообщение о вашем профиле и там будет сылка на сайт где можно поменять пароль, когда вы нажимаете изменить пароль вас выбрасывает из сайта, вот что вы делаете
Вы нажимаете на слово и нажимаете слово "Скопировать" Потом держите пустое место и нажимаете на слово"Вставить" Потом делаете тоже самое с потверждением пароля, вы нажимаете на пустое место нажимаете вставить 2 раза! Потом нажимаете изменить пароль и всё будет окей!
Потом заходите в вход в пикуко, пишите свой ник и в пароле нажимаете слово "Вставить" 2 раза и всё! Вы зайдёте в свой аккаунт!!!
Если тебе понравился пост то поставь👍👍👍
Но с вами был я! И всем пока пока✌✌✌
Было ли полезен пост для вас?8