Игры с тряпичными куклами

Сегодня вы узнаете, что такое физический движок, и на каком из них была сделана одна из самых ожидаемых игр года – S.T.A.L.K.E.R., изучите принцип действия популярной технологии rag doll и сможете посмотреть, какие игры её используют.

Что, по-вашему, самое главное в современных играх? Сюжет? Графика? Музыкальное сопровождение? А как насчёт такого элемента, как физика? Что толку от всех современных музыкальных и графических новшеств, если люди будут падать, как пятитонные бочки, а выстрел из гранатомёта по мусорному пакету не сдвинет его ни на миллиметр? Физика – важный элемент игрового мира, к которому в последнее время стали уделять всё больше внимания. В связи с этим появилась необходимость в специальных движках, призванных создавать имитацию реального мира в плане физических взаимодействий. И они начали появляться.
Что же это такое физический движок (ФД)? Это библиотека, которая рассчитывает физические взаимодействия между объектами игрового мира. ФД, используемые при разработке игр, как правило, не симулируют физические процессы реального мира со 100% точностью, а лишь производят приблизительное моделирование действия физических законов. Современные игровые ФД состоят из двух частей: подсистемы определения столкновений и подсистемы расчета физических взаимодействий.
На сегодняшний день выделяют несколько основных физических движков. Вот некоторые из них:
ODE – движок с открытыми исходниками, что позволяет свободно его дорабатывать. Модифицированную версию данного движка использовали в игре S.T.A.L.K.E.R.
PhysX – технология, разработанная компанией AGEIA. Она выступает в роли как физического движка, так и API (набор методов, которые можно использовать для доступа к программам, модулям, библиотекам и.т.п.) для работы с физическим ускорителям этой фирмы.
Havok – один из старейших движков, на котором были созданы такие игры, как Age of Empires III, Company of Heroes, F.E.A.R., Half‑Life 2, Halo 2, недавно вышедшая Lost Planet: Extreme Condition, и многие другие (полный список можно посмотреть на havok.com).
Все вышеописанные физические движки поддерживают новомодную технологию rag doll (что в переводе с английского означает «тряпичная кукла»). Это понятие как нельзя лучше описывает возможности движка. Rag doll – технология, основанная на так называемых сочленениях (joint) или ограничениях (constraint). Joint – это точка, которая соединяет два твердых тела (соединение обычно задается относительно точки джоинта) и накладывает ограничения на положение тел в пространстве друг относительно друга или на скорости тел относительно друг друга. Типов джоинтов много (некоторые движки позволяют писать собственные). Для реализации рэгдоллов используют ball-joint и hinge‑joint. Первое – это шарнирное соединение двух тел, оно ограничивает перемещение тел друг относительно друга и налагает ограничение на то, как повёрнуты тела относительно друг друга по трём осям (при помощи джоинтов такого типа крепится плечо или голова к телу). Hinge-joint – это петельное соединение двух тел, которое ограничивает повороты тел относительно друг друга одной осью. В целом же спектр применения джоинтов очень широк и не ограничивается только созданием регдоллов.
Что бы лучше понять, как именно действует технология rag doll достаточно скачать небольшие игры, коих сейчас можно найти огромное количество. Особняком среди всех стоит Rag Doll Kung Fu (в российском прокате – «Разборки в стиле кунг фу»). Этот коммерческий проект завоевал немало лестных отзывов в игровой прессе. Весьма показательна в плане наглядной демонстрации технологии игра RagDoll Masters. Скачать её можно с официального сайта www.ragdollsoft.com, где можно найти ещё несколько игр, сделанных с помощью этой же технологии.

Технология rag doll была использована в таких играх, как Hitman:Contracts, The Witcher, а также в культовой Counter‑Strike:Source. Хотя в них она выступала ещё несколько сырой, но тем не менее, явилась приятным дополнением. А вот в Half-Life 2 данная технология была доведена до ума: трупы правильного скатывались с наклонных поверхностей, от взрыва гранат ящики разлетались в разные стороны, а железные балки лишь слегка сдвигались. Да и завязывание игрового процесса на физике было достаточно велико, а порой являлось единственно возможным путём для продолжения.

При написании статьи использованы материалы сайта www.xakep.ru


Рекомендуем почитать: