Главная » Статьи » Мои статьи |
Как мы отметили выше, в Bugbear Entertainment всегда делали гоночные игры. Это может объясняться широким развитием автоспорта в Финляндии. Для своих гоночных проектов компания разработала собственный игровой движок Bugbear Game Engine, работы над которым идут в течение уже шести лет. Он предназначен для игр жанра автомобильных гонок (и симуляторов и аркад) и постоянно улучшает свои технологические показатели. На технологичность движка сильно повлияло решение компании делать кроссплатформенные игры, им пришлось делать версии движка для консолей. Так как предыдущие игры были ПК эксклюзивами, программистам компании пришлось хорошо поработать над кодом для PlayStation 2 и Xbox, архитектуры которых сильно отличаются от той, что есть в ПК. Но команда справилась и в FlatOut мы увидели современный и весьма эффектный физический движок. К сожалению, ориентация на Xbox и PlayStation 2 принесла не только увеличение объемов игровых тиражей, но и некоторую технологическую отсталость графической части. Остается надеяться, что в будущих проектах финны рассчитывают уже на консоли следующего поколения. FlatOut 2 основан как раз на этом самом Bugbear Game Engine, включающим как сам движок, так и соответствующие утилиты для создания и модификации контента. Вторая часть игры использует последнюю на данный момент версию движка, которая несколько (не очень значительно) улучшена со времени, прошедшего с релиза оригинальной игры. Главные особенности движка: полная мультиплатформенность (правда, для устаревших уже консолей PlayStation 2 и Xbox), множество хитрых оптимизаций, позволивших добиться хорошего сочетания качества картинки и производительности даже на слабых старых консолях, мощный и быстрый физический движок, рассчитывающий физику гибких тел и столкновения тысяч объектов. Основные технологические нововведения, появившиеся именно в FlatOut 2: оптимизации физического движка, новые и улучшенные физические алгоритмы, улучшенная система рендеринга, это касается освещения, текстурирования и постобработки, обновленные алгоритмы AI и другие оптимизации, нужные скорее для консолей, чем для ПК, мощности которых ушли далеко вперед со времен двухгодичной давности. Авторы отмечают, что особенно гордятся оптимизациями физического движка на PlayStation 2, где это сделать было для них сложнее всего. Оптимизации позволили почти вдвое увеличить количество динамических объектов на трассах, но основные идеи не изменились, главной задачей были именно оптимизации для улучшения физического взаимодействия и увеличения количества рассчитываемых объектов. Программисты сделали много оптимизаций еще в первой части, а уж во второй выжали из старых консолей последние соки. В то же время, были введены новые виды взаимодействия, авторы отдельно отмечают взрывы и некие цепные реакции. В Bugbear считают, что их физический движок является одним из лучших движков для PlayStation 2 и Xbox, особенно в жанре гоночных симуляторов. Что касается технологий 3D графики, то в движке второй части также немного значительных изменений. Хотя разработчики в многочисленных интервью говорят о "greatly improved visuals", по картинкам видно, что хотя улучшения есть, но они никак не greatly. Да, при рендеринге автомобилей используется до пяти проходов, чтобы эмулировать отражения, сложное освещение и подповерхностное рассеивание, но на ПК можно было бы обойтись меньшим количеством проходов и настоящим попиксельным освещением. Вот такие вот они, недостатки мультиплатформенных игр - из-за ориентации на самые слабые игровые системы страдают более мощные... По сути, единственным большим нововведением стало использование эффектов постобработки motion blur и bloom, без них разницу в картинках первой и второй частей пришлось бы искать с лупой. Кстати, в интервью игровым сайтам авторам пришлось объяснить их решение о выпуске игры на консолях текущего поколения. Они считают, что количество консолей, уже имеющихся у пользователей, важнее технологических и скоростных преимуществ. Тем более что FlatOut 2 так хорошо оптимизирована, что по "физической" части может поспорить с любыми проектами для консолей нового поколения из первой волны. Главное, что старых консолей в мире в десятки раз больше, чем новых, и продать большее количество экземпляров игры на них пока что проще, чем на новых. В Bugbear считают, что время следующего поколения еще не пришло и нужно подождать хотя бы еще полгода-год. Разработчики уверены, что правильнее добиваться улучшений не простым наращиванием аппаратной мощи, а применением оптимизаций, позволяющих выжать многое из текущего "железа". С другой стороны, если они из старых консолей такое выжали, то на что они были бы способны с новыми технологиями? У нынешних разработчиков есть два разных пути, и в Bugbear выбрали не самый популярный в последнее время. Примерно тот же, что и создатели Serious Sam 2, например. С единственным отличием - хорваты все же обратили особое внимание на ПК версию и дополнили ее технологическими новинками без особого ущерба производительности. Итак, все в игре сделано на приемлемом уровне, если оценивать итоговое качество картинки. Ну а с технической точки зрения - движок устарел и не поддерживает множество современных эффектов. Даже возможности DirectX 8 используются не полностью, не говоря уже о старшей версии API, пиксельные и вершинные шейдеры очень просты, освещение по-старому делится на статическую и динамическую составляющие, не используется наложение карт нормалей, тени от всей геометрии, кроме автомобилей, заранее рассчитаны, а динамические карты теней есть лишь для моделей машин и людей. С другой стороны, карты теней используют формат хотя и давно известный, но с аппаратной фильтрацией на всех DX8 видеокартах, используется качественное предрассчитанное освещение с использованием вторичного освещения, добавлены постэффекты bloom и motion blur, а уж спецэффекты, основанные на системе частиц (дым, пыль, искры и т.п.) были хороши еще в первой части. Как и почти в любой другой гоночной игре, в FlatOut 2 представлены локации в виде больших открытых пространств. Для всех объектов используется изменение уровня детализации в зависимости от расстояния между камерой и объектом, поэтому игра неплохо регулирует сложность сцены и количество полигонов в кадре. Используются некоторые ухищрения для снижения количества вызовов функций отрисовки, хотя оно и остается большим, как мы выяснили в первой части статьи. На многочисленных открытых пространствах нет ничего нового, чего мы ранее не видели, за исключением действительно большого количества динамических объектов. Да, геометрическая детализация уровней совсем невелика, но, учитывая кроссплатформенность игры, всё сделано очень прилично, на хорошем среднем уровне, пусть и технически устаревшими средствами. Несмотря на кажущийся бампмаппинг, его там нет. Зато есть очень неплохие текстуры, которые, похоже, в ПК версии отличаются от всех остальных в лучшую сторону. Разрешение большинства текстур достаточно высоко, лишь в некоторых случаях хотелось бы больше детализации, а особенно - применения нормалмаппинга, хотя бы для моделей автомобилей. Впрочем, в столь динамичной игре это не так важно. Кстати, для моделей автомобилей используются атласные текстуры разрешением с 1024x1024, основная масса текстур имеет формат DXT3, есть также и DXT1. Все текстуры предварительно сжаты. Видно, что художники, работавшие над FlatOut 2, сделали свою работу отлично, налицо приличные текстуры высокого разрешения. Вероятно, сказалось и отсутствие карт нормалей и прочих текстур, что сейчас принято использовать (карты бликов и карты высот), и все аппаратные возможности целевых игровых платформ были пущены на основные текстуры.
С другой стороны, это можно рассматривать и как оптимизацию производительности, ведь в динамичных гоночных играх некогда рассматривать отражения деревьев на капоте, и важнее тут именно высокий FPS. Но на наш взгляд, все же стоило бы сделать возможность включения динамических карт отражений для владельцев мощных систем. Тени рассчитываются от одного источника освещения. Тени от машин и персонажей рендерятся при помощи 16-битных карт теней с разрешением 256х256 (на максимальных настройках), куда рендерится малополигональная модель автомобиля. Также используются и банальные темные пятна под автомобилями, видимые по скриншотам и известные нам по очень старым играм. Рендерятся как эти пятна, так и динамические тени, рассчитанные при помощи карт теней. Для смягчения границ динамических теней используется и аппаратная текстурная фильтрация и определенная в шейдере на базе нескольких выборок. Самозатенения нет, равно как и затенения других динамических объектов, тень отбрасывается только на поверхность земли. Во FlatOut 2 карты теней используются, но только для моделей автомобилей и вылетевших из них водителей, а для любых объектов окружения тени предрассчитаны и содержатся в той самой большой текстуре, которая растягивается на всю локацию. Поэтому, если объект сдвинулся с места (а в игре таких ситуаций предостаточно), тени от них остаются на месте, что смотрится весьма нереалистично. Спасает лишь высокая динамика игры, когда на тени не обращаешь особого внимания... Но на скриншотах видно, что заранее рассчитанные тени недостаточно детализированы из-за того, что большая текстура для всей локации имеет хоть и большое разрешение, но даже его не хватает. А вот тени от машин неплохи, их края мягкие, а тени не слишком интенсивные. Важнейшей особенностью подобных игр является имитация снопов искр и дыма, ведь столкновений в обеих частях FlatOut очень много. Как раз к этим эффектам меньше всего претензий, они сделаны на очень хорошем уровне. Искр, пыли и дыма много и они похожи на настоящие, с некоторыми допущениями, конечно.
Во второй части игры появились эффекты постобработки, применяются наиболее распространенные в гоночных играх фильтры: bloom - фильтр, увеличивающий яркость светлых участков изображения и motion blur - размытие картинки в движении, призванное подчеркнуть высокую скорость движения автомобиля при использовании ускорения. Также, со времен первой части есть и эффект sun flare, все их можно увидеть на скриншотах: Postprocessing (bloom) Это уже хорошо, но можно сделать еще лучше. Уменьшенное изображение второй текстуры подвергается нескольким проходам фильтра blur, получается сильно размазанная исходная картинка, для которой дополнительно увеличивают и цветовую насыщенность. Затем, при смешивании оригинального изображения и итогового уменьшенного и отфильтрованного получается bloom эффект. Для создания же эффекта motion blur, используемого на больших скоростях при ускорении, применяется еще один буфер с проходами фильтра radial blur вместо blur. Далее игра смешивает три разных буфера: оригинального, полученного в результате цветокоррекции, и двух уменьшенных и отфильтрованных, причем, для motion blur используется не вся площадь картинки, а только её края. Получаем одновременное применение bloom и motion blur. Разница в итоге очень велика:
Правда, на мой взгляд, bloom у авторов получился излишне насыщенным и ярким, но это уже дело вкуса. Все применяемые форматы render targets - 32-битные, никаким представлением цвета в широком динамическом диапазоне (HDR) тут и не пахнет, к сожалению. А ведь в игре сделали имитацию разного времени суток и при разных условиях освещения HDR рендеринг и tone mapping были бы весьма полезны, как для улучшения качества эффектов постфильтрации, так и имитации эффекта адаптации человеческого зрения к изменению условий освещения. | |
Просмотров: 2099 | Рейтинг: 0.0/0 |
Only | (0) |
Melisa | (0) |
krimsan | (0) |
vitalii_sorokin | (0) |