кол оф дьюти какой движок
Специалисты из Digital Foundry провели анализ трейлера Call of Duty: Modern Warfare и рассказали о собственных впечатлениях от игры в альфа-версию шутера. По словам техногиков, новый движок от Infinity Ward является настоящим прорывом для серии и показателем ее готовности к некстгену. Одна из главных отличительных черт — весь трейлер рендерился на PS4 Pro в реальном времени. «Никакого CGI и видео на движке — вы получите от игры то, что видите и это новая веха в истории франшизы».
Основной задачей разработчиков стало достижение максимального реализма. С прицелом на это они разрабатывали новый движок в течение пяти лет и специально готовили его к новому поколению консолей. Команда Infinity Ward активно применяла фотограмметрию — научно-техническую дисциплину, занимающаяся определением формы, размеров, положения и иных характеристик объектов по их фотоизображениям. В случае с движком, разработчики сканировали реальные объекты, что позволило им не только воссоздать их форму и внешний вид, но и материалы из которых они сделаны, включая их неровности и отражающую способность.
Разработка нового движка шла в течение пяти лет и Infinity Ward не намерена скрывать ее от посторонних глаз. Следующие серии Call of Duty будут использовать наработки Modern Warfare — включая Black Ops 5, которая выйдет в следующем году и разрабатывается сразу тремя студиями.
Call of Duty: Modern Warfare выйдет 25 октября на ПК, Xbox One и PS4.
Новый движок для новой Call of Duty
Одним из заметных событий прошедшей недели стал анонс новой части Call of Duty — ведь Call of Duty: Modern Warfare, ребут одноименного хита 2007 года, будет первой за 14 лет игрой серии, которая работает на новом движке, и к тому же будет поддерживать кросс-плей на PC, PS4 и Xbox One. На закрытом пресс-показе, устроенном для прессы и стримеров в Лос-Анджелесе, Activision показала 15 минут игрового процесса, чем вызвала небывалый восторг у публики. Всем остальным геймплей продемонстрируют только на E3, но, к счастью, произойдет это уже совсем скоро.
Удивительно, но похоже, что это действительно новый движок, а не обещания маркетологов Activision, которые вы могли слышать прошлые N раз; это подтверждают специалисты Digital Foundry, пообщавшиеся с разработчиками и выяснившие технические подробности.
Судя по ранним отзывам очевидцев, движок новой Call of Duty сможет составить полноценную конкуренцию актуальной версии Frostbite, поскольку разработчикам удалось достичь больших успехов по части картинки и звука. Разработка движка заняла 5 лет; в его создании принимала участие студия Infinity Ward Poland, которая была открыта в конце 2017 года с целью R&D. В создании игры принимают участие ветераны, покинувшие Infinity Ward после выхода оригинальной Modern Warfare и ушедшие в Respawn, а теперь вернувшиеся обратно поработать над ребутом (что само по себе забавно — ведь если бы не небывалый успех Modern Warfare и последовавший за ним скандал между Activision и отцами-основателями Infinity Ward, то Respawn и Titanfall никогда бы не появились на свет).
Интригует и тот факт, что к Infinity Ward некоторое время назад присоединились Джейкоб Минкофф и Тейлор Куросаки, ушедшие из Naughty Dog, где они принимали участие в работе над Uncharted и The Last of Us, после чего в компанию перешло еще несколько экс-сотрудников Naughty Dog. Вместе они отвечают за сюжетную составляющую новой игры, которая будет посвящена «взрослым» темам и обещает быть достаточно провокационной.
Технические подробности
Смысл в создании нового движка однозначен: в ближайшем будущем нас ждет next gen, который может наступить уже в 2020 и будет совместим с текущим поколением консолей. Перед разработчиками нового движка стояла задача заложить фундамент для дальнейших игр серии, не растеряв ее достоинств. Учитывая, что приоритетом технологической стороны Call of Duty всегда была способность поддерживать частоту кадров в 60 FPS, это была не самая простая задача, но им с успехом удается с ней справиться.
Отличительной особенностью трейлера новой Call of Duty является то, что (по утверждению разработчиков) всё показанное в нем — «по-честному», а сам трейлер записан на PlayStation 4 Pro (никаких CG/in-engine footage).
PBR и фотограмметрия
Радикальная переработка движка началась с создания передовой системы рендеринга, основанной на PBR и фотограмметрии. Здесь все достаточно стандартно — при сканировании объектов сохраняется не только информация об их форме, но и свойства материалов вроде roughness/reflectivity; этот шаг необходим для интеграции с новой системой освещения.
Серьезный апгрейд получила система освещения. Теперь движок реализует volumetric lighting, поэтому каждый источник света в игре по своей природе является объемным, благодаря чему стало возможным разнообразить атмосферу игровых уровней — например, добавить эффект сырости или стелющийся по земле туман. Сумеречные лучи (god rays) в игре также присутствуют, но это больше не эффект пост-процессинга, а полноценный результат столкновения лучей с геометрией игровых объектов.
Разумеется, движок поддерживает и рейтрейсинг на PC — без этого сегодня никуда.
Если внимательно взглянуть на трейлер и скриншоты, можно заметить, как сильно новый технологический стек и арт-дирекшн завязаны друг на друга — к примеру, скайбоксы и уровни освещенности воспроизведены по реальным локациям, а система пост-процессинга пусть и основана на наработках последних частей COD, но в очередной раз улучшена — на этот раз в основном в части интеграции с объемным светом (volumetric lighting).
Для справки: конкурент CoD и Activision — движок Frostbite, разработанный DICE и используемый в Battlefield — работает с фотограмметрией начиная со Star Wars: Battlefront (2015), о чем его разработчики делали доклад на GDC.
Спектральный рендеринг
Впечатляющим нововведением стало включение того, что разработчики называют «спектральным рендерингом». Эта система «видит» рендерер Call of Duty в реальном времени за пределами видимого спектра — то есть включая тепловое и инфракрасное излучение. Из-за новой системы реалистичного освещения в некоторых условиях без прибора ночного видения не обойтись. Присутствует здесь и геймплейный элемент — если вы внезапно включите свет, то можете ослепить тех, на ком сейчас надеты приборы ночного видения.
Здесь разработчики полностью отдались реализму, поэтому прибор не только точно передает оттенки температур окружения и целей, но и симулирует сенсоры низкого разрешения, используемые в различном оборудовании, достоверно передавая артефакты сжатия JPEG.
Реалистичное инфракрасное освещение — это то, чего еще никто в играх не делал. Неудивительно, что все были настолько впечатлены реалистичностью ночного видения — ведь до IW никто из разработчиков не включал «нативное» инфракрасное освещение в свой рендерер для того, чтобы материалы могли реалистично на него реагировать.
Гибридная система тайлового стриминга
Некоторые системы, используемые в движке, были разработаны с прицелом на будущее и на следующие игры серии. В частности, в движке наконец-то появилась возможность стриминга уровней, что потенциально открывает дорогу для создания гораздо больших уровней для мультиплеера, чем мы видели до этого в играх серии. Описанные детали системы во многом напоминают стандартные решения, используемые в других движках (например, World Streamer для Unity), а также виртуальную систему текстурирования, реализованную в движке id Tech начиная с 5 версии (появилась в Rage, была доведена до ума в новых Doom и Wolfenstein) и других движках.
Оптимизация
По утверждению Infinity Ward, при разработке COD важно держать в голове следующие цели: отзывчивое управление, быстрое получение фидбека игроком, 60 FPS. Для того, чтобы их достичь, компания изменила свой подход к тому, когда следует заниматься оптимизацией. Правильный ответ здесь — это не откладывать ее на последний момент.
Для ночных билдов включен автоматический анализ производительности, т.е. по каждому билду для всего контента игры, для каждого ее уровня имеется статистика того, каковы средние показатели FPS в различных частях уровня. Со временем эта статистика должна улучшаться, а если происходит наоборот — то это красный флаг и свидетельство того, что последние обновления кодовой базы могли создать проблему. Для предупреждения подобных проблем периодически проводятся ревью для того, чтобы исправить «горячие места» (hot spots), когда тот или иной кадр сильно просаживается по производительности.
Infinity Ward запланировала выделить на оптимизацию производительности несколько месяцев ближе к релизу, но движок уже сейчас выдает в сингл-плеере 60 FPS, хотя полномасштабные работы по оптимизации еще даже не начинались. На данный момент это достигается за счет использования dynamic resolution scaling (DRS), успешно обкатанной в Infinite Warfare и WWII, но разработчики практически уверены в том, что после полноценной оптимизации это станет fallback-решением, в результате чего игра будет работать на целевом разрешении вашей платформы практически всё время.
Остальных технических подробностей нам придется подождать как минимум до E3 (скорее всего — до релиза/выступления разработчиков GDC).
Историческая справка
Создателем серии Call of Duty является компания Infinity Ward, которая была основана 22 выходцами из 2015, Inc. — студии, создавшей шутер Medal of Honor: Allied Assault, вышедший в 2002 году и ставший хитом, в котором в качестве движка использовался старый добрый id Tech 3 (написанный на C и на тот момент еще носивший название Quake 3 Engine). Финансированием разработки Call of Duty занималась Activision, которая сразу выкупила 30% студии, а после релиза первой Call of Duty в конце 2003 года — и всю компанию целиком. Это было неудивительно, ведь игра получила 90 наград «Игра года» и 50 «Выборов редакции».
Движком для COD1 был выбран id Tech 3, поскольку работники студии были отлично с ним знакомы и смогли использовать наработки, придуманные в рамках работы над Medal of Honor: Allied Assault. Вышедший в 2005 году сиквел смог достичь еще лучших коммерческих показателей, а уже сильно модифицированый к тому времени id Tech получил поддержку DirectX 9 вместо OpenGL, улучшенную систему частиц и пост-процессинг, а также официальное имя — IW Engine 2.0.
В оригинальной Call of Duty 4: Modern Warfare, вышедшей в 2007 году (ведь сегодня мы имеем дело с ее ребутом), движком выступал IW 3.0. Игра смогла продаться тиражом, превышающим первую часть в несколько раз — меньше чем за год после релиза она разошлась тиражом в 10 миллионов копий — и встать в один ряд по продажам с Grand Theft Auto IV и Halo 3 (примерные продажи всех частей серии по состоянию на конец 2015 года можно посмотреть здесь). Пост-мортем, посвященный игре, был написан ведущим дизайнером и техническим директором Infinity Ward и опубликован в журнале Game Developer — сегодня его можно прочитать на Gamasutra.
Для того, чтобы наладить ежегодный выпуск новых частей Call of Duty, в дальнейшем разработкой новых игр серии в разное время занимались не только сама Infinity Ward, но и Treyarch, Sledgehammer Games и Raven Software. Следующая часть серии, Call of Duty: World at War, была разработана компанией Treyarch, которая сделала форк движка и модернизировала его, после чего использовала свою версию IW 3.0 в серии Call of Duty: Black Ops (в том числе в прошлогодней Call of Duty: Black Ops 4). По сути, в каждом из следующих релизов переписывались отдельные модули движка, однако были и исключения — например, Sledgehammer для своей Call of Duty: Advanced Warfare практически полностью переписали код, который они позаимствовали из движка Modern Warfare 3, хотя целиком избавиться от «наследия» не удалось даже им. Время от времени маркетологи Activision пытались преподнести используемый в очередной части серии игры движок в качестве нового — так было, например, с используемый в Call of Duty: Infinite Warfare IW Engine 7.0, который стал первым движком студии, рассчитанным на PlayStation 4/Xbox One, и был основан на движке, использованном в Ghosts, с добавлением нововведений, появившихся в Advanced Warfare.
Кстати говоря, разработчики нового движка уже подтвердили, что их наработки будут переданы Sledgehammer и Raven Games, так что можно ожидать, что Call of Duty 2020 будет выглядеть не хуже, чем Modern Warfare.
Достаточно подробно проследить за изменениями в движках поможет Википедия, а также пост, посвященный разбору рендереров в различных частях Call of Duty вплоть до Infinity Warfare.
История игровых движков №10 — IW Engine
IW Engine — один из тех движков, которые никогда не были на слуху, как Unity, Source или Unreal Engine, но, тем ни менее, на них построено много хорошо известных игр. На IW Engine, о котором поговорим сегодня, построена практически вся серия известных FPS-шутеров — Call of Duty, от самой первой игры 2003 года до Infinity Warfare 2016 года (исключение — Call of Duty 3).
Первую версию движка для игры Call of Duty 2003 года разработала компания Infinity Ward. В ней работали в основном выходцы из студии 2015, Inc., которая годом раньше выпустила другую игру про Вторую мировую войну — Medal of Honor: Allied Assault. Эта игра была написана на модифицированном id Tech 3, и поэтому выбор движка для Call of Duty был очевиден — можно было использовать наработки Medal of Honor без их переноса на другой движок, да и работники Infinity Ward хорошо знали этот движок.
Однако это был достаточно серьезно переработанный id Tech 3 — Call of Duty имел в своем арсенале пост-эффекты (например, «размытие изображения»), вода обрабатывалась при помощи шейдеров, что позволило сделать реалистичные отражения, усложнена система освещения и появились динамические мягкие тени. Движок использовал API OpenGL, основанный на рендерере id Tech 3. В общем и целом картинка для 2003 года была очень хорошей:
При этом не была потеряна отличная оптимизация движка Джона Кармака: системные требования Call of Duty были достаточно низкими для игры 2003 года — 600 МГц процессор, 128 МБ ОЗУ и 32 МБ видеокарта (к примеру, Half-Life 2, вышедший годом позже, требовал уже 1.7 ГГц процессора и 512 МБ ОЗУ, при этом выдавая картинку не сильно лучше).
IW Engine 2.0
В 2005 году студия Infinity Ward выпустила сюжетное продолжение крайне удачной Call of Duty — Call of Duty 2. Ее движок IW Engine 2.0 все еще базировался на id Tech 3, однако уже сильно отличался от исходного движка Кармака — даже рендерер был сменен с OpenGL на DirectX 9. Движок обзавелся поддержкой рельефного текстурирования, Light Bloom (эффект размытости света на ярких гранях сцены), Heat haze (эффект жара от огня) и единой карты теней. Так же в игру была добавлена поддержка консоли. Из-за перехода на DX 9 системные требования достаточно сильно выросли — теперь требуется 1.4 ГГц процессор, 512 МБ памяти и видеокарта с поддержкой DX9 и 64 МБ памяти. Однако это все еще ниже требования того же Half-Life 2, вышедшего годом раньше и имевшего даже несколько худшую графику:
IW Engine 3.0
Игра Call of Duty 3 была выпущена в 2006 году компанией Activision и использовала движок Treyarch NGL, который не имел абсолютно никакого отношения к IW Engine, поэтому эту игру мы не рассматриваем. Годом позже Activision вместе с Infinity Ward выпустили игру Call of Duty 4: Modern Warfare, базирующуюся на новой версии движка — IW Engine 3.0. Движок все еще включал в себя код id Tech 3, а API был уже несколько устаревший к тому времени DirectX 9. Однако по количеству поддерживаемых эффектов он был на уровне Crytek в Crysis — движок умел обрабатывать пробивание пулями объектов, поддерживал глубину резкости, имел улучшенный искусственный интеллект, физику тряпичной куклы, а так же улучшенную лицевую анимацию и работу с тенями, светом и частицами. С учетом того, что это был по сути улучшенный IW Engine 2.0, системные требования того же CoD 4 были не очень высоки по меркам 2007 года — 2.4 ГГц процессор, 512 МБ ОЗУ и видеокарта с поддержкой DX 9. Уровень графики был, конечно, лучше, чем в CoD 2, и игра завораживала своими эффектами, но до Crysis, вышедшего в том же году, было все же далеко:
IW Engine 4.0
В 2009 году все тот же тандем Activision и Infinity Ward выпускает новую игру линейки Call of Duty — Modern Warfare 2. Основой IW Engine 4.0 был все тот же id Tech 3, которому на тот момент было уже 10 лет! Однако, разумеется, Infinity Ward на месте не сидели, и новая версия движка обзавелась поддержой API DirectX 10.
Одной из главных особенностей движка была поддержка технологии Streaming Textures (потоковая загрузка текстур), позволявшей загружать в память уровень кусками, что снизило и время загрузки, и нагрузку на память и видеокарту, а так же дало возможность создавать гораздо большие уровни. Движок игры теперь использует динамический ИИ (искусственный интеллект), который изменил систему респауна и позволяет «умным» врагам действовать на карте более самостоятельно. В игре нет большого количества повторяющихся ситуаций, так как каждый раз противник ведёт себя по-новому. Была проведена серьёзная работа со светом (к примеру, добавлена поддержка отложенного освещения). Кроме того, был переработан физический движок, и теперь ещё большую роль играет оружейная баллистика: учитываются типы поверхности, формы объектов, разновидности гранат и т. д.
Из-за поддержки DX 10 движок смог выдавать неплохую картинку, однако базирование на движке десятилетней давности стало сказываться — графика «вау-эффекта» не вызывала:
К счастью, хотя бы оптимизация у игры была отличная — минимальные системные требования предполагали наличие среднего игрового компьютера 2006 года — 3.2 ГГц процессор, 1 ГБ ОЗУ и видеокарта с 256 МБ видеопамяти с поддержкой DX 9.0c.
IW Engine 5.0
В 2011 году вышла очередная часть Call of Duty — Modern Warfare 3. Она все еще базировалась на id Tech 3 и все так же работала на API DirectX 10, когда уже во многие игры активно добавлялась поддержка DX 11. По сути эта версия движка не внесла ничего инновационного и являлась небольшой доработкой предыдущей версии движка. Основные изменения — усовершенствование технологии потоковой загрузки текстур для больших локаций и некоторые усовершенствования в работе светового и звукового движков.
Системные требования были просто смешными для 2011 года — для запуска игры требовался простейший двухядерный Intel Core Duo, 1 ГБ ОЗУ и видеокарта с 256 МБ памяти и поддержкой DX 9.0с. Но, увы, графика так же была смешной, и до Battlefield 3 того же года существенно недотягивала:
IW Engine 6.0 Next Gen
После выхода MW 3 разработчики игры поняли, что id Tech 3, конечно, хороший движок, но уже мягко говоря не актуальный (последний его апдейт был в 2004 году, а первая игра на нем, Quake 3, вышла вообще в 1999), и для новой версии CoD решили практически полностью переписать движок. С одной стороны это, конечно, хорошо — вышедший в 2013 году CoD: Ghosts на этом движке графически соответствовал своему году, но, с другой стороны, это резко подняло системные требования — если для MW 3 требовался игровой ПК 2007-2008 года, то хотя бы просто для запуска Ghosts требовался уже хороший игровой ПК 2011-2012 года с мощным двухядерным Core 2 Duo, 6 (!!) ГБ ОЗУ и видеокартой с 1 ГБ видеопамяти и обязательной поддержкой DX 11.
Однако игра не просто так требовала достаточно мощное железо — список изменений огромен:
IW Engine 7.0
Это последняя на данный момент версия движка — первая игра на нем, Call of Duty: Infinite Warfare, вышла меньше года назад. Infinity Ward хорошо понимали, что предыдущая версия движка вышла крайне удачной, но все же ее нужно было дорабатывать и вводить новые «плюшки», так что по сути IW Engine 7.0 был улучшенной 6ой версией. Нововведений немного, основные — поддержка новейшего API DirectX 12, а так же улучшение физического движка для работы с нулевой гравитацией. Так же был улучшен ИИ, освещение, добавлен физически корректный рендеринг и переработана потоковая загрузка текстур, что позволило создавать огромные уровни. Разумеется, все это сказалось на системных требованиях, и теперь они нисколько не отличаются от таковых для большинства ААА-игр 2016 года — для запуска игры требуется Intel Core i3, 8 ГБ ОЗУ и видеокарта с поддержкой DX 11 и 2 ГБ видеопамяти. Но при этом графика находится на очень хорошем уровне:
Будущее движка
Как видно, движок активно развивается уже почти 15 лет, а серия игр Call of Duty пользуется большим спросом. Поэтому очевидно, что движок и дальше будет развиваться, обрастая все большими графическими эффектами. Однако точной даты выхода следующей версии движка нет, так как он является проприетарным (только для использования внутри компании). На данный момент дерево развития движка выглядит так: