Выбрать главу

Пока на сегодняшний день вышла в свет только одна игра с реализованной аппаратной поддержкой физических расчетов – Tom Clancy’s Ghost Recon Advanced Warfighter (в просторечье – GRAW), а также имеется и некоторое количество демо-версий готовящихся игр. Однако, список игр, которые должны выйти в ближайшие несколько лет, превышает сотню, да и число разработчиков, планирующих задействовать физический движок от AGEIA в своих играх, достаточно внушительно и перевалило за 60.

Но в первую очередь хотелось бы высказать решительное «фи» в адрес отдельных поверхностно смотрящих коллег, которые, мимоходом оценив новинку по шаблонам, принятым для тестирования видеокарт, возмущенно резюмировали: за что платить $300, если никакой прибавки «кадров в секунду» в распространенных тестах и играх она не обеспечивает?

Действительно, fps после установки физического ускорителя не увеличивается. Но пора определиться с ложными и истинными приоритетами – наращивание частоты кадров выше 50-60 в секунду никак не отражается на увлекательности игрового процесса. Гораздо актуальнее потратить дополнительную мощность на качественное улучшение игрового процесса, а именно такая задача стоит перед физическими ускорителями.

Согласитесь, большинство из нас, запуская новую игру, вовсе не желают пройти ее как можно скорее и приняться за следующую. Хочется получить некое эстетическое удовольствие, эмоциональную разрядку, да просто приятно провести время. Именно поэтому графические «излишества», стремление к фотографической реалистичности и новым ощущениям от игрового процесса востребованы, хотя их получение стоит все дороже. Причем в равной степени и для разработчиков игр (бюджет знаковых игр, собирающих «кассу», подстать кинопродукции), и для игроков, щедро спонсирующих производителей видеокарт, процессоров и прочих компонентов, покупать которые нам все чаще рекомендуют «парами».

Так что же именно способен добавить физический ускоритель, и в частности, «первая ласточка» в новом классе игровой периферии – карта на основе AGEIA PhysX, – к игровому процессу?

Ответ прост – динамику, возможность взаимодействовать с предметами, ранее представленными в играх как статичные декорации. Причем в отличие от ранее жестко запрограммированных сценариев поведения «взрываемых» бочек, коробок и прочих стандартных объектов (пройдя несколько уровней, пользователь наизусть заучивал последствия своих действий, дозволенных игрой), теперь вы вовсе не встретите однообразия. Ведь последствия любого взаимодействия зависят от угла приложения, силы и массы других факторов – в жизни даже нарочно трудно устроить два идентичных по последствиям «погрома». Разумеется, у первого поколения ускорителей мощность не столь велика, и неизбежные огрехи в драйверах еще мешают насладиться подлинной реалистичностью. Но и сейчас успехи видны невооруженным глазом, и кроме свободы взаимодействия с игровым миром, можно отметить чуть более реалистичное «поведение» огня, воды, ткани, волос и прочих текучих и свободно подвижных субстанций. Но почему все это до сих пор составляло проблему?

Физика вчера

Задача моделирования взаимодействия нескольких предметов игрового мира между собой – наиболее ресурсоемкая среди тех, что возникают при программировании игрового движка. Строго говоря, узнать, столкнулись ли два «идеальных» объекта и какое положение они должны занять после взаимодействия – задача несложная и описывается известными каждому школьнику законами. Но если в кадре оказывается хотя бы десяток подвижных тел различной природы и свойств, то объем работы, ложащейся на процессор (и, что самое главное, выполнить ее необходимо в реальном времени), становится угрожающим. А надо учесть, что для полноценного моделирования не только твердых, но и эластичных объектов, жидкостей и, тем более, так любимых игровыми дизайнерами взрывов, количество частиц в кадре, поведение которых рассчитывается независимо друг от друга, необходимо увеличить до нескольких тысяч.

Не секрет, что сегодня многие природные явления в играх реализуются искусственным путем, например, вместо «честного» отображения тумана, используются так называемые алгоритмы затуманивания. Иными словами, модифицируются текстуры твердых объектов заднего плана. Тогда как настоящий туман состоит из водяных капель и не бывает абсолютно однородным. Список «несовершенств» можно продолжать и продолжать, многие из них на первый взгляд покажутся несущественными, однако особенность человеческого восприятия в том, что фальшь, даже не очень явная, подсознательно отмечается и мешает состояться эффекту присутствия.

Наглядный образец реализации «физики» силами центрального процессора представляет собой игра Painkiller. Притом что эффекты в ней отнюдь нельзя назвать идеально реалистичными, да и сама игра вышла довольно давно, она является весьма тяжелой даже по меркам самых мощных современных процессоров. Иными словами, производительность в этой игре упирается в центральный процессор, даже если вы установите дорогую видеокарту, тогда как в остальных играх с упрощенной физической моделью основная нагрузка приходится на видеоакселератор. Законный вопрос: почему же, несмотря на совершенствование центральных процессоров, им все еще не по силам столь естественно-научная задача?