25 ноября 2018 25.11.18 20 14K

Пули в видеоиграх: принцип работы и различные механики

+45

"Как правильно стрелять?" — вопрос, нередко задаваемый геймерами, а "как оно вообще стреляется и как это всё происходит?" — вопрос иного характера. Действительно ли производятся в игре какие-то физические расчёты, между тем, как пуля достигает точку Б из точки А? Правда ли, что это просто статическая линия, моментально достигающая своей точки назначения или она существует в игровом пространстве как объект со своей скоростью и траекторией? Лично я считаю эту тему довольно интересной и именно поэтому мы с вами об этом и поговорим. Приветствую всех Стопгеймогородцев и гостей сайта SG!


Поехали!

 

Наш немногочисленный коллектив, в том числе и я, действительно, неплохо так схалтурили, взяв под чистую копирку материал с сети, что обоснованно вызвало волну негодования у всех, кто забрёл на ту статью. Приносим свои искренние извинения за такую, мягко говоря, лютую халтурщину. Ребят, действительно очень надеемся на ваше понимание, мы виноваты. Да простит нас Stopgame, такого не повторится.

Многих из нас сильно тянет к видеоиграм, а особенно к шутерам, поскольку разработчик позволяет нам пережить те ситуации, в которых мы вряд ли могли бы оказаться в реальности, например, побывать в шкуре гонщика формулы или военного, но об этом, возможно, в одном из следующих блогов. Боевые действия в реальности, к слову, очень сильно отличаются от игровой действительности. Как например, боевые действия могут проходить днями, неделями, а то и месяцами, без единого выстрела, но нам ведь нужен экшОн, правда? Поэтому разработчики и предоставляют нам симуляции таких обстановок, в которых игроку нужно чуть ли не каждую секунду держать ухо востро и отстреливаться от врагов.

Технология «бросания луча» (Ray Casting) или Hitscan

Если сравнить старые игры, примерно 10-ти летней давности и новые, то можно не особо раздумывая догадаться, что механика работы пуль и снарядов значительно поменялась за более чем два десятка лет, однако есть новые игры, использующие старую, примитивную и более привычную для огромного количества игроков технологию полёта пуль. Так давайте же её рассмотрим! Для этого, мы обратимся к первой КС. Все же точно знают о таких играх как Doom и Quake. А знали ли вы, что всемирно известный Counter-Strike когда-то был лишь фанатской модификацией для Quake? Так вот, там использовалась аналогичная механика полёта пули, да и в целом физика. Поменялось с того времени всё, включая и игровую физику и вышеупомянутый полёт пули, но эта технология была лишь немного доработана, но основа осталась той же, что и в первой версии Counter-Strike.

Впервые, в 3D-шутерах, она представляла из себя невидимый «луч», моментально долетающий до точки назначения. Был лишь один критерий: попал ты или нет. Именно это и называется Hitscan(хитскан), который использовался почти во всех старых шутерах, но и новые игры — не исключение. То есть моделируется линия, которая может иметь неограниченную длину, но если эта «линия» столкнётся с каим-либо объектом (даже тем же коллайдером (в простонародье — это невидимое препятствие, обозначающее границы карты) ), то сигнал сразу пойдёт обратно и мы увидим то самое пулевое отверстие в стене или на каком-либо объекте, каковым может оказаться и чья-то голова (главное, чтобы она не принадлежала нашему союзнику). Именно так эта система и работает в старых и некоторых новых шутерах от 1-го и 3-го лица. У хитскана есть некоторые условности, как например — вы не можете увернуться от летающей в вас пули, так как она по-сути не имеет скорости и места в пространстве, соответственно, она моментально долетает до вас. Даже условия окружения никак не влияют на происходящее, например, ветер или вода, проходя сквозь которую, пуля не меняет свою траекторию и скорость.

Прожектайл и немного о разбросе

Также есть такая интересная вещь, как прожектайл(за исправление отдельное спасибо IrvinDness). Это симуляция полёта снаряда, который летит с конечной скоростью. Чаще всего используется при стрельбе из лука, использовании метательного оружия, ну или танковых снарядов. Также есть ложный прожектайл, которая представляет из себя всё тот же хитскан, просто после полного просчёта «луча», в игре отображается летящий по этой траектории спрайт или трейсер пули, как например, в тысячный раз упомянутой CS:GO.
Период в играх, когда ты можешь просто стрелять в одну точку без разброса закончился ещё во времена того же Doom. Разброс — немаловажная составляющая стрельбы (как прицельной, так и от бедра). Сам по себе разброс представляет из себя свойство оружия группировать точки падения снарядов на некоторой ограниченной площади. В игре разброс ограничивается заданными в параметрах движка числовыми значениями, которые и определяют область случайного попадания пули. Сам разброс зависит ещё зачастую от положения игрока( например, стоит он или сидит), от скорости его передвижения и временного интервала между выстрелами.

Пуля/снаряд, как полноценный физический объект

Разработчики стали использовать фактические снаряды, существующие в виртуальном 3D пространстве как объект. С такой технологией появились и новые аспекты, от которых зависит траектория пули, которой, к слову, не было в технологии со статичным «лучом». Прекрасный пример этой технологии нам проявляет серия игр Flashpoint. Давайте возьмём в пример часть Dragon Rising(Дрэгон Райзинг). В ней мы могли отчётливо наблюдать баллистику пули благодаря трассировочным снарядам (пулям с подсветкой). По Википедии, Баллистика пули — это её движение после прекращения действия на нее пороховых газов. Вылетев из канала ствола под действием пороховых газов, пуля движется по инерции. То есть, если выстрелить с марксманской винтовки под углом 45 градусов, то пуля пролетит дугообразную линию, так как ускорение перейдёт в замедление. В общем-то, теперь на пулю могут влиять многие факторы, что и в реальной жизни. И да, чуть не забыл сказать самом главном, пока снаряд находится в пространстве и летит в определённую точку, происходят вычисления, позволяющие определить то, столкнулся ли объект с целью или же нет. Если нет, то движение продолжалось, впоследствии и вычисление тоже. Не обязательно это должна быть пуля, в пример можно привести и знаменитый World of Tanks, где нельзя было бы обойтись без такой технологии, где снаряд являлся бы объектом. Для реалистичности происходящего просто необходима симуляция баллистики танковых снарядов. А теперь представьте, как бы топорно это выглядело бы с технологией «лучей». Возможно, мы находимся уже недалеко от того момента, когда появятся новые способы симуляций выстрелов с новыми параметрами, которые помогут обеспечить играм должный реализм, однако это дело вкуса, так как технология «лучей», к примеру, делает игру более аркадной и динамичной, так что несмотря на древность такой технологии, она будет жить ещё долгие-долгие годы. Примером того, что «лучи» имеют место быть и по сей день — все части Call of Duty, вышеупомянутый CS:GO, Quake Champions(так как мало чем отличается от первых частей, кроме графики), 7 Days to Die и прочее-прочее-прочее.

Механика пуль в Fallout 3, NV, 4

С Fallout, кстати говоря, складывается довольно интересная ситуация. В игре, на одном и том же огнестрельном оружии, пуля может присутствовать в качестве объекта, а может присутствовать в качестве луча. Но вот вопрос: «как это понимать? Разве так возможно?». Да, такое очень даже возможно, но с некоторыми условностями. Все же, кто играл в 3 часть и последующие, кроме 76, помнят режим V.A.T.S.? Для тех кто не знает, расскажу. V.A.T.S. (англ. Vault-Tec Assisted Targeting System) — система пошагового прицеливания в Fallout 3, Fallout: New Vegas, Fallout 4 и 76, служащая дополнением к основной боевой системе. «Система автоматизированного наведения Волт-Тек», или V.A.T.S., позволяет вам во время боя приостановить игру, оценить тактическую ситуацию в бою и прицелиться по определённым частям тела видимых противников(определение взято с сайта wikia.com). Так вот, при стрельбе в этом режиме есть некая вероятность критического урона (в 4 части крит наносится не рандомно, а используется посредством заполнения специально отведённой для этого шкалы), при нанесении которого проигрывается сцена со сфокусированной на снаряде (будь то пуля, ракета или что ещё) камерой, из чего следует, что снаряд существует как объект в таком случае, НО механика у него абсолютно такая же как и у «луча», то есть он просто долетает из точки А в точку Б по прямой линии, а «серой зоны», как таковой, нет, ибо эта сцена проигрывается при полной остановке времени и ничто, кроме вероятности попадания в цель не помешает снаряду достигнуть точку Б.

Баллистика в Worms 3D

Отличнейшим примером баллистики является игра Worms 3D, выпущенная d 2003 году, студией Team17. В ней на полёт снарядов влияла их скорость, сила заряда и направление, относительно ветра. Да, ветер есть во всех частях, но в трёхмерном пространстве это реализовано получше. Только вот, опять же, пули в том же Uzi имели механику «луча», но в остальном, на оружие большее влияние оказывал ветер. Гранаты, вроде бы, не зависели от направления ветра, а «святая граната»(в оригинале «holy grenade»), меня так забавляла этим «аллилуйя» перед взрывом, что я использовал её при первой возможности.

А что насчёт Wolfenstein?

Вольфенштайн, в самых своих первых частях, имел ну ооочень примитивнейшую систему стрельбы. Сама по себе, эта игра была нечтом средним между 2D и 3D проектом, то есть, стены, пол и прочие статические объекты представляли с собой трёхмерную перспективу с текстурой, а враги были лишь 2д спрайтами, но сейчас не об этом. Выстрелы там производились так, что если противник находится в определённой зоне экрана, а именно по центру, то тогда игроку обеспечивалась гарантия того, что враг будет повержен или хотя бы напичкан свинцом. Тогда до просчётов как в технологии Hitscan'а было далековато, но никто особо и не возражал.

Заключение
Вот и подошла статья к концу. Всем большое спасибо за внимание. Не могу обойти стороной тему о прошлом посте про хакеров (да, в начале я спрятал под спойлер речь на эту тему, но… не важно). Не знаю, как ребята из команды AR относятся к этому порталу, но за почти 4 месяца пребывания тут, я понял, что я полюбил это коммьюнити, несмотря на то что я наполучал уже достаточно замечаний в свой адрес, но точно не хейта. Спасибо вам за понимание, я надеюсь, что мы все откинем ту ситуацию и AR будет дальше делать статьи на SG. Ещё раз спасибо.

Всем удачных каток, до скорого!


Call of Duty

Платформы
PC | Mac | PS3 | X360 | N-Gage | J2ME
Жанр
Дата выхода
29 октября 2003
2.9K
4.2
2 025 оценок
Моя оценка

Fallout: A Post Nuclear Role Playing Game

Платформы
PC | Mac | Linux | OnLive
Жанр
Дата выхода
30 сентября 1997
1.9K
4.4
1 281 оценка
Моя оценка

Quake

Платформы
PC | Mac | Linux | PS4 | PS5 | XONE | XBOXSX | N64 | NSW | Amiga | SAT | WM
Жанр
Дата выхода
22 июня 1996
1K
4.3
618 оценок
Моя оценка

Worms 3D

Платформы
PC | Mac | PS2 | XBOX | X360 | GC
Жанры
Дата выхода
31 октября 2003
455
3.7
326 оценок
Моя оценка

Sniper Elite

Платформы
PC | Mac | PS2 | XBOX | X360 | WII
Жанр
Дата выхода
29 сентября 2005
385
3.8
227 оценок
Моя оценка

Doom

Платформы
PC | Mac | Linux | PS | PS3 | PS4 | PS5 | XBOX | X360 | XONE | XBOXSX | GBA | SNES | NSW | iOS | Android | Stadia | JAG | S32X | SAT | 3DO | WM
Жанр
Дата выхода
10 декабря 1993
2.3K
4.5
1 579 оценок
Моя оценка

Operation Flashpoint: Dragon Rising

Платформы
PC | PS3 | X360
Жанр
Дата выхода
6 октября 2009
215
3.4
109 оценок
Моя оценка

World of Tanks

Платформы
PC | Mac | PS4 | PS5 | X360 | XONE | XBOXSX | NSW | iOS | Android | WinPhone
Жанры
Дата выхода
12 августа 2010
2.4K
3.4
1 928 оценок
Моя оценка

Counter-Strike: Global Offensive

Платформы
PC | Mac | Linux | PS3 | X360 | XONE | XBOXSX
Жанры
Дата выхода
21 августа 2012
2.5K
3.5
2 079 оценок
Моя оценка

7 Days To Die

Платформы
PC | Mac | Linux | PS4 | PS5 | XONE | XBOXSX
Жанры
Дата выхода
13 ноября 2013
500
3.5
354 оценки
Моя оценка

Quake Champions

Платформа
PC
Жанры
Дата выхода
23 августа 2017
341
3.7
228 оценок
Моя оценка

Лучшие комментарии

Navy Seals — мод для Quake, который далее был доведен до состояния полноценной независимой игры, которой и стала Counter-Strike. Исправьте, если не прав, но я, по-крайней мере припоминаю, что было всё именно так. Действительно не исключаю, что мог бы ошибаться
Возможно, я где-то не уточнил такой аспект, но я и имел ввиду, что игру он не переделывал, а улучшал. Про HL и CS я то знаю, но некоторые (в том числе и я) считают началом зарождения CS именно Navy Seals. Так что тут мнения могут расходиться, но спорить тут смысла, наверное, никакого нет. На этой ноте, наверное и закончим. Всего наилучшего)
Пули свистят повсюду, Джонни, нам нужно уКрытие!
Не слышал раньше про Navy Seals, поэтому просто перескажу то, что нашёл в интернете: у этих модов (Navy Seals и Counter-Strike) один создатель — Мин Ли, в 1997 году он сделал Navy Seals для Quake engine, через год — Action Quake 2 (вероятно, для обновлённого Quake engine), а ещё через год — Counter-Strike для Half-Life, которая была сделана на движке GoldSrc, в основу которого лёг всё тот же Quake engine. Все три мода во многом походили друг на друга, Мин Ли не переделывал их кардинальным образом, а последовательно улучшал.
А знали ли вы, что всемирно известный Counter-Strike когда-то был лишь фанатской модификацией для Quake?

Ни, мы знали, что «Контр-страйк» был фанатской модификацией «Халф-Лайфа».
Смертник89 прав, почти тоже самое. Есть множество других интересных тем, которые мы уже рассматриваем. Сейчас пишу тему (конкретно какую, не могу сказать), использую тематическую литературу, чтобы не ошибиться в содержании и довести больше деталей. Спасибо за отзыв)
Ух, спасибо за отзыв!
Я сам вошёл в заблуждение, когда столкнулся с этим словом и искал ему синоним, но информацию нашёл только такую. Будем совершенствоваться, делать статьи покрупнее, содержательнее и с минимумом ошибок. Добра :)
У нас в команде за COD следит только наш стример, наверняка он об этом знал. Я же на постоянной основе играю только в BO2 zombie и mp. Дальше для меня «чувство долга» умерло, но это сугубо моё мнение, так что я не слежу за последними частями, но наличие баллистики и хитскана проверил, вроде, на Advanced Warfare. Спасибо за отзыв)

Интересная инфа, спасибо)
Так, Расман лучший, Расман. Стулли — это
И все-таки думаю лучше поменять на мод для HL. Смена движка это как раз переделывание игры. Или ты и твои друзья также считают, что HL это мод для Q1?
Слишком глубоко капнул и это вызывает когнитивный диссонанс, но факт интересный, не знал про Navy Seals. =)
Марксманскую винтовку, кстати, можно ещё ДМРом назвать, потому как благодаря колде она стала более привычная современному русскому играющему человеку, в отличие от марксмана и марксманской винтовки. DMR же у нас редко, но переводят. Взять тот же Новый Вегас, где есть подобие всех пушек данного формата (подобно многим другим вариантам оружия), то есть собирательный образ их все. В оригинале она называется «Marksman Carbine», в локализации же — карабин стрелка. У нас просто нет аналогичного наименования вооруженных сил.
А блог про стрелы и арбалетные болты будет? Тоже было бы интересно почитать.
Очень любопытно было почитать вашу статью. Для меня это в какой-то степени и полезно, потому что я учусь на физико-математическом профиле, и это непревзойденное удовольствие, когда два твоих любимых занятий пересекаются. Хочу заметить, что в статье представлена неплохая теоретическая основа (например, что пуля летит под углом к горизонту), за что определено плюс :)
Какой-то крохотный пост. Вроде всё есть, а вроде и тебе теорему Пифагора рассказали, когда ты знаешь штук 10 разных доказательств.
Хорошая статья, мне понравилось.
Но, во-первых, я бы ещё упомянул такую штуку, как симуляция прожектайлов. Это когда прожектайл есть, он долетает в реальном времени, но урон не наносит, потому что за всем на самом деле стоит хитскан, и пулька либо попадает через строго заданный промежуток времени, который зависит от расстояния между центром модели ГГ (не дула оружия) и хитбоксом противника, либо вообще мгновенно, что на больших расстояниях вызывает странное впечатление, будто сначала из противника пошла кровь, а потом только долетел местный трассер. Такие штуки очень характерны для игр, где стрельба ведётся не из оружия, а из непосредственно центра экрана, как в Tomb Raider 2013.

А во-вторых,
прожектиль

Про(д)жектайл же, не?
Примером того, что «лучи» имеют место быть и по сей день — все части Call of Duty

В BO4 появилась симуляция баллистики.
Предлагаю к ознаКомлению!
А чем они отличаются от Пуля/снаряд, как полноценный физический объект?
Вполне подробно описано. =)
Читай также