Одна из визитных карточек игр серии S.T.A.L.K.E.R. – система симуляции жизни A-Life, благодаря которой персонажи и существа в Зоне живут собственной жизнью. A-Life
был разработан в GSC Game World ради более правдоподобной подачи
игровой Зоны: игрок легче поверит в окружающий его мир, если всё, что он
будет наблюдать, станет наиболее приближенным к реальности. Реализм –
это не только фотореалистичные текстуры и ландшафт, взятый с
действительно существующих прототипов, но и поведение героев, мутантов,
которое не вызывало бы со стороны восприятия негатива. Разработке AI,
особенностям создания игрового движка мы посвятили интервью с "отцом"
A-Life и ведущим программистом компании GSC Game World Дмитрием
Ясеневым.
***
GSC-Fan.Com:
Здравствуйте, Дмитрий! До того, как попасть в GSC, вы работали
программистом или это были околокомпьютерные специальности
(администрирование и прочее)?
Дмитрий Ясенев:
До GSC Game World я работал программистом в Информационно-Аналитическом
Центре БИТ над базой данных по законодательству Украины "Право".
GSC-Fan.Com:
Тяжело ли выучиться на компьютерно-игрового программиста? Откуда можно
почерпнуть знания для такой профессии? Возможно ли их получить в вузах,
чтобы уже потом устроиться в компанию-разработчик?
Дмитрий Ясенев:
К сожалению, наши ВУЗы дают только академические знания, прикладному
программированию нужно учиться самому. Мой путь в игровую индустрию
лежал через интерес к искусственному интеллекту. Сначала в качестве
лабораторной работы я написал клон "филлера", потом заинтересовался
играми на доске, в частности, реверси.
GSC-Fan.Com: Как вы в детстве выражали стремление к компьютерной технике?
Дмитрий Ясенев:
Наверное, все дети, у которых есть доступ к компьютеру, сначала
используют его только для игр. Я тоже любил поиграть, сначала в
"Формулу-1" (была такая игра, GPEGA – Grand Prix EGA, которая работала
на 80x286, а может и 80x086). Ещё мне запомнилась чудесная игра
Transport Tycoon Deluxe. Потом играл в разные стратегии, шутеры. Так как
мои родители – программисты, то я изначально рассчитывал стать
программистом, но, честно говоря, я никогда не думал о том, что буду
когда-то сам разрабатывать игры.
GSC-Fan.Com: С чего начался ваш профессиональный опыт работы в данной области?
Дмитрий Ясенев: С посланного резюме в GSC Game World
GSC-Fan.Com: Вы относитесь к видеоиграм как к развлечению или как к объекту работы?
Дмитрий Ясенев: Смотря к каким
Если я смог погрузиться в игру, отвлекшись от чисто автоматического
нахождения глюков и технических нюансов, то как к развлечению. К
сожалению, это случается далеко не всегда.
GSC-Fan.Com:
В игровых периодических изданиях нередко упоминают возможности игрового
движка. Бывает, что коду движка приписывают едва ли не волшебные
свойства, способные сделать из любой игры успешный продукт. Что же это,
все-таки, такое, и что он включает в себя?
Дмитрий Ясенев:
Самое главное в игре – не движок, а идея и оригинальность. Если это
есть, то всё остальное – в какой-то мере вторично. Да, без красивой
графики в большинстве случаев далеко не уедешь. Но ведь есть игры с
простой реализацией, но шикарной идеей, которая и делает игру
интересной.
GSC-Fan.Com: Какие знания, помимо программирования, важны при написании игрового движка?
Дмитрий Ясенев:
Много чего нужно знать при написании движка. Наверное, основное – это
уметь бороться со сложностью. Ведь современный движок – это система,
состоящая из сотен тысяч строк кода (а иногда и миллионов). Как написать
его так, чтобы он, с одной стороны был функциональным, эффективным,
легко расширялся, работал на разных платформах, максимально используя
ресурсы системы, и при этом вы не боялись, что ошибки будут сыпаться на
каждом шагу. Как организовать пайплайн контента так, чтобы дизайнерам
было удобно, а программистам свободно (например, изменение форматов
ресурсов не приводило к головным болям), чтобы каждый занимался только
своим делом: дизайнеры – "дизайнили", а программисты – программировали.
Как сделать так, чтобы изменения от одних к другим проходили через
автоматические проверки, чтобы исходники ресурсов не терялись, чтобы
ошибки легко исправлялись, и чтобы разрабатывать было легко и приятно. В
этом и есть вызов для программиста, и каждая команда решает его
по-своему.
GSC-Fan.Com:
Дмитрий, скажите, программисты из стран бывшего СССР достаточно ли
компетентны и обладают необходимыми навыками, чтобы работать в
крупнейших и самых популярных фирмах занятых в компьютерно-игровой
индустрии? Положа руку на сердце – мечтали бы вы работать в таких
компаниях, как Valve и Activision?
Дмитрий Ясенев:
У меня нет репрезентативной выборки по программистам из бывшего СССР и
всем остальным, поэтому ответить на первую часть вопроса не могу. По
второй части – несмотря на то, что, конечно, есть много компаний, у
которых я мог бы набраться опыта и ценных знаний, я бы не хотел
переезжать куда-то из Украины.
GSC-Fan.Com:
Как заверяют мастаки, главная вина в провалах проектах для ПК-платформы
лежит на программистах – якобы они не в состоянии написать движок
нужного качества, не знают, или не хотят. Вспоминая Чернышевского,
спрашиваем – кто в этой ситуации виноват, и что делать?
Дмитрий Ясенев:
О каких именно провалах идёт речь? И кто пишет проекты на консоли –
разве не те же самые программисты, которые вчера писали для ПК?
GSC-Fan.Com:
В целях экономии времени на разработке, компании приобретают уже
готовые графический и физический движок. Почему же нет продажи движка AI
отдельно от игры?
Дмитрий Ясенев: Почему нет? Они есть. Kynapse, SpirOps, ещё несколько. Я сам написал такую систему, она даже использовалась в одной игре.
GSC-Fan.Com:
Из существующих игровых платформ, какие, на ваш взгляд, наиболее
перспективнее? PC-платформе грозит вымирание? Действительно ли будущее
за консолями?
Дмитрий Ясенев:Миром
правят деньги. Install base ("установленная база") плюс удобство
разработки имеют критическое значение при выборе платформы. Не думаю,
что ПК платформе грозит вымирание, всё-таки компьютеров пока что гораздо
больше, чем приставок. Другое дело, что программы для компьютеров
покупают меньше, чем для приставок.
GSC-Fan.Com:
Однажды в Сети проскользнула новость о том, что в GSC имеется свой
собственный работоспособный порт "S.T.A.L.K.E.R.: Зов Припяти" на Xbox
360. Выходит, у компании были планы сделать аддон мультиплатформенным
еще тогда, несколько лет назад? Это правда?
Дмитрий Ясенев:
Скажем так, мы немного потренировались на Xbox 360, запустив на нём
уровень из S.T.A.L.K.E.R. с ограниченной функциональностью. Этот опыт
помог нам при разработке нашего нового движка.
GSC-Fan.Com:
Заявлено, что S.T.A.L.K.E.R. 2 выйдет и на консолях. Речь идет только
об Xbox 360, или владельцы PlayStation 3 не останутся обиженными?
Дмитрий Ясенев: Это зависит от того, захочет ли этого издатель.
GSC-Fan.Com:
В 2007 вышел Crysis с беспрецедентным уровнем графики, которая
великолепна даже в наши дни. Можете предположить, как такое смогло
получиться у CryTek? Ведь прошло уже столько лет, а картинка до сих пор
радует глаз! Есть ли вероятность, что с точки зрения технологий
S.T.A.L.K.E.R. 2 произведет похожий эффект, как Crysis в свое время?
Дмитрий Ясенев:
CryTek инвестирует очень много в R&D (Research and Development –
"Исследование и конструирование"). Мы себе это позволить не можем. Но
могу вас заверить, что S.T.A.L.K.E.R. 2 будет выглядеть достойно на фоне
своих именитых соперников, и в нём будут инновации, которых, на данный
момент, нет ни в одной другой игре.
GSC-Fan.Com:
Отдельная команда модостроителей в поте лица создаёт "сталкерский" мод
на основе движка игры Crysis. Кстати, ходили слухи, что GSC намерены
купить "мотор" у CryTek. Был ли повод для такого слуха, или в нем нет ни
капли истины? Вы себе представляете S.T.A.L.K.E.R. на CryEngine 3?
Дмитрий Ясенев:
Перед написанием своего движка мы рассматривали различные альтернативы,
в том числе смотрели и CryEngine 2. Я не знаком подробно с CryEngine 3,
поэтому мне тяжело судить об этом.
GSC-Fan.Com:
Перед тем, как садиться за работу над новым "мотором" для
S.T.A.L.K.E.R. 2, вы анализировали, чего хотите добиться в
технологическом плане? Чему в этот раз программисты движка уделили
внимание? Какие приоритеты вы перед собой поставили? Новый движок уже
полностью написан?
Дмитрий Ясенев:
Мы анализировали, какую игру мы хотим получить на выходе. Кроме новых
фич (как например, мультиплатформенность) мы уделили особое внимание
нашим старым проблемам: архитектуре движка как такового, редакторам и
пайплайну создания контента, анимационному движку, использованию
многоядерности, проблемам с памятью и т.д.
GSC-Fan.Com: Когда можно будет лицезреть плоды результатов ваших стараний на скриншотах?
Дмитрий Ясенев: Думаю, скоро. Мы активно работаем, но нужно еще немного потерпеть.
GSC-Fan.Com:
Дмитрий, у вас есть пожелания к тем, кто намерен связать свою жизнь с
программированием, фанам S.T.A.L.K.E.R. и посетителям нашего сайта?
Дмитрий Ясенев: Фанам – терпения и понимания; мы сделаем всё, чтобы ваши ожидания оправдались.
Программистам – совершенствоваться, совершенствоваться и
совершенствоваться. Для тех, кто хочет поучаствовать в разработке
S.T.A.L.K.E.R. 2 – присылайте свои резюме, у нас набор программистов
идёт непрерывно.
Посетителям Вашего сайта – хорошего настроения и удачи!