"Как правильно стрелять?" — вопрос, нередко задаваемый геймерами, а "как оно вообще стреляется и как это всё происходит?" — вопрос иного характера. Действительно ли производятся в игре какие-то физические расчёты, между тем, как пуля достигает точку Б из точки А? Правда ли, что это просто статическая линия, моментально достигающая своей точки назначения или она существует в игровом пространстве как объект со своей скоростью и траекторией? Лично я считаю эту тему довольно интересной и именно поэтому мы с вами об этом и поговорим. Приветствую всех Стопгеймогородцев и гостей сайта 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. Ещё раз спасибо.
Лучшие комментарии
Ни, мы знали, что «Контр-страйк» был фанатской модификацией «Халф-Лайфа».
Я сам вошёл в заблуждение, когда столкнулся с этим словом и искал ему синоним, но информацию нашёл только такую. Будем совершенствоваться, делать статьи покрупнее, содержательнее и с минимумом ошибок. Добра :)
Слишком глубоко капнул и это вызывает когнитивный диссонанс, но факт интересный, не знал про Navy Seals. =)
Но, во-первых, я бы ещё упомянул такую штуку, как симуляция прожектайлов. Это когда прожектайл есть, он долетает в реальном времени, но урон не наносит, потому что за всем на самом деле стоит хитскан, и пулька либо попадает через строго заданный промежуток времени, который зависит от расстояния между центром модели ГГ (не дула оружия) и хитбоксом противника, либо вообще мгновенно, что на больших расстояниях вызывает странное впечатление, будто сначала из противника пошла кровь, а потом только долетел местный трассер. Такие штуки очень характерны для игр, где стрельба ведётся не из оружия, а из непосредственно центра экрана, как в Tomb Raider 2013.
А во-вторых,
Про(д)жектайл же, не?
В BO4 появилась симуляция баллистики.
Вполне подробно описано. =)