Графические технологии в играх: FlatOut 2


Введение в обзоры графических технологий в играх
Современная терминология 3D графики
Обзор игры на iXBT.com

Разработчик: Bugbear Entertainment
Издатель: Empire Interactive/Vivendi Universal Games
Дата выхода: июнь 2006 г.
Графический API: Direct3D 9 (используются только возможности Direct3D 8)

Техническая характеристика

Нужно сразу уточнить, что FlatOut 2 попал в наш цикл обзоров 3D игр не из-за своих особенных технологических возможностей. Наши читатели видели игру и некоторые из них могли подумать, что она очень хорошо оптимизирована, по сравнению с другими современными проектами, многие из которых тормозят даже на весьма производительных системах. Но причина высокой производительности и неплохой картинки кроется вовсе не в движке игры, а по сути как раз в отсутствии современных технологий и в очень простых и эффективных алгоритмах. Эта игра — пример того, как не особо технологичный движок, не впечатляющий поддержкой всех последних 3D технологий, может нарисовать прилично выглядящую картинку.

FlatOut 2 продолжает традиции первой части — той удивительной аркадной гонки, отличающейся эффектной физикой и здоровой долей цинизма, выраженного в присутствии веселого (как это ни странно) физического насилия над телами водителей в многочисленных мини-играх. Кстати, на момент выхода второй части первая FlatOut продалась тиражом более 1 млн. экземпляров, что можно считать очень неплохим результатом для такой скромной и не особенно известной команды разработчиков.

Основными особенностями продолжения стали новые трассы с еще большим количеством разрушаемых объектов; режим карьеры, где нужно побеждать, соревнуясь с несколькими компьютерными соперниками, каждый из которых отличается по возможностям и поведению на трассе; четыре класса автомобилей и широкие возможности их апгрейда; несколько разнообразных режимов игры с поддержкой многопользовательского режима для восьми игроков, как через Интернет, так и по локальной сети.

FlatOut 2 использует последнюю версию игрового движка Bugbear Game Engine, ее отличают очень качественные текстуры, использование динамических карт теней, многочисленные эффекты, создаваемые при помощи систем частиц, а также отсутствие каких-либо современных 3D технологий. Рассматриваемая игра предъявляет очень демократичные требования к мощности системы, особенно невелики требования к видеоподсистеме. От видеокарты требуется разве что поддержка пиксельных и вершинных шейдеров, а тормозить современные карты в игре не должны. Более того, все тесты в этой статье были проведены в разрешении 1600x1200, а не в обычном для цикла 1024x768, так как FPS игрой ограничивается сверху значением 100 кадров в секунду, и на тестовой системе при невысоких разрешениях частота кадров лимитируется искусственно большую часть времени.

Естественно, все уровни в игре выполнены в виде открытых пространств, причем, очень большого размера. Для рендеринга небольшого количества динамических теней, движком используются карты теней, статические тени заранее просчитаны и результат помещен в специализированные текстуры (подробнее об этом читайте далее). Графическая часть игры выделяется полным отсутствием бампмаппинга, алгоритмом недорогой фильтрации карт теней, используется максимум до четырех текстурных выборок. Отдельно можно выделить появившуюся во второй части игры постобработку, применяется два привычных для нас фильтра: bloom и motion blur.

Используются исключительно вершинные и пиксельные шейдеры версии 1.1, что вероятно является откликом ее мультиплатформенности, а особенно — наличием версии для игровой консоли прошлого поколения — Xbox. Шейдеры написаны на ассемблерном языке, их не так много и они очень просты по современным меркам, своей версии шейдерной модели вполне соответствуют. Самые длинные вершинные шейдеры состоят из 40 команд, а самые тяжелые пиксельные программы содержат лишь 12 инструкций: до 4 текстурных и 8 математических операций. Все цифры очень маленькие, многие ограничения накладываются возможностями SM 1.1, но вместе с тем, это же обеспечивает игре и высокую производительность. Шейдеры в игре используются для расчета освещения, мультитекстурирования, фильтрации и наложения карт теней, используются в алгоритмах постобработки. Никакого выбора шейдерной модели в игре нет, только 1.1. Соответственно, на тестовой системе с видеокартой GeForce 7800 GTX, поддерживающей Shader Model 3.0, всегда применяются вершинные шейдеры версии 1.1 и пиксельные шейдеры версии 1.1.

Объем геометрии, обрабатываемый игрой в одном кадре при максимальных настройках, ниже среднего уровня для современных 3D игр. Количество полигонов в кадре изменяется от 20000 до 300000, сложность геометрии на разных уровнях отличается не слишком сильно, есть уровни и режимы игры с 80000 средних треугольников на кадр, а есть — с 160000. Среднее количество обрабатываемых треугольников в кадре на максимальных настройках по всей игре составляет всего лишь 100000 полигонов, что довольно мало и соответствует скорее играм годичной и более давности. Среднее количество вызовов отрисовки в FlatOut 2 составило 870, при максимальном — 3500! Эти цифры оказались неожиданно большими, соответствующие показателям современных технологичных игр, и я думаю, что они получились из-за большого количества объектов в сцене.

Игра предъявляет сравнительно низкие требования и к объему локальной видеопамяти, в разрешении 1600x1200 с антиалиасингом уровня 4x и остальными максимально возможными настройками качества, игра использует лишь до 150 мегабайт видеопамяти, в зависимости от игрового уровня (есть примеры с всего лишь 70-80 Мб занятой видеопамяти, и это — с учетом очень большого экранного буфера). Средняя цифра ниже современного уровня технологичных 3D игр, использование видеопамяти в разрешении 1600x1200 составило в среднем около 120-130 Мб, что явно по силам даже обычным mid-end и многим low-end видеокартам.

Собранные данные счетчиков производительности NVIDIA по всем уровням игры показывают, что при максимальных настройках и разрешении 1600x1200 с включенным мультисэмплингом уровня 4x, видеочип GeForce 7800 GTX простаивал по счетчику gpu_idle в среднем более 20% времени. Причем, значение сильно зависит от уровня и режима игры, есть случаи с 5% среднего простоя, когда производительность почти полностью ограничена видеочипом в выбранных условиях, а есть уровни с 40% времени простоя GPU! Сложность пиксельных шейдеров очень низкая, значение pixel_shader_busy составляет в среднем лишь 17-18%, что в два раза ниже обычных цифр для современных игр. Разброс небольшой, есть уровни с 15%, максимум — с 20%. Среднее использование блоков вершинных шейдеров по счетчику vertex_shader_busy тоже невелико — лишь 4%, с небольшим разбросом. Наблюдаются явно недостаточные для чипа GeForce 7800 GTX сложность пиксельных и вершинных шейдеров.

