15 лет назад 12 февраля 2004 в 18:08 81

Все мы любим играть. Любим, подобно кэрролловской Алисе, “представлять себя королями и королевами”, переносясь из мира реального с его вечными проблемами, хамящими попутчиками в метро и нестабильной политической ситуацией в миры искусственно созданные, где метро нет совсем и все проблемы решаются с помощью одного лишь шотгана, изредка – ракетницы. Интересно, как выглядят эти миры “с изнанки”?

DOOM 3: больше ужаса
“Годами мы прибегали к всевозможным ухищрениям для моделирования трехмерных миров, а теперь пришло время истинной трехмерной реальности, которую мы все так давно ждали”. Именно таким нескромным заявлением один из основателей id Software Джон Кармак начал презентацию Doom 3 на выставке MacWorld в 2001 году. Но полностью оценить графические возможности нового “движка” игровая общественность (точнее, большая ее часть) смогла лишь в октябре 2002.

Это стало возможным благодаря утечке информации из недр компании ATI Technologies – официального технического партнера id Software в проекте Doom 3. Утечка получила название “Doom III Alfa Leaked” и спровоцировала небывалый шум вокруг этого проекта в интернете. И неудивительно – внешне лайт-версия (такое обозначение получила “альфа” у российских компьютерных пиратов) действительно выглядела на твердую “пятерку”, даже с плюсом. Пожалуй, Джон Кармак не обманул ожидания фанатов, создав-таки игровой “движок”, превосходящий по качеству картинки все ныне существующие.

Первое, что бросается в глаза при запуске альфа-версии или просмотре трейлера, продемонстрированного на Е3 (Electronic Entertainment Expo) 2003, – небывало высокая детализация персонажей: кажется, что в каждом из монстров не по 5-6 тыс. полигонов, а минимум по полмиллиона. По словам Тима Уиллитса, ведущего дизайнера и директора проекта Doom 3, достичь такого эффекта удалось при помощи уникальной системы текстурирования – теперь процесс создания одной только текстуры насчитывает целых пять (!!!) различных стадий.

Первым делом художник создает высокополигональную модель монстра, состоящую более чем из полумиллиона полигонов. Затем применяет к ней процесс рендербампа (renderbump), генерирующий карту высот пикселей текстуры (bump map), необходимую для правильного отображения теней. Зная угол падения света на плоскость и местоположение выпуклостей и впадин, можно изменять яркость точек текстуры в разных местах, имитируя тем самым неровность поверхности (“склоны” неровностей, обращенные к источнику света, будут, естественно, светлее, и наоборот). Далее полученная bump map объединяется с текстурой, отвечающей за отражающую характеристику материала (specular map).

После этих операций на получившийся текстурный “бутерброд” накладывается еще и карта коэффициентов рассеяния света пикселями текстуры (diffuse map) или карта бликов. Так как в “движке” используются далеко не высокополигональные монстры, исходную модель персонажа определенным образом “оптимизируют” – снижают количество полигонов примерно до 5 тыс. При этом информация о пропущенных “faces” сохраняется в так называемой “нормальной” текстуре. В отличие от bump map, эта карта хранит в себе информацию об отклонении нормали каждого текселя от перпендикуляра к грани направления.

“Нормальную” текстуру добавляют к четырем предыдущим. Таким образом, теперь на модель персонажа “натягивают” не одну, а пять текстур, что позволяет (в основном с помощью игры света и тени) придавать низкополигональным моделям вид высокополигональных.

Помимо высокой детализации персонажей реалистичности игре добавляет еще и то, что любой, даже самый незначительный объект отбрасывает полностью динамические, а не заранее просчитанные и нарисованные тени на все трехмерные объекты. По словам самого Кармака, “каждый световой источник в трехмерном мире обладает собственной световой энергией, и от динамических объектов на поверхности могут падать любые тени, как в реальном мире”. Раскачайте выстрелом лампу, и вы увидите, как удлиняются и укорачиваются тени от объектов, освещенных этой лампой, причем не только статических, но и движущихся.

Специально для Doom 3 Яном Паулем ван Вавереном – автором ботов для Quake 3 и знаменитых Gladiator bots для Quake 2 – был написан уникальный детектор столкновений предметов, позволяющий учитывать даже такие мелкие и, что самое главное, быстрые предметы, как пуля. До этого пули от такого оружия, как пистолет или шотган, не считались физическими объектами игры. В Doom 3 выстрелами можно двигать объекты, более того – физическим “движком” учитывается траектория полета пули и место ее попадания. “Если попасть в плечо монстра, его отбросит назад, если в ноги, то он споткнется”, – говорит сам Ваверен. На той же основе реализована и попиксельная детекция выстрелов – например, пуля, вскользь задевшая противника, оставит на его теле кровавую царапину.

Помимо реалистичных столкновений физический “движок” Doom 3 включает в себя такие нововведения, как “система частиц” (particle system), позволяющая реализовать дым, пламя, силовые поля и прочие эффекты, а также редко встречающийся в играх “эффект тряпичной куклы” (rag doll effect) – обработка скелета трехмерного персонажа после его смерти. Теперь модель поверженного противника изменяет свое положение в зависимости от поверхности, на которой лежит “труп”.

А вот фанатов линейки игр Delta Force третья версия Doom, пожалуй, разочарует – в проекте не предусматривается больших открытых пространств. По словам самих разработчиков, основная их цель – сделать игру как можно более устрашающей, а для этого как нельзя лучше подходят темные замкнутые пространства. Так что выход на поверхность Марса будет только на стыке нескольких комплексов базы.

Жуткую атмосферу замкнутых помещений будут подчеркивать и звуковые эффекты. Написанный Греймом Девайном аудиодвижок использует возможности шестиканальной аудиосистемы, то есть системы 5.1 с микшированием в реальном времени, и позволяет реализовать такие эффекты, как, например, акустика помещений – если вы находитесь в небольшом помещении, то при выстреле услышите реверберирующее эхо.

Half-Life 2: больше эмоций
Не менее ярким и ожидаемым экспонатом на E3 был выставленный на стенде компании ATI Technologies трейлер сиквела игры Half-Life от фирмы Valve. На выставке был представлен итог почти пятилетней работы, на финансирование которой, по словам Гейба Ньюэлла, отца-основателя и директора фирмы Valve, были потрачены все средства, вырученные с продаж первого Half-Life. Чтобы понять, о какой сумме идет речь, стоит отметить, что на данный момент продано уже более 8 млн копий игры.
Но надо отдать должное сотрудникам Valve – эти пять лет явно не прошли для них даром.

В трейлере, выставленном на Е3, можно было увидеть не только кинематографическое качество картинки, но и практически полное соответствие игрового мира миру реальному. И вообще заметно, что в новом проекте Valve делает ставку скорее на интерактивность мира, чем на совершенную графику: любой предмет можно передвинуть, сломать или кинуть им в противника. Арсенал игрока даже пополнился специальным оружием – антигравитационным манипулятором, с помощью которого можно не только заблокировать мебелью дверь, но и забить до смерти монстра выдранным из стены радиатором отопления.

Помимо этого каждый предмет в мире Half-Life 2 обладает такими физическими характеристиками как плотность, масса и вес, полностью соответствующими характеристикам его реального “прототипа”. К примеру, игроки больше не смогут укрываться в деревянной будке от гранат или выстрелов противника. Дерево теперь не только спокойно пробивается пулями или осколками, но даже горит и плавает. А главный герой игры Гордон Фримен не сможет унести вещей больше, нежели обычный взрослый человек в реальной жизни.

Если в первой части монстры состояли из 1500-2000 полигонов, то теперь эта цифра увеличилась до 3000-7500. Впрочем, все тот же Гейб Ньюэлл отмечает: “Если честно, мы даже не считаем количество полигонов, так как существует много других факторов, влияющих на детализацию модели в игре”. Такими факторами директор Valve называет bump map, карты отражений и использование “продвинутых шейдеров для рендеринга глаз и лиц персонажей”. Кстати, Half-Life 2, наверное, единственная игра, где столько внимания уделено проработке лиц и мимики персонажей.

Программистами Valve (при участии профессиональных психиатров, между прочим) был даже написан специальный “движок эмоций”, и теперь лица персонажей смогут принимать до 20 (!!!) различных выражений, за смену которых отвечают 40 виртуальных “лицевых мышц”. “Движок” этот также включает в себя инструмент, получивший название Face Poser, производящий автоматическую синхронизацию движения губ и проговариваемого персонажем текста. К примеру, в ролике, представленном на Е3, G-man – один из ключевых персонажей первой части Half-Life – говорил на китайском языке.

Для ускорения работы программы предусматривается также несколько уровней детализации каждого персонажа, выставляемых в зависимости от расстояния, на котором тот находится от игрока. На больших расстояниях количество полигонов персонажа может снижаться до 1000-2000, увеличивая тем самым общую производительность.

Еще одной радостной вестью стало то, что в Valve, судя по всему, смогли решить одну из основных проблем, связанных с применением полигонной технологии, – ограниченность игрового пространства. В трейлере Half-Life 2 мы увидели несколько уровней, поражающих своими размерами: в одном из роликов игрок вообще передвигается по дну высохшего океана. Там же было продемонстрировано и наглядное подтверждение присутствия в игре транспортных средств – помимо путешествия на своих двоих игрок сможет покататься на багги, оснащенном пулеметной турелью.

Любопытно, что лайт-версия Half-Life 2 появилась на лотках с компьютерными играми еще в декабре 2003-го. Причем компьютерные “пираты” честно определили статус продаваемой ими “продукции”, написав на коробке с компакт-диском следующее: “Эта версия, показанная разработчикам на международной выставке, представляет собой набор карт, уровней и фрагментов игры”. Для тех, кто еще не видел эту версию Half-Life 2, сообщаем, что ничего нового по сравнению с показанными на Е3-трейлерами в ней нет.

Крупнейший интернет-магазин amazon.com уже производит препродажу коробочных версий Doom 3 и Half-Life 2. Дата поступления обеих игр в продажу – 1 марта 2004 года. Цена счастья: Doom 3 – $49,99, Half-Life 2 – $44,99.

Воксельные движки

Говоря о трехмерных игровых движках, невозможно обойти вниманием и достаточно спорную воксельную технологию. Спорную по той простой причине, что все использовавшие воксели фирмы-разработчики либо перешли на смешанные технологии (воксели + полигоны), как, скажем, Novalogic, создатель линейки игры под общим названием Delta Force, либо безвременно почили, как бельгийская Appeal, так и не доведшая до конца сиквел бесспорно революционной (для 1999 года, конечно) игры Outcast. Сейчас уже невозможно найти игру, мир которой полностью основан на вокселях, поэтому, не вдаваясь в историю, просто рассмотрим, какие преимущества дает использование воксельной технологии, на примере Delta Force или Comanche.

Как уже говорилось, большие открытые пространства в играх – сложная, хотя и разрешимая, проблема полигонной технологии. Но даже в самых крутых полигонных “движках” ландшафт не будет изобиловать неровностями – все-таки ограничение на количество одновременно обрабатываемых полигонов обойти еще никто не смог. К тому же освещение такого ландшафта несколькими источниками света и построение “реальных” теней сделают требования такого “движка” к “железу” просто нереальными не только для домашнего компьютера, но даже для мощных серверов. Здесь на помощь разработчикам и приходят воксели.

Технология создания воксельных ландшафтов чем-то похожа на идею того же bump mapping. В обоих случаях используется так называемая height map – “карта высот”, только в отличие от бампа воксельный движок не обманывает игрока затемнением и осветлением текстуры, а честно генерирует полностью трехмерный ландшафт. Любопытно, что в результате получается не просто поверхность, которую можно увидеть только с одной стороны, как в случае с полигонным ландшафтом, а “замкнутая” трехмерная фигура, как бы заполненная изнутри небольшими кубиками-вокселями (хотя мы, конечно же, видим только их верхний слой, на который и наложена текстура ландшафта).

Построенные при помощи вокселей ландшафты, поражающие невероятной плавностью линий, имеют один очень существенный недостаток, который и не позволил использовать в играх полностью воксельные “движки”. Дело в том, что такие “движки” не “ускоряются” видеокартами, поэтому весь процесс обработки производит процессор компьютера. Пять-шесть лет назад это было не столь важно – видеокарты только-только завоевывали рынок, и производительность компьютера практически полностью зависела от процессора. Именно это и дало “жизнь” таким замечательным, но, увы, непонятым игровой общественностью проектам, как Outcast или Shadow Warrior.

Периметр: отечественное ноу-хау

Отрадно видеть, что российские разработчики наконец-то начали выводить свои проекты на мировой уровень, причем частенько опережая некоторые зарубежные проекты как по геймплею, так и по используемым технологиям. Одним из таких проектов стал “Периметр” – стратегия реального времени от калининградской компании KD-Lab. Основная новаторская технология в игре, получившая название “терраморфинг” – динамическое изменение игрового ландшафта – возводит окружающий мир в ранг едва ли не главного действующего лица.

Ландшафт не только “запоминает” все производимые игроком действия, как сознательные (снос гор, возведение плато), так и не очень (воронки от взрывов), но и сам участвует в игре – “база” игрока может пострадать от неожиданного землетрясения или извержения соседнего вулкана. Стоит также заметить, что все эти “геологические процессы” происходят в реальном времени, с очень высокой детализацией, “честными” тенями с самозатенением и процедурными объемными геотекстурами.

А достигается такая гибкость игрового мира благодаря тому, что ландшафт в “Периметре” не является простым набором тайловых текстур, а представляет собой мелкодетальную полигонную сетку (площадь одного полигона – от 2 до 6 пикселей в разрешении 1024х768), на которую накладывается одна-единственная неповторяющаяся карта цветов.

Хотя официальным техническим партнером проекта “Периметр” и является фирма ATI Technologies, его “движок” не ориентирован на какую-либо конкретную марку видеокарт, и программисты из KD-Lab стараются использовать практически все новые технологии в области Direct3D. Пока в списке таких технологий находятся Float textures, DXT textures, T&L, Pixel shader 1.1, 1.4, 2.0 и Vertex shader 1.1, 2.0.

О “движке” сами разработчики говорят следующее: “Вы увидите сильно детализированные игровые ландшафты, меняющиеся в реальном времени, на которых оперирует большое количество разнообразных анимированных 3D-объектов с бампмапом. Все это отбрасывает друг на друга мягкие реалистичные тени, частично отражается друг в друге и окутано достаточно сложными патикл-эффектами”. Системные требования таковы: минимум P3-750 МГц\256 Мб RAM\GeForce 2, максимум P4-2 ГГц\256 Мб RAM\Radeon 9700.

Стоит добавить, что “Периметр” включен в список официально поддерживаемых игровых продуктов фирмы ATI Technologies как один из самых высокотехнологичных проектов и является единственным на данный момент русским проектом в этом списке. Надеемся, что не последним.