Где нормальная физика в играх?

Почему в последние 10 лет физика в играх скорее деградирует, а не развивается? Куда делся PhysX и Havok? Доколе всему этому быть? Если вас тоже мучают эти вопросы, то добро пожаловать под кат.

Сравнение Borderlands с PhysX и без отсылают нас к современным сравнениям с RTX
Сравнение Borderlands с PhysX и без отсылают нас к современным сравнениям с RTX

Первое, что надо понять, чтобы ответить на вопрос, куда делся PhysX и Havok, которые радовали нас крутой физикой весь конец нулевых и начало десятых годов?

PhysX был невероятно крут в первую очередь тем, что обрабатывал физику на GPU, а не на CPU. Тут ситуация точь в точь как с лучами (теми самыми). Если сейчас начать процессить физику без этих великолепных библиотек PhysX, то физон начнет жрать CPU, а не GPU. Но при этом, что занятно, новые видеокарты в связке с CPU уже довольно давно переваривают PhysX даже если у них нет ядер CUDA. При этом, мы все помним, что в консолях того времени, CPU был довольно слаб (сейчас про Cell в PS3 не говорим, он был крут по своему, но это тема отдельных больших статей). Поэтому, в сухом остатке, все расчеты сложных математических операций (с векторами и матрицами) старались делать на GPU, чтобы оставить на CPU только непереносимую логику (поведение NPC, количество объектов на сцене и прочие задачки с простой математикой сложения/вычетания, которые не имеют отношения к отрисовке). И в первую очередь, PhysX помер из-за того, что в PS3 и XBOX он банально не поддерживался (хоть там и была видяха nVidia, но не было ядер CUDA), а в следующих поколениях консолей он и тем более не начал поддерживаться, т.к. видяхи стали использоваться от AMD (как раз за счет отсутствия CUDA ядер они у AMD были дешевле, плюс они интегрировались в единый чип с CPU, чего не было у nVidia, что тоже уменьшало стоимость производства).

Итого, PhysX остался не у дел, т.к в момент выхода на консолях своего времени он не поддерживался из-за нехватки мощности, а в дальнейшем не поддерживался, т.к. у консолей сменился вендор железа. И поэтому, PhysX остался как нишевая технология для ПК-шников, использование которой не дает значимого, для финансовых показателей игроделов, прироста ценности продукта, а значит и платить за использование этой технологии в своих разработках игроделам смысла нет. Если в новых консолях не появится ядер CUDA или аналогичных и если PhysX не станет открытой технологией, то скорее всего, эта технология окончательно исчезнет в небытие. Многие и тут могут провести параллель с лучами, но это другой случай и чуть дальше расскажу почему.

Что если написать свою игру с хорошей физикой?
Что если написать свою игру с хорошей физикой?

Следующая причина, почему Игорь утонул на ПК при применении фильтра по параметру "хорошая физика", это отсутствие нормальных альтернатив PhysX.

А что же Havok, ведь даже тогда были игры с великолепным физоном и без технологий PhysX? Все так, как раз таки крупнейшей технологией, которая могла составить конкуренцию PhysX в плане качества физики в играх и распространялась как готовая библиотека, которая как раз работала на консолях, была Havok. Именно благодаря Havok, в огромном количестве игр, которые мы знаем, есть вообще хоть какая-то физика, а в некоторых она прям неплохая (SnowRunner, MudRunner, Rainbow Six и т.п.).

Но в отличии от PhysX, Havok процессит физику все еще преимущественно на CPU, от этого, его ценность тоже становится не так высока. Его удобно использовать в готовых движках (насколько знаю, он был включен внутрь Unity, хоть и остается доступен отдельно при желании), но вот многие игры, которые делались на своих движках, чтобы использовать Havok, видимо, должны продать душу Intel, которая тоже оказалась не у дел в производстве консольных чипов. Соответственно, писать свой физический движок с нуля (как и игровой движок в целом), в условиях современного производства игр, становится просто очень-очень дорого и нецелесообразно, когда есть готовые решения.

Где нормальная физика в играх?

Но вот что же предлагают готовые решения? Если говорить про Unity и Unreal, то способности к физике, на мой взгляд, у Unity лучше. Но AAA проекты не делаются на Unity, т.к. он сильно проигрывает Unreal'у по работе со светом, мешем и текстурированием. Что и раньше у Unreal'а было на высоком уровне, а с появлением новых версий движка, стало абсолютно космически круто. Однако, физика как раз остается ахилесовой пятой Unreal'а, что отлично демонстрирует демка Матрицы, где все машины это утюги времен NFS Most Wanted, а физика повреждений на уровне GTA SanAndreas (даже не дотягивая до GTA IV).

Сейчас, написать свой физический движок с нуля, да еще и такой, чтобы он процессился на GPU, кажется не может уже никто. И, пожалуй, главным выводом статьи может стать мысль "физика умерла из-за проклятых консолей, а лично каждый гвоздь в крышку гроба вбивала AMD своими дешевыми чипами, которые только текстурить нормально умеют", но нет, еще не все потеряно!

Те самые лучи, а вместе с ними и DLSS, которые стали рвать задницы всем причастным, это как раз та самая козырная карта, которая может развернуть дальнейший ход развития индустрии в другую сторону. Ведь те самые ядра CUDA, которые nVidia использовала для PhysX, очень хорошо подходят и для ИИ (DLSS), и для трассировки лучей, и для других математических операций, которые обычный GPU делать не может, а CPU делает медленно и плохо. А это означает уже вполне весомую прибавку к ценности продукта (в плане оптимизации), но что самое главное, RTX делает дешевле большую часть производства игры с ручной настройкой света (Dying Light 2 отличный пример, как выглядит RTX и его альтернатива с ненастроенным светом). А ИИ в целом делает дешевле производство огромного количество игрового контента. И как раз тут, AMD пока особо нечего предложить.

Как автор видит современные консоли
Как автор видит современные консоли

Так что основной вывод статьи такой - хоть консоли и AMD (отчасти вместе с ленью разработчиков и деградацией геймдизайнеров) убили физику в играх, но поддежка хорошей физики в Unreal Engine и развитие RTX + ИИ в nVidia (или аналогов у AMD), могут стать мостиком, которые вернут возможность аппаратного ускорения расчетов физики на GPU, а значит появится возможность, делать хорошую физику "дёшево". Если, конечно, к тому моменту останется хотя бы один геймдизайнер, который сможет придумать что-то сложнее механики "три-в-ряд" :)

Всем, кто дочитал до конца, посылаю RTX-лучи добра, ведь благодаря вам, мне не нужно много часов монтировать ролики или рилсы, чтобы поделиться своими мыслями и графоманией). А всех несогласных приглашаю быть проигнорированными автором в комментариях!)

55
12 комментариев

Физика что бы что?

Комментарий недоступен

2

Комментарий недоступен

1

PhysX давно не привязан к CUDA и свободен, на Github можно найти

К сожалению его действительно не добавляют, Unreal Engine 4 был с ним какое то время, потом выпили, физика тканей стала дном, у персонажа плащ теперь проваливается везде и двигается совсем не реалистично (тот PhysX не требовал CUDA, такой же был и Unreal Engine 3)

Процессорная часть в APU PS4/XO сильно медленнее PS3/X360, тоже виновник минимальной физики в играх

Процессорная часть 2013 год PS4 - 102.4 GFLOPS
Процессор 2006 года PS3 Cell: 179.2 GFLOPS
Процессор 2005 года Xbox 360 Xenon: 115.2 GFLOPS

Havok убила скорее всего Intel купившая его в 2007 году, ценник могли заломить, Microsoft перекупила в 2015 году, даже в своих играх не использует, скорее всего ей плевать, он не требовательный и мог бы работать даже на PS4/XO

В PS5/XSX/XSS тоже APU со всеми вытекающими, но его процессорной части на Zen с конфигурацией 8/16 с лихвой хватит на хорошую физику, но тут у нас индустрия, которой это не нужно, просто используют то что уже есть, а это деградация из за PS4/XO + квотные которые не умеют распределять нагрузку = пластмасса с плохим освещением и тормозами, и всем плевать, покупай и жди следующее хрючево

У ПК почти не осталось своих технологий, они вымирали за период PS3/X360, все разработки делались с прицелом на железо консолей, там главный рынок для издателей, если раньше это было вполне мощное железо с маленьким количеством памяти, то теперь это слабое железо со средним количеством памяти

Сейчас эксклюзивные ПК технологии это

Path Tracing - Полноценный Ray Tracing только в Quake 2 RTX (в Cyberpunk это по прежнему неполноценный)

DLSS/DLAA - Работает через специальные ядра Tensor, отсюда и результат лучше чем у FSR/XeSS

Всё это может появится на следующих консолях, если будет достаточная производительность + специальные ядра для аналога DLSS/DLAA, Path Tracing скоре всего останется фичей ПК, слишком требовательный

1

Какой-то концентрированный бред. И в анриле и в юнити физикс. Я уже молчу про модель повреждений транспорта, которая вообще не имеет никакого отношения к физике.

PhysX это отдельная библиотека, которую можно хоть к калькулятору и блокноту подключить. Но от этого на консолях с AMD камнем она не заработает. Если по вашему физика повреждений это не физика, то откройте BeamNG и вызывайте психиатрическую помощь.

1

Бразильцы, помню, пытались к GTA SA приделать повреждения, но не срослось

https://youtu.be/gve3xjnr-x8