Средняя доля времени ожидания выборки данных из текстур блоками пиксельных шейдеров по счетчику shader_waits_for_texture — целых 30%. Это очень много, даже учитывая анизотропную и трилинейную фильтрации. Доля ожидания окончания операций записи во фреймбуфер (shader_waits_for_rop) — 23-24%, сказывается включенный мультисэмплинг. Обе цифры говорят о явном упоре производительности в работу блоков записи данных во фреймбуфер и скорость текстурников. Рассмотрим некоторые из настроек подробнее, возможно, что еще интересное найдется.

Исследование влияния графических настроек игры на средние показатели счетчиков производительности NVIDIA:

СчетчикDefaultMSAA offAnisotropic offTextures very lowView Distance 0%Post processing offAlpha blending off
FPS73.893.590.778.675.698.076.5
gpu_idle, %0.01.20.90.20.031.40.1
vertex_shader_busy, %2.83.23.22.72.43.32.6
pixel_shader_busy, %25.431.230.927.425.815.225.4
triangle count, polys11456411174711390611474795236111798110850
batch count479471479485423459469
shader_waits_for_texture, %38.438.721.433.837.829.138.3
shader_waits_for_rop, %33.312.240.634.333.821.933.2
video memory, Mb179109177140175159176

Средняя частота кадров приведена для того, чтобы было видно, насколько сильно сказывается изменение настроек игры на производительности (не нужно забывать, что количество кадров в секунду ограничено сверху значением 100 FPS). Максимальное влияние на скорость рендеринга оказали полное отключение постобработки и мультисэмплинга. Сильно повлияло и отключение анизотропной фильтрации, а вот остальные параметры не так уж сильно ограничивают скорость рендеринга, что еще раз показывает на слабые места — ROP и текстурирование.

Усредненные значения счетчика gpu_idle отличаются незначительно почти во всех режимах, GPU почти всегда загружен работой, кроме одного случая. Посмотрите, как повлияло на параметр отключение постобработки! Сразу же почти треть времени простоя и FPS явно ограничен искусственно! Очередное подтверждение нашим выводам о низкой сложности сцен, пиксельных и вершинных шейдеров, а также упоре в операции ROP. На значение vertex_shader_busy рассматриваемые настройки оказывают небольшое влияние, чуть больше или чуть меньше — с учетом погрешности тестирования, разницу можно не учитывать. Значение pixel_shader_busy повышается в режимах с отключенными антиалиасингом и анизотропной фильтрацией, и почти в два раза снижается в режиме с отключенной постфильтрацией, пиксельные блоки меньше всего загружены работой именно в этом режиме.

Цифра счетчика shader_waits_for_texture заметно снижается в режиме отключенной анизотропной фильтрации, что объясняется необходимостью дополнительных текстурных выборок. Также разница есть в случаях с включенными эффектами постобработки и режимом низкого разрешения текстур. Значения shader_waits_for_rop — времени ожидания записи данных во фреймбуфер, растут в режиме с отключенной анизотропной фильтрацией, когда снижается влияние одного ограничивающего производительность фактора, и снижаются в режимах с отключенным антиалиасингом, так как мультисэмплинг увеличивает работу для блоков ROP. Также уменьшение значения заметно в режиме отключенной постобработки, ведь она использует рендеринг во внеэкранные буферы.

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

Количество рассчитанных полигонов в кадре отличается не слишком сильно, в небольшой разнице виновата погрешность измерения и подсчета средних значений. Треугольников рассчитывается чуть меньше в режиме со сниженной дистанцией прорисовки, что абсолютно естественно. В этом обзоре мы продолжаем исследовать и batch count — количество вызовов отрисовки, затраченное на рендеринг сцены. Оно определенным образом соотносится с количеством полигонов и заметно снижается только в режиме низкой дальности прорисовки, также на значение немного влияет и отключение постобработки.

Краткая история появления

Сначала немного о прародителе — первой части FlatOut. Это гоночная компьютерная игра, разработанная финской компанией Bugbear Entertainment и изданная Empire Interactive и Vivendi Universal Games в 2004 и 2005 годах (разные сроки и издатели для разных территорий). Геймплей в игре был основан на разрушительных гонках по трассам с кучей мелких и крупных динамических объектов с почти честной физикой, для чего потребовалась разработка впечатляющего физического движка с отличными возможностями.

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

FlatOut была первой мультиплатформенной игрой компании, и в процессе создания игрового движка и самой игры компания приобрела важный опыт по созданию подобных проектов. В уже далеком 2004 году игра FlatOut стала неожиданной и весьма эффектной новинкой в мире гоночных аркад. Главным ее козырем была ранее не виданная в таком количестве и качестве физика. Разработчики не стали отходить от выгодной схемы и во второй части игры.

FlatOut 2 — это долгожданное продолжение весьма эффектной и интересной аркадной гоночной игры от Bugbear Entertainment, которое было выпущено в Европе в конце июня 2006 года и предложило еще большее разнообразие автомобилей, трасс и режимов игры. Североамериканская версия игры поступила в продажу немногим позднее — в августе этого года.

В продолжении игры физика также играет важнейшую роль в геймплее, а соответствующий физический движок собственного производства получил новые модификации. Из-за подобных оптимизаций производительность физического движка, по оценкам самой Bugbear, возросла более чем в два раза, а среднее количество динамических объектов, обсчитываемых на трассах игры, возросло с 3000 (в первой части игры) до 5000 штук и более.

Графический движок игры также получил многочисленные изменения и улучшения со времен первой части. Улучшения заметны в усложненном освещении и текстурировании моделей автомобилей. Так, для визуализации последних используется до пяти проходов рендеринга для эмуляции попиксельного освещения и подповерхностного рассеивания (subsurface scattering). Еще одним большим отличием стало применение полноэкранных эффектов постобработки, таких, как motion blur и bloom.

Немного об истории компании-разработчика. Bugbear Entertainment Ltd. — это независимая финская компания, разрабатывающая компьютерные и видеоигры. Она была основана весной 2000 года и состоит всего лишь из 35-40 человек (данные на прошлый год). Все это время Bugbear производила исключительно гоночные игры разных типов, от аркад до серьезных симуляторов. Список наиболее известных игр, разработанных компанией:

  • 2001 — Rally Trophy (PC)
  • 2003 — Tough Trucks (PC)
  • 2004 — FlatOut (PC, Xbox, PlayStation 2)
  • 2006 — FlatOut 2 (PC, Xbox, PlayStation 2)

Со времени основания в 2000, Bugbear Entertainment вела работу исключительно над гоночными играми, а публичная история компании началась с выхода в 2001 году очень неплохого раллийного симулятора Rally Trophy. Благодаря разработке отличного игрового движка для этой игры, компания стала одним из технологических лидеров среди производителей трехмерных гоночных движков, а дополнительные улучшения физической и графической части движка в FlatOut дополнительно укрепили позиции компании.

Исторический раллийный симулятор Rally Trophy, несмотря на свою ПК-эксклюзивность и направленность на определенную немногочисленную аудиторию, был продан в количестве более чем 600000 копий. На момент выхода Rally Trophy обладала отличным технологичным 3D движком, отличающимся рендерингом динамических теней при помощи карт теней, ярким постфильтром sun flare, а также использованием кубических карт среды. Не говоря о дизайне и арте (модели, текстуры), которые были выполнены на очень высоком уровне. Rally Trophy отличилась и очень неплохой реализацией физической модели поведения автомобиля, игра стала отличным раллийным симулятором, за что и получала в то время отличные рецензии в прессе. Игра получила много хвалебных отзывов и стала одной из лучших гоночных игр 2001-2002 годов на ПК.

В 2003 году компания закончила разработку игры Tough Trucks, гоночной игры на больших грузовиках, изданной Activision в основном для рынка Северной Америки, где эти грузовики и популярны. Для остальных территорий, после раллийного симулятора Rally Trophy в Bugbear решили сделать что-то другое и в 2002 году стали разрабатывать концепцию будущей игры FlatOut, основной целью разработчиков в которой стало введение в жанр аркадных гонок чего-то нового, какой-то свежей идеи. И вот, в ноябре 2004 появилась FlatOut, причем релиз был сразу на PlayStation 2, Xbox и ПК. Между первой и второй частями прошло два года, между ними компания выпустила N-Gage проект Glimmerati, а теперь работает над другими, еще не объявленными консольными и ПК проектами.

Игра FlatOut 2 стала еще одной гоночной компьютерной и видеоигрой, разработанной финнами. Она издавалась компанией Empire Interactive и впервые поступила в продажу в России 29 июня 2006 года, 30 июня 2006 года произошел европейский релиз, а североамериканская версия датируется 1 августа 2006 г. К слову, европейские версии защищены StarForce 4, а американская — SecuRom 7, и в обзоре применялась американская версия, из-за невозможности анализа в PIX и других подобных средствах исполнимого файла игры, защищенного StarForce.

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

О том, что финская студия Bugbear Entertainment работает над продолжением автомобильной аркады FlatOut, сроком релиза которого был назначен 2006 год, стало известно в середине июля 2005 года. С самого начала нам рассказали, что в продолжении будет более 16 моделей автомобилей и еще более богатые на многочисленные объекты ландшафты. Уже тогда было ясно, что с точки зрения 3D технологий игра, скорее всего, не предложит ничего нового для владельцев ПК, так как она должна была появиться сразу же и на консолях, уже тогда явно устаревающих — PlayStation 2 и Xbox. Издателями игры были сразу назначены те же компании, что и в прошлый раз, Empire Interactive для европейских территорий и Vivendi Universal Games в качестве североамериканского издателя.

12 октября 2005 года компанией Bugbear был выпущен официальный пресс-релиз с информацией о тираже игры FlatOut и анонсом игры FlatOut 2, выход которой был назначен на лето 2006 в версиях для PlayStation 2, Xbox и ПК. Были названы некоторые из планируемых улучшений, которые предполагались во второй части игры — улучшения мультиплеера, графической и физической части, увеличенное количество трасс, режимов и автомобилей, а также появление нового режима чемпионата.

Ну а в феврале уже 2006 года компания "Бука" объявила о выпуске игры FlatOut 2 на территории России. В числе особенностей игры объявлены все те же новые трассы, увеличенное количество автомобилей (35 штук) с возможностью апгрейда, улучшенные физический и графический движок игры, а также большее количество объектов на трассах.

Отмечалось, что автомобили будут поделены на несколько классов: "derby" (разбитые ржавые и не особо мощные), "race" и "street" — более мощные, новые и сверкающие свежей краской. Количество новых треков было также указано — во FlatOut 2 их должно было стать 60, причем они стали менее прямолинейными, с большим количеством срезок и т.п. Примерно тогда же появились и первые скриншоты будущей игры.

   

   

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

Дополнительно было объявлено, что все три версии игры FlatOut 2 для разных платформ будут поддерживать мультиплеер, и они будут предлагать одинаковые возможности игрокам, использующим разные платформы (за исключением того, что PS2 версия поддержит шесть игроков, а ПК и Xbox — восемь), чего не было в первой части игры.

В дальнейшем, много скриншотов появились весной, особенно во время E3 2006, а также перед этой выставкой.

   

   

По скриншотам можно было оценить как сами уровни и модели автомобилей, так и четкие текстуры, новый эффект постобработки bloom, а также эффекты, выполненные при помощи систем частиц. Примерно тогда же вышел и официальный трейлер игры, ну а последняя пачка скриншотов появилась летом 2006 года, прямо перед релизом.

   

На этих скриншотах видны все те же дополнительные виды постобработки — motion blur и яркий bloom, остальное осталось по-прежнему. Это и немудрено, ведь уже в конце июня состоялся релиз игры. Кстати, демо-версию игры Bugbear Entertainment выпустили совсем недавно — в декабре 2006 года. Она содержит четыре трассы и три доступных автомобиля и уже мало кого способна заинтересовать, на мой взгляд.

Уровень графики на всех скриншотах практически не отличался того, что мы увидели в релизе игры. Да и от первой то части технологические отличия хоть и были, но не такие уж существенные, основными отличиями стал оптимизированный физический движок и явно похорошевший арт (модели и текстуры). Нам снова показали все основные особенности улучшенного движка: богатство деталей на локациях и трассах, динамические карты теней для моделей автомобилей и персонажей, пару новых постфильтров, среди которых особенно выделяется излишне яркий bloom.

Особенности графики в игре

Как мы отметили выше, в 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 представлены локации в виде больших открытых пространств. Для всех объектов используется изменение уровня детализации в зависимости от расстояния между камерой и объектом, поэтому игра неплохо регулирует сложность сцены и количество полигонов в кадре. Используются некоторые ухищрения для снижения количества вызовов функций отрисовки, хотя оно и остается большим, как мы выяснили в первой части статьи. Несколько примеров с разными уровнями игры представлено на следующих скриншотах:

Outdoor     Outdoor

Indoor     Indoor

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

В игре применяется мультитекстурирование максимум до четырех текстур на пиксель, насколько помню, это ограничение шейдерной модели версии 1.1. Наложение карт нормалей не применяется, рассчитывается только бликовая составляющая от одного основного источника света — солнца, что можно увидеть на приложенных картинках:

Normal mapping     Normal mapping

Несмотря на кажущийся бампмаппинг, его там нет. Зато есть очень неплохие текстуры, которые, похоже, в ПК версии отличаются от всех остальных в лучшую сторону. Разрешение большинства текстур достаточно высоко, лишь в некоторых случаях хотелось бы больше детализации, а особенно — применения нормалмаппинга, хотя бы для моделей автомобилей. Впрочем, в столь динамичной игре это не так важно. Кстати, для моделей автомобилей используются атласные текстуры разрешением с 1024x1024, основная масса текстур имеет формат DXT3, есть также и DXT1. Все текстуры предварительно сжаты.

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

Для рендеринга автомобилей и персонажей используются более сложные текстурные и пиксельные эффекты, рассчитываются и блики от одного источника света. И в том и в другом случае используется простенький расчет освещения, который годится разве что для сцен, подобных тем, что мы видим в обсуждаемой игре — с одним статическим источником света. Никакой динамики, только один источник света — это очень жесткие ограничения, не позволяющие применять подобное во многих играх. Зато в проектах, подобных FlatOut 2, он вполне применим. Кроме того, из-за того, что для основной части объектов уровня используется заранее рассчитанное освещение, главной задачей шейдеров является простое текстурирование и смешивание, поэтому пиксельные шейдеры в игре очень простые.

Textures     Textures

Textures     Textures

Видно, что художники, работавшие над FlatOut 2, сделали свою работу отлично, налицо приличные текстуры высокого разрешения. Вероятно, сказалось и отсутствие карт нормалей и прочих текстур, что сейчас принято использовать (карты бликов и карты высот), и все аппаратные возможности целевых игровых платформ были пущены на основные текстуры.

Для имитации отражений на моделях автомобилей используется шесть статичных текстур (вроде шести граней cubemap карты среды), заранее подготовленные разработчиками, на каждый тип уровней (город, лес, и т.п.) — по отдельному набору. Опять же, для сравнения — в современных играх принято делать динамические карты отражений, которые дают более реалистичный результат. Посмотрите, хорошо видно, что отражения деревьев и зданий на капоте автомобиля не соответствуют реальному положению дел:

Reflection     Reflection

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

Геометрическую детализацию моделей и локаций в FlatOut 2 также можно считать несколько устаревшей. Хотя при обычных положениях камеры и скоростей в игре это неважно, так как автомобили редко едут медленно и близко к камере. А вот на уровнях иногда видны те объекты, которым хотелось бы дать побольше деталей. Но в таких играх заметно важнее то, что система повреждений позволяет разбитым и помятым машинам выглядеть реалистично, автомобили состоят из множества деталей, которые мнутся, а порой вообще отваливаются.

Models     Models

Models     Models

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

Тени рассчитываются от одного источника освещения. Тени от машин и персонажей рендерятся при помощи 16-битных карт теней с разрешением 256х256 (на максимальных настройках), куда рендерится малополигональная модель автомобиля. Также используются и банальные темные пятна под автомобилями, видимые по скриншотам и известные нам по очень старым играм. Рендерятся как эти пятна, так и динамические тени, рассчитанные при помощи карт теней. Для смягчения границ динамических теней используется и аппаратная текстурная фильтрация и определенная в шейдере на базе нескольких выборок. Самозатенения нет, равно как и затенения других динамических объектов, тень отбрасывается только на поверхность земли.

Shadows     Shadows

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

Во FlatOut 2 карты теней используются, но только для моделей автомобилей и вылетевших из них водителей, а для любых объектов окружения тени предрассчитаны и содержатся в той самой большой текстуре, которая растягивается на всю локацию. Поэтому, если объект сдвинулся с места (а в игре таких ситуаций предостаточно), тени от них остаются на месте, что смотрится весьма нереалистично. Спасает лишь высокая динамика игры, когда на тени не обращаешь особого внимания… Но на скриншотах видно, что заранее рассчитанные тени недостаточно детализированы из-за того, что большая текстура для всей локации имеет хоть и большое разрешение, но даже его не хватает. А вот тени от машин неплохи, их края мягкие, а тени не слишком интенсивные.

Не обошлось и без нескольких водных поверхностей, больших (озера) и мелких (лужи, бассейн). Нельзя сказать, что водные поверхности в игре сделаны хорошо или реалистично. Как и всё остальное, они не технологичны, у воды во FlatOut 2 нет ни реалистичных отражений, ни тем более преломлений. Волны кое-какие есть, и то хорошо. Смотрим на скриншоты и вспоминаем прошлый век:

Water     Water

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

Particles     Particles

Particles     Particles

Во второй части игры появились эффекты постобработки, применяются наиболее распространенные в гоночных играх фильтры: bloom — фильтр, увеличивающий яркость светлых участков изображения и motion blur — размытие картинки в движении, призванное подчеркнуть высокую скорость движения автомобиля при использовании ускорения. Также, со времен первой части есть и эффект sun flare, все их можно увидеть на скриншотах:

Postprocessing (bloom) Postprocessing (bloom)Postprocessing (bloom) Postprocessing (bloom)
Postprocessing (flare) Postprocessing (motion blur)Postprocessing (flare) Postprocessing (motion blur)
Postprocessing (motion blur) Postprocessing (misc)Postprocessing (motion blur) Postprocessing (misc)

Эффекты применяются по делу и к месту, такая веселая игра должна радовать веселыми красками и ярким солнцем. Интересно, что motion blur делается не полноэкранно, смазываются только края экрана. Это позволяет не отвлекать внимание игрока, так как во FlatOut 2 это чревато "дорогими" вылетами и столкновениями.

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

Postprocessing     Postprocessing

Это уже хорошо, но можно сделать еще лучше. Уменьшенное изображение второй текстуры подвергается нескольким проходам фильтра blur, получается сильно размазанная исходная картинка, для которой дополнительно увеличивают и цветовую насыщенность.

Postprocessing

Затем, при смешивании оригинального изображения и итогового уменьшенного и отфильтрованного получается bloom эффект. Для создания же эффекта motion blur, используемого на больших скоростях при ускорении, применяется еще один буфер с проходами фильтра radial blur вместо blur. Она получается примерно такой:

Postprocessing

Далее игра смешивает три разных буфера: оригинального, полученного в результате цветокоррекции, и двух уменьшенных и отфильтрованных, причем, для motion blur используется не вся площадь картинки, а только её края. Получаем одновременное применение bloom и motion blur. Разница в итоге очень велика:

Postprocessing     Postprocessing

Правда, на мой взгляд, bloom у авторов получился излишне насыщенным и ярким, но это уже дело вкуса. Все применяемые форматы render targets — 32-битные, никаким представлением цвета в широком динамическом диапазоне (HDR) тут и не пахнет, к сожалению. А ведь в игре сделали имитацию разного времени суток и при разных условиях освещения HDR рендеринг и tone mapping были бы весьма полезны, как для улучшения качества эффектов постфильтрации, так и имитации эффекта адаптации человеческого зрения к изменению условий освещения.

В общем, по 3D технологиям, примененным в игре, можно сделать такой вывод: FlatOut 2 не использует никаких современных графических технологий: освещение, пиксельная и вершинная обработка в игре по современным меркам примитивны. Но в том и штука, что само по себе применение технологий не дает ничего. Хорошего результата не добиться без наличия грамотных дизайнеров, создающих отличный контент, а также без грамотных программистов, которые понимают, что мультиплатформенной игре действительно нужно, а без чего можно обойтись, и которые способны выполнить оптимизацию так, что хорошо выглядящая игра приемлемо работает даже на устаревших консолях. Да, ПК-шникам может быть немного обидно, что их ограничивают старые консоли, но судить ведь нужно по результату, то есть по итоговой картинке, а она у FlatOut 2 даст фору и некоторым более технологичным конкурентам.

Игра хорошо выглядит и не тормозит именно из-за того, что ничего технологичного в ней нет, но текстуры, модели и прочий арт сделан очень хорошо. Также можно отметить хорошую оптимизацию под мультиплатформенный релиз на ПК и консолях. С другой стороны, по своим возможностям графический движок не ушел далеко от того, который мы видели еще в игре Rally Trophy целых пять лет назад! Да, во FlatOut 2 есть примитивные вершинные и пиксельные шейдеры версий 1.1, но этого уже недостаточно. И даже при том, что игра выглядит очень хорошо, на мой взгляд, можно было сделать специальную версию для ПК, с большими возможностями и использованием хотя бы некоторых современных графических технологий.

В игре есть лишь примитивные динамические тени только для автомобилей, простые пиксельные эффекты на всех поверхностях, отсутствие динамических отражений и т.п. Но это же дает возможность рендеринга очень большого количества динамических объектов в кадре. Так как на рендеринг каждого объекта тратится малое количество вызовов отрисовки, появилась возможность увеличить их количество, при том, что производительность осталась отличной. Так что игра FlatOut 2 красивая, но совсем не технологичная, нужно учиться отличать эти моменты. Лично мое мнение — игра неплохо сбалансирована с учетом консольных версий, но чуть-чуть отстает по технологиям по меркам средних ПК проектов. Хотелось бы видеть динамические тени от всей геометрии вообще, более сложные пиксельные расчеты (освещение, прежде всего) и чуть больше текстур и полигонов в сцене. В остальном игра весьма хороша.

Настройки качества графики

Хотя игра отлично оптимизирована и технологически несколько устарела, нам все же нужно рассмотреть влияние 3D настроек на производительность игры. Несмотря на то, что играть во FlatOut 2 даже в высоких разрешениях на максимальных настройках могут себе позволить все обладатели даже mid-end видеокарт, пользователям более старых и медленных видеосистем это описание может помочь в достижении приемлемого соотношения производительности и качества рендеринга. Игра не предлагает широкого набора настроек, нельзя даже отключить динамические тени, поэтому этот раздел в статье не будет слишком большим по объему.

Если вдруг при игре на максимальных настройках не достигается нужная частота кадров, которую можно оценить визуально, нужно проверить среднюю частоту кадров при помощи сервера статистики RivaTuner или приложения FRAPS, например. Чтобы устранить низкий уровень производительности, нужно изменять игровые настройки так, чтобы достичь средней частоты кадров хотя бы выше 40-50 FPS. Основные параметры, на которые следует обратить внимание во FlatOut 2: "Display Mode", "Postprocessing", "Antialiasing" и "Anisotropy", мы их подробно разберем далее.

К сожалению, мало того, что игра не позволяет тестировать производительность встроенными средствами, у нее нет даже возможности записи повторов, что сильно усложняет задачу корректного тестирования производительности. Поэтому тестирование производительности доступно только примерное, с использованием утилит, подсчитывающих средний FPS, подобных FRAPS. Тесты проводятся так: запускается FRAPS и игра, делается измерение среднего FPS во время прохождения одной и той же "быстрой" гонки в любом из режимов. К сожалению, стартовая позиция и поведение соперников всегда отличаются, и разброс результатов может быть весьма велик, ведь сама гонка никогда не будет проходить одинаково. Такие измерения для серьезных тестов не годятся, ну а для наших прикидок вполне подойдут.

Для комфортной игры полученная средняя частота кадров должна быть не меньше 40-50 FPS, а еще лучше — 60 FPS. И если частота кадров ниже, то лучше снизить настройки. И наоборот, если средний FPS больше 50-60 и скорости хватает, можно попробовать улучшить качество картинки, изменив настройки в большую сторону. Повторяя эксперименты, нужно постараться получить приемлемый вариант, не забывая, что уровни в играх могут отличаться с точки зрения нагрузки на видеокарту.

Обычно мы рассматриваем влияние графических настроек игры с двух сторон, принимая за точку отсчета максимальные и минимальные настройки в разрешениях 1024x768 и 640x480, соответственно, но в этот раз пришлось отойти от методики. Просто потому, что на тестовой системе производительность при всех протестированных настройках всегда была искусственно ограничена игрой сверху на отметке 100 FPS! Поэтому пришлось тестировать только разрешение 1600x1200 и только при максимальных настройках.

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

  • Display Mode (богатый список 16-битных и 32-битных разрешений, начиная от 512x384 и заканчивая 2048x1536) — опция управляет разрешением рендеринга, т.е. количеством пикселей по горизонтали и вертикали, которые игра будет отображать. Список разрешений в игре очень широкий, присутствуют все поддерживаемые видеокартой и монитором разрешения экрана, в том числе самое востребованное из-за широкого распространения LCD мониторов разрешение 1280x1024, а также широкоэкранные разрешения.

    Нужно отметить, что широкоэкранные разрешения в игре хотя и есть, но искажают картинку. При их установке настоящее соотношение сторон 16:9 не используется, картинка с соотношением 4:3 растягивается в широкоэкранную. Кстати, выбор разрешения на тестовой системе на производительности сказывается не очень сильно, и виновато тут искусственное ограничение производительности в игре.

  • Anisotropy (ползунок из 16 возможных значений) — установка уровня анизотропной фильтрации, используемой движком игры. Доступны все возможные значения от 0 до 16, зачем-то сделана возможность выбора таких несуществующих значений, как 13 и 7, например. Выглядит картинка при включенной и отключенной анизотропной фильтрации аналогично всем остальным играм:

    Anisotropic filtering on     Anisotropic filtering off

    Видно, что анизотропная фильтрация заметно улучшает четкость плоских поверхностей в игре, а их там очень много. На производительности анизотропка сказывается очень сильно. Для режима максимальных настроек и высокого разрешения, разница в скорости между минимальным и максимальным значениями данной настройки составила 23-25%.

  • Antialiasing (None/2 Samples/4 Samples) — обычная для современных игр настройка полноэкранного антиалиасинга. В список доступных значений входят все поддерживаемые видеокартой режимы мультисэмплинга, в нашем случае — 2x и 4x, вместе с режимом без антиалиасинга.

    Зависимость производительности от включения мультисэмплинга имеется, разница между производительностью в режимах с отключенным антиалиасингом и включенным максимально возможным значением равна примерно 27-30%. Сказывается упор в производительность блоков ROP, про который мы говорили в самом начале.

  • Triple Buffering (On/Off) — возможность включения тройной буферизации, вместо используемой по умолчанию двойной. Немного увеличивает использование видеопамяти (что может быть критично разве что для самых высоких разрешений с включенным антиалиасингом), но улучшает плавность рендеринга. Если вам хватает производительности, а видеопамяти установлено 128 мегабайт и более, нет смысла отключать эту настройку, лучше не будет.

  • Refresh Rate (все доступные для выбранного разрешения экрана частоты обновления) — настройка, управляющая значением частоты обновления экрана, используемого игрой. Это значение ограничено возможностями используемого устройства вывода, и для распространенных LCD мониторов этот параметр малозначим, по сравнению с мониторами на базе электронно-лучевых трубок. Для первых можно установить значение 60 Hz или оставить по умолчанию, а вот для ЭЛТ мониторов лучше будет выставить максимально возможное значение, чтобы избежать неприятного мерцания. На производительности параметр не сказывается, кроме случая форсирования вертикальной синхронизации видеодрайверами и установки низкой частоты обновления, разве что.

  • Post-Processing (On/Off) — самая важная в смысле влияния на производительность настройка. Она включает два эффекта постобработки в игре: bloom и motion blur. Естественно, при отключенной постобработке производительность будет выше, так как видеочип лишается большой части работы, также снижаются требования к количеству локальной видеопамяти, так как постобработка использует довольно крупные внеэкранные поверхности для хранения промежуточных результатов. Значение сильно влияет и на качество картинки:

    Postprocessing on     Postprocessing off

    Влияние постфильтрации на получаемую частоту кадров оказалось самым большим среди всех имеющихся настроек. При разрешении 1600x1200 с включенным антиалиасингом и максимальными настройками, разница между показанными на картинках режимами составила более 30%, что даже чуть больше влияния включенного антиалиасинга уровня 4x.

Еще две настройки доступны из меню в самой игре. Их можно вызвать, выбрав в главном меню пиктограмму "Options", а затем подменю "Game Options". Нас интересуют только два последних параметра в том списке.

  • Texture Quality (Very Low/Low/Medium/High/Very High) — параметр, позволяющий выставить нужное разрешение текстур, используемых игрой. Доступны пять значений, разница между крайними из них показана на сравнительных картинках:

    Textures very high     Textures very low

    Видно, что данный параметр самым серьезным образом влияет на качество рендеринга. Важнее него не может быть ничего, так как текстуры — это одна из важнейших составляющих 3D изображения. Изменяется как разрешение текстур на автомобилях, так и на объектах уровня и даже — элементов интерфейса. А вот влияние на производительность не так велико — всего 7% в обозначенных выше условиях, в разрешении 1600x1200 и максимальных настройках качества.

  • View Distance (от 0% до 100% с шагом 10%) — еще один важный параметр, который не сильно сказывается на производительности тестовой системы, но влияет на получаемую картинку. Он определяет дальность рендеринга объектов сцены. При максимальном значении видна вся трасса из любой точки (с учетом уровня детализации, конечно), при остальных дальность ограничивается, и на минимальном значении отображаемые поверхности прерываются в нескольких сотнях метров перед камерой.

    View Distance 100%     View Distance 0%

    На скриншотах видно, что при минимальном значении View Distance рендерится не вся локация, часть ее при этом как бы обрезается. Это нужно для ускорения рендеринга на самых слабых конфигурациях, на тестовом ПК значительного влияния настройки на скорость обнаружено не было.

В секции производительности остается отметить, что на тестовой системе играбельны все максимальные настройки и все доступные разрешения экрана при любом уровне анизотропной фильтрации и антиалиасинга. Так, средний FPS по всей игре в разрешении 1600x1200 и максимальных настройках был близок к искусственному пределу в 100 FPS, а минимальный FPS не опускался ниже 40-60 FPS, в зависимости от режима игры и уровня. Возможно, владельцы самых слабых видеокарт и испытывают проблемы с производительностью игры, но я уже давно такого не припомню, чтобы в современной игре проблем с производительностью не было вообще :).

Дополнительные возможности настройки

Игра FlatOut 2 использует два конфигурационных файла, один из которых может быть исправлен пользователем для более подробной настройки качества картинки и производительности. Оба файла расположены в подкаталоге Savegame в основной папке игры и имеют расширение *.cfg. Первый из них — device.cfg, это бинарный файл, которые можно отредактировать соответствующими утилитами, но в этом нет смысла, так как туда записываются основные графические настройки FlatOut 2, настраивающиеся при помощи встроенной конфигурации. Как обычно, перед изменением файлов советуем создавать их резервные копии — на всякий случай.

Второй конфигурационный файл интереснее, он называется options.cfg и содержит некоторые параметры, не имеющие аналогов ни в меню самой игры, ни в её дополнительных настройках. Данный файл имеет текстовый формат и его можно отредактировать любым доступным способом, начиная с встроенного в систему Notepad.

  • Settings.Visual.AlphaBlend (TRUE/FALSE) — настройка, отсутствующая в меню игры и в настройках, вызываемых при запуске игры с ключом "-setup". Она отключает эффекты, использующие альфаблендинг, что вызывает как ухудшение качества картинки, так и небольшое увеличение производительности за счет снижения нагрузки на видеочип. В разрешении 1600x1200 с максимальными настройками разница в производительности на тестовой системе составила 3-4%, что совсем немного, так как игра крайне нетребовательна к производительности видеокарты. Разница в качестве картинки также имеется:

    Alphablending on     Alphablending off
  • Settings.Visual.SunFlare (TRUE/FALSE) — этот параметр также не имеет аналогов в основных настройках FlatOut 2, он отвечает за включение визуализации бликов от солнца. Особого эффекта на производительность настройка не оказывает, если не считать максимум пары процентов разницы, показанной на тестовой системе. А вот картинка отличается больше, причем разница заметна на большинстве уровней:

    Sun flare on     Sun flare off
  • Settings.Visual.TextureQuality (0/1/2/3/4) — эта настройка аналогична внутриигровому параметру, доступному из основного меню. Она отвечает за регулировку качества (разрешения) текстур, используемых в игре. Значения от 0 до 4 соответствуют значениям от Very Low до Very High, никаких дополнительных возможностей настройки нет. Разницу в производительности и качестве картинки можно посмотреть выше по тексту.

  • Settings.Visual.TrackDetail (0/1/2) — а вот этого параметра в настройках игры нет. Но он то ли не влияет на рендеринг, то ли влияет очень незначительно. Судя по названию, он должен отвечать за детализацию трасс, но так как в игре нет возможности снятия скриншотов с одного и того же места, определить это весьма непросто. Хотя разницы в производительности не обнаружено.

  • Settings.Visual.PS2MotionBlurIngame (0…255) — судя по названию, и по тому, что разные значения настройки не вызывают никаких изменений в качестве картинки и производительности игры, можно предположить, что это либо эффект motion blur для PlayStation 2, не работающий в ПК версии, либо motion blur, выполненный при помощи пиксельных шейдеров версии 2.0, который по какой-то причине в игре не работает. В любом случае, никакого эффекта на тестовой системе этот параметр не имеет.

  • Settings.Visual.Visibility (0…100) — еще одна настройка, полностью дублирующая таковую в игре. Эта настройка дальности прорисовки есть в главном меню игры, единственным преимуществом ее регулировки при помощи конфигурационного файла может быть более точная подстройка, без фиксированного шага в 10%.





10 января 2007 Г.

: FlatOut 2

: FlatOut 2



3D
iXBT.com

: Bugbear Entertainment
: Empire Interactive/Vivendi Universal Games
: 2006 .
API: Direct3D 9 ( Direct3D 8)

, FlatOut 2 3D - . , , , . , . — , , 3D , .

FlatOut 2 — , , ( ) -. , FlatOut 1 . , .

; , , , ; ; , , .

FlatOut 2 Bugbear Game Engine, , , , , - 3D . , . , . , 1600x1200, 1024x768, FPS 100 , .

, , , . , , ( ). , , . , : bloom motion blur.

1.1, , — — Xbox. , , . 40 , 12 : 4 8 . , SM 1.1, , . , , , . , 1.1. , GeForce 7800 GTX, Shader Model 3.0, 1.1 1.1.

, , 3D . 20000 300000, , 80000 , — 160000. 100000 , . FlatOut 2 870, — 3500! , , , - .

, 1600x1200 4x , 150 , ( 70-80 , — ). 3D , 1600x1200 120-130 , mid-end low-end .

NVIDIA , 1600x1200 4x, GeForce 7800 GTX gpu_idle 20% . , , 5% , , 40% GPU! , pixel_shader_busy 17-18%, . , 15%, — 20%. vertex_shader_busy — 4%, . GeForce 7800 GTX .

shader_waits_for_texture — 30%. , . (shader_waits_for_rop) — 23-24%, . . , , .

NVIDIA:

Default MSAA off Anisotropic off Textures very low View Distance 0% Post processing off Alpha blending off
FPS 73.8 93.5 90.7 78.6 75.6 98.0 76.5
gpu_idle, % 0.0 1.2 0.9 0.2 0.0 31.4 0.1
vertex_shader_busy, % 2.8 3.2 3.2 2.7 2.4 3.3 2.6
pixel_shader_busy, % 25.4 31.2 30.9 27.4 25.8 15.2 25.4
triangle count, polys 114564 111747 113906 114747 95236 111798 110850
batch count 479 471 479 485 423 459 469
shader_waits_for_texture, % 38.4 38.7 21.4 33.8 37.8 29.1 38.3
shader_waits_for_rop, % 33.3 12.2 40.6 34.3 33.8 21.9 33.2
video memory, Mb 179 109 177 140 175 159 176

, , ( , 100 FPS). . , , — ROP .

gpu_idle , GPU , . , ! FPS ! , , ROP. vertex_shader_busy , — , . pixel_shader_busy , , .

shader_waits_for_texture , . . shader_waits_for_rop — , , , , ROP. , .

. , , . () , , .

, . , . batch count — , . , .

— FlatOut. , Bugbear Entertainment Empire Interactive Vivendi Universal Games 2004 2005 ( ). , .

FlatOut , , . , , , . , . .

FlatOut , . 2004 FlatOut . . .

FlatOut 2 — Bugbear Entertainment, 2006 , . — .

, . - , Bugbear, , , , 3000 ( ) 5000 .

. . , (subsurface scattering). , , motion blur bloom.

-. Bugbear Entertainment Ltd. — , . 2000 35-40 ( ). Bugbear , . , :

  • 2001 — Rally Trophy (PC)
  • 2003 — Tough Trucks (PC)
  • 2004 — FlatOut (PC, Xbox, PlayStation 2)
  • 2006 — FlatOut 2 (PC, Xbox, PlayStation 2)

2000, Bugbear Entertainment , 2001 Rally Trophy. , , FlatOut .

Rally Trophy, - , 600000 . Rally Trophy 3D , , sun flare, . (, ), . Rally Trophy , , . 2001-2002 .

2003 Tough Trucks, , Activision , . , Rally Trophy Bugbear - 2002 FlatOut, - , - . , 2004 FlatOut, PlayStation 2, Xbox . , N-Gage Glimmerati, , .

FlatOut 2 , . Empire Interactive 29 2006 , 30 2006 , 1 2006 . , StarForce 4, — SecuRom 7, , - PIX , StarForce.

FlatOut, , , . : , , , - , , , , , .

, Bugbear Entertainment FlatOut, 2006 , 2005 . , 16 . , 3D , , , , — PlayStation 2 Xbox. , , Empire Interactive Vivendi Universal Games .

12 2005 Bugbear - FlatOut FlatOut 2, 2006 PlayStation 2, Xbox . , — , , , , .

2006 "" FlatOut 2 . , (35 ) , , .

, : "derby" ( ), "race" "street" — , . — FlatOut 2 60, , .. .

   

   

, "". , , . , , , , .

, FlatOut 2 , , ( , PS2 , Xbox — ), .

, , E3 2006, .

   

   

, , bloom, , . , 2006 , .

   

— motion blur bloom, -. , . , - Bugbear Entertainment — 2006 . , .

, . , , ( ). : , , , bloom.

, 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 . , . , , . :

Outdoor     Outdoor

Indoor     Indoor

, . , , . , , , , , , .

, , 1.1. , — , :

Normal mapping     Normal mapping

, . , , , . , , — , . , . , 1024x1024, DXT3, DXT1. .

, . , , , . , , , ..

, . , , , — . , — , . , FlatOut 2, . , - , , , .

Textures     Textures

Textures     Textures

, , FlatOut 2, , . , , ( ), .

( cubemap ), , (, , ..) — . , — , . , , :

Reflection     Reflection

, , , FPS. , .

FlatOut 2 . , . , . , , , , .

Models     Models

Models     Models

, , , - . , , .

. 16- 256256 ( ), . , . , , . . , , .

Shadows     Shadows

, . , . . , . , .

FlatOut 2 , , , . , ( ), , . , … , - , , . , , .

, () (, ). , . , , FlatOut 2 , . - , . :

Water     Water

, FlatOut . , . , , , .

Particles     Particles

Particles     Particles

, : bloom — , motion blur — , . , sun flare, :

Postprocessing (bloom) Postprocessing (bloom) Postprocessing (bloom) Postprocessing (bloom)
Postprocessing (flare) Postprocessing (motion blur) Postprocessing (flare) Postprocessing (motion blur)
Postprocessing (motion blur) Postprocessing (misc) Postprocessing (motion blur) Postprocessing (misc)

, . , motion blur , . , FlatOut 2 "" .

. , . (render target), ( ):.

Postprocessing     Postprocessing

, . blur, , .

Postprocessing

, bloom . motion blur, , radial blur blur. :

Postprocessing

: , , , , motion blur , . bloom motion blur. :

Postprocessing     Postprocessing

, , bloom , . render targets — 32-, (HDR) , . HDR tone mapping , , .

, 3D , , : FlatOut 2 : , . , . , , , , , , , . , - , , , , FlatOut 2 .

- , , , . . , , Rally Trophy ! , FlatOut 2 1.1, . , , , , .

, , .. . , , , . FlatOut 2 , , . — , - . , (, ) . .

, 3D . , FlatOut 2 mid-end , . , , .

, , RivaTuner FRAPS, . , , 40-50 FPS. , FlatOut 2: "Display Mode", "Postprocessing", "Antialiasing" "Anisotropy", .

, , , , . , , FPS, FRAPS. : FRAPS , FPS "" . , , , . , .

40-50 FPS, — 60 FPS. , . , FPS 50-60 , , . , , , .

, 1024x768 640x480, , . , 100 FPS! 1600x1200 .

, , , , "-setup". , :

  • Display Mode ( 16- 32- , 512x384 2048x1536) — , .. , . , , - LCD 1280x1024, .

    , , . 16:9 , 4:3 . , , .

  • Anisotropy ( 16 ) — , . 0 16, - , 13 7, . :

    Anisotropic filtering on     Anisotropic filtering off

    , , . . , 23-25%.

  • Antialiasing (None/2 Samples/4 Samples) — . , — 2x 4x, .

    , 27-30%. ROP, .

  • Triple Buffering (On/Off) — , . ( ), . , 128 , , .

  • Refresh Rate ( ) — , , . , LCD , - . 60 Hz , , . , , .

  • Post-Processing (On/Off) — . : bloom motion blur. , , , , . :

    Postprocessing on     Postprocessing off

    . 1600x1200 , 30%, 4x.

. , "Options", "Game Options". .

  • Texture Quality (Very Low/Low/Medium/High/Very High) — , , . , :

    Textures very high     Textures very low

    , . , — 3D . , — . — 7% , 1600x1200 .

  • View Distance ( 0% 100% 10%) — , , . . ( , ), , .

    View Distance 100%     View Distance 0%

    , View Distance , . , .

, . , FPS 1600x1200 100 FPS, FPS 40-60 FPS, . , , , :).

FlatOut 2 , . Savegame *.cfg. — device.cfg, , , , FlatOut 2, . , — .

, options.cfg , , . , Notepad.

  • Settings.Visual.AlphaBlend (TRUE/FALSE) — , , "-setup". , , , . 1600x1200 3-4%, , . :

    Alphablending on     Alphablending off

  • Settings.Visual.SunFlare (TRUE/FALSE) — FlatOut 2, . , , . , :

    Sun flare on     Sun flare off

  • Settings.Visual.TextureQuality (0/1/2/3/4) — , . () , . 0 4 Very Low Very High, . .

  • Settings.Visual.TrackDetail (0/1/2) — . , . , , , . .

  • Settings.Visual.PS2MotionBlurIngame (0…255) — , , , , motion blur PlayStation 2, , motion blur, 2.0, - . , .

  • Settings.Visual.Visibility (0…100) — , . , , 10%.