В сeнтябрe в Сaнкт-Пeтeрбургe прoшлa кoнфeрeнция 4C, нa кoтoрoй выступaли индустриaльныe экспeрты из рaзличныx кoмпaний. Мы встретились и поговорили со старшим графическим программистом Eidos Montreal Петром Сикачевым о движках и технологических трендах в индустрии.
Расскажите, чем вы сейчас занимаетесь в Eidos?
В Eidos я работаю в команде R&D (Research & Development), которая занимается исследованием новых методов для рендеринга в играх. Мы смотрим, какие есть перспективные технологии, делаем демо, и если видим, что эти технологии оказываются полезными, портируем их в различные игровые проекты. То есть мы прорабатываем технологии не для одной какой-то игры, а стараемся решать более глобальные задачи, которые могут принести пользу нескольким проектам сразу.
Что из последнего было внедрено таким образом глобально в ваши проекты?
Например, мы работали с parallax occlusion mapping with relaxed cone step tracing. Эта технология позволяет более объемно делать некоторые поверхности, вроде брусчатки. Реализовали демку, портировали наработки в Thief, а потом эта же технология, немного улучшенная, была перенесена в Deus Ex: Mankind Divided. В Праге, в частности, можно увидеть на мостовой.
То есть, грубо говоря, ваша задача — сделать так, чтобы когда человек подходит к какой-то поверхности, она выглядела реалистично и красиво?
Наша задача в целом состоит в том, чтобы игра выглядела реалистично и красиво. Как и в том, чтобы какие-то технологии для этого работали быстрее. Помимо этого наша группа также активно делает доклады.
Например, на SIGGRAPH, крупнейшей графической конференции, мы сделали доклад по технологиям отражения, которые создавались нами для Thief, а также по различным технологиям, внедренным в Deus Ex: Mankind Divided и Rise of the Tomb Raider.
Расскажите пожалуйста, насколько вообще компании сложно делать свой движок для разработки игр? Почему не использовать, например, Unreal Engine?
Для Thief, к слову, использовался Unreal Engine 3, сильно модифицированный. Например, движок был портирован под консоли нового поколения. Все вообще зависит от конкретного проекта. Под некоторые игры действительно задействуются движки со стороны, но здесь есть свои сложности.
Во-первых, коммерческие движки всегда решают очень общую задачу, поэтому они будут не так оптимальны для каких-то конкретных случаев. Во-вторых, когда хочется реализовать какую-то определенную кастомную функциональность, то обычно это проще делать именно в своем движке, где все легко можно менять, обладая полнотой знаний.
Что вы сейчас внедряете в свой движок, что планируете? Какие сегодня тренды?
Глобальная тенденция — это процедурная генерация контента. От левел-арта до левел-дизайна. Например, в игре с открытым миром очень дорого сажать по одному дереву. Разработчикам хочется иметь инструменты, которые позволят левел-дизайнерам и левел-артистам сразу создавать уровень с реалистичным процедурно генерируемым ландшафтом, а потом может быть где-то в редких местах вручную делать кастомные вещи.
Еще один сегодняшний тренд — фотограмметрия набирает обороты. Вместо того, чтобы рисовать текстуры руками, их специальным образом получают по фотографиям и раскладывают на разные компоненты.
Из других примеров… захват движения (motion capture) давно уже был для всего тела. Но сейчас уже практически все в той или иной степени лицевую анимацию тоже пытаются получать.
Технологии по автоматизации создания контента сейчас занимают заметную роль. Потому что в целом контент создавать очень дорого. Основная часть команд — это не программисты, а художники, левел-дизайнеры и так далее. Очень много ресурсов тратится на аутсорс, например, когда не хватает своих художников, поэтому хочется как можно больше сократить расходы.
Это одна из глобальных тенденций, если говорить про рендеринг, движки.
Что касается самых свежих веяний, то на последнем SIGGRAPH многие занимались Multilayered-материалами. Это когда материалы из нескольких слоев состоят. Всякие глянцевые краски, скажем, и так далее.
Многим также интересны объемные источники света. В играх до недавнего времени все источники света были точечными. И это очень хорошо видно; если источник света близко к поверхности отражающей, то он не реалистично будет выглядеть.
Еще многие смотрят на разные методы антиалиасинга, то есть сглаживания картинки. Раньше был популярен temporal anti-aliasing. А сейчас, помимо этого, поскольку все больше игр используют динамическое разрешение, на SIGGRAPH было несколько решений представлено, совмещающих его с разными методами антиалиасинга.
Такие вот в геймдеве тренды.
С чем вы сегодня выступаете?
Доклад называется Depth Proxy Transparency Rendering. Это тема, которую я сам инициировал в Eidos. В нашей команде очень поощряется, когда сотрудники приходят со своими топиками и говорят «я считаю, что это будет полезная фича, давайте проведем R&D, давайте сделаем демку и посмотрим, насколько она имеет право на жизнь».
Одна из самых больших проблем в трехмерных движках — это прозрачные объекты. С ними много различных проблем. В частности, их нужно сортировать, чтобы они корректно выглядели.
Стекло, например?
Не только. Помимо них есть еще системы частиц, такие как дым. Или какие-то объемные эффекты, объемный туман и так далее.
Когда, допустим, у нас находится стеклянный объект внутри системы частиц из дыма, то он может некорректно отображаться. Даже не то, что некорректно — если он движется, то будет мерцать, и это будет сразу же заметно пользователю. Технология, которую я разработал, позволяет решать эту задачу. Это очень общий подход. Я буду показывать его на трех разных примерах. Два из них связаны с сортировкой таких объектов, третий — с самозатенением системы частиц. Если, например, есть столб дыма, то он, кроме того, что отбрасывает тень на землю, отбрасывает еще тень сам на себя. И можно таких эффектов тоже добиваться.
Что вдохновляет вас на такую работу? Когда вы приходите со своими какими-то мыслями? Может, примеры из жизни?
Что касается конкретно этой задачи, однажды мы работали совершенно над другой задачей, объемным туманом.. Мы не предусмотрели трудности, в результате чего нам пришлось фичу отменить, так как сама по себе она смотрелась хорошо в прототипе, но когда ее встроили в игру, то она вызывала проблемы с другими объектами, в частности, системами частиц.
После того, как мы уже закрыли данный топик, я в фоновом режиме размышлял над этим и в какой-то момент придумал решение.
Вы работаете над игровым движком. Как вам кажется, что важнее [в игре] — геймплей или технологическая составляющая?
Мы же делаем игры, а не кино, поэтому, конечно же, в первую очередь, в игру должно быть интересно играть. Но в некоторых жанрах реалистичная графика и реалистичная анимация очень способствуют погружению в процесс. Это может быть очень важно для игр, которые делают ставку на сторителлинг. Но геймплей в любом случае всегда должен быть захватывающим.
Какую глобальную цель вы перед собой ставите как разработчик?
Глобальная задача — это фотореализм. Чтобы картинка в игре не отличалась от фотографии.
Что бы вы хотели сказать нашим читателям?
Надеюсь, вам понравятся наши следующие игры!
А что можно ожидать?
Об этом я не могу говорить.
Спасибо вам за интервью!
И вам большое спасибо!
Интервью брала Анастасия Ворошина из VGTimes.ru специально для GameMAG.ru
Вопросы подготовили Михаил Шагинян и Анастасия Ворошина
Источник