Тернистый путь в миры Кодзимы

Восемь месяцев назад мне удалось устроиться в крупную игровую компанию на должность технического геймдизайнера. Весь предыдущий опыт работы я получал с YouTube, форумов и собственных манипуляций в Unreal Engine 4. Все это я совмещал с обычной работой и другими повседневными активностями, но твердо хотел пробиться в геймдев. В этой статье я поделюсь личным опытом трудоустройства, обучения, а также работой на вышеуказанной должности в течение длительного периода. Отмечу, что когда речь зайдет о работе в компании, то часть информации будет опущена во славу NDA.

Сразу скажу, что по моим личным ощущениям — устроиться в геймдев может каждый, даже люди, не имеющие профильного образования и большого опыта работы. Если вам есть, что показать, то заберут с руками и ногами, так что портфолио — это обязательный пункт, если совсем не имеете опыта. Вы сразу же сможете приложить к своему резюме ссылки или ролики с материалами, которые демонстрируют ваши навыки во всей красе. HR будет рад увидеть такое резюме, поскольку вы не пытаетесь продать ему нечто неосязаемое, а сразу же показываете себя. Разумеется, если вы претендуете на какую-то конкретную должность, то нужно демонстрировать знания именно в этой области, иначе получается бессмыслица. Резюме выкладывал на сайте hh.ru, если для кого-то это будет важно.

Само собеседование проходило вполне обычно, как и при трудоустройстве в любую другую компанию, так что останавливаться на этом смысла особого нет. Вам все так же придется отправлять отклики, выкладывать резюме и шерстить интернет в поисках релевантных вакансий. Ну а дальше созвон -> встреча в офисе -> тестовое задание (я прошёл без него) -> беседа с вашими будущими начальниками и подписание документов, если все нормально. Могут спросить про желаемую ЗП, так что лучше заранее определиться с этим вопросом, чтобы не сесть в лужу при собеседовании. Да и прокачка софт-скилов будет не лишней, поскольку вам придется работать в очень тесном контакте с другими людьми. А ещё вы должны любить игры, иначе никак.

Ведьмака вы будете делать очень не скоро
Ведьмака вы будете делать очень не скоро

Процесс обучения я буду рассматривать на примере работы в Unreal Engine 4 с системой Blueprint’s, но большая часть информации будет справедлива и для остальных случаев. Материалов в сети сейчас море, я бы даже сказал, что целый космос и это не будет преувеличением. Даже если отбросить в сторону все курсы (не имею никаких сертификатов в данной отрасли), то все равно останется тонна информации, которую нужно лишь уметь искать. Начать стоит с YouTube, тут без вариантов. Читать документацию от Epic Games на первых порах — это отдельный вид мазохизма и лучше отложить её на потом.

Сначала ролики, которые знакомят Вас с интерфейсом движка, а уже дальше идти по пути того, что Вам больше всего интересно. Если вы фанат шутеров, гонок или какого-либо другого жанра, то попробуйте собрать какие-либо механики, используемые в них. Самое классное начинается, когда нет необходимого руководства для написания логики и все приходится писать самостоятельно. Скажем, в сети довольно мало хороших и актуальных источников, связанных с настройкой Physics Asset, но неделя усердных поисков и бесед с зарубежными коллегами принесли свои плоды.

Unreal Engine 4 - идеальный вариант для входа в индустрию
Unreal Engine 4 - идеальный вариант для входа в индустрию

Именно так и проходило моё обучение. Никаких серьезных геймдизайнерских документов, курсов или ещё чего-то. Каждую неделю я намечал себе цели и постепенно закрывал их, как отдельные задачи. Скажем, с самого начала я освоил настройку Animation и Character Blueprint, разобравшись с настройкой анимаций и передвижением игрока в мире. Далее стал разрабатывать систему инвентаря (без интерфейса), подбираемых расходников и оружия. Старался всюду использовать базовые классы, подключать интерфейсы и заниматься отлавливанием различных багов. Ни о какой грамотной структуре проекта и речи не было. Все купленные ассеты были брошены в кучу и только через восемь месяцев со старта разработки — я задумался о наведении порядка. Разумеется, было уже поздно.

После этого осваивал работу с Behaviour Tree, Pawn Sensing Component (который выкинул через неделю) и старался реализовывать отдельные механики из разных игр, чисто для себя. На все это ушло примерно полтора года, но я не сидел за движком 24\7, так что при желании все необходимые навыки можно получить в несколько раз быстрее. Кроме того — я совершил огромную ошибку во время обучения и начал работать с покупными ассетами из Marketplace, отчего процесс значительно затянулся. Опыт работы с примитивами вам обязательно пригодиться, поскольку прототипы в игровых проектах создаются именно на них.

Игру можно полностью собрать из примитивов
Игру можно полностью собрать из примитивов

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

Вот когда механика или кусок кода будут полностью готовы, то смело можно вешать на них «мясо» и записывать ролик, чтобы было не стыдно показывать. Специалистам хватит и кубиков, но для привлечения внимания лучше все-таки использовать ассеты посимпатичнее. Когда у вас на руках будет 10-15 хороших видео, с качественно реализованными механиками, то смело можно создавать резюме и скролить вакансии на рынке. Разумеется, все эти механики должны отличаться друг от друга и демонстрировать ваши навыки с разных сторон. Такие ролики лучше публиковать с доступом по ссылке, для избегания неприятных казусов.

Нет, я не там работаю...
Нет, я не там работаю...

Пора бы уже коснуться работы внутри компании, поскольку именно этот опыт оказался самым полезным и развивающим на протяжении всей «дороги в геймдев». Забудьте о всех дневниках разработчиков, где люди с улыбающимися лицами и неугасающим энтузиазмом рассказывают про проект. Во время работы над крупным проектом переработки — это не самое страшное, а вот коммуникации с другими отделами\людьми — это может довести до нервного срыва, я вас уверяю. Если у человека сегодня выдался неудачный день, а вам нужно от него в срочном порядке получить информацию\ассет\задачу\«продолжи сам», то будьте уверены, что вам достанется по полной.

Такие случаи справедливы и для других сфер, но в геймдеве это ощущается особенно остро. Как правило, все сроки уже давно были нарушены и работать приходится в довольно затруднительных условиях. Куча времени уходит не на выполнение своих прямых обязанностей (в моем случае — это написание логики на Blueprint’s и консультация других сотрудников по отдельным вопросам), а на заполнение задач, их постановку и написание документации. Последнее вообще отнимает до 30% рабочего времени, поскольку её потом необходимо постоянно актуализировать при внесении правок в проект. А ведь существуют ещё всякие обсуждения, личные беседы и проблемы, которые невозможно решить без участия тех же программистов.

Шутки из сериала "Офис" - вовсе никакие не шутки
Шутки из сериала "Офис" - вовсе никакие не шутки

И это ещё хорошо, если в вашей компании нормально налажены пайплайны работы между разными отделами, где каждый знает и понимает, как подвязаться к чужой логике или поставить задачу таким образом, чтобы получить именно то, что заказывал. При отсутствии такой роскоши — приготовьтесь пройти девять кругов ада, пока механизм производства контента не начнет работать, как положено. Но даже при наличии четких инструкций, никто не гарантирует, что отдельно взятый человек будет им следовать. Полностью этот фактор исключить никак не получится. А вот теперь вернемся к тому самому человеку, у которого сегодня неудачный рабочий день. Весело? — Не то слово…

Очень часто будут прилетать задачи, которые лишь косвенно связаны с вашей основной деятельностью и с этим придется мириться. Условный "monkey job" — могут доверить любому сотруднику и в течение недели (а то и больше) — придется заниматься довольно монотонными и скучными вещами, которые по уровню фана сравнимы с добычей ресурсов в какой-нибудь корейской MMO. А ещё не факт, что вы вообще обладаете навыками или складом ума для выполнения такой работы, хотя смотреть на это вряд ли будут, у нас ведь сроки.

 "Продюсер и сотрудник", картина маслом
 "Продюсер и сотрудник", картина маслом

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

Есть ещё один интересный аспект в работе, с которым приходится сталкиваться почти каждый день и закрывать на него глаза — это качество проекта в текущий момент времени. Сломанные анимации, баги коллизий, ужасные проседания fps, вылеты, краши, поломки на ровном месте и постоянное ощущение того, что игра никогда не будет закончена. Вы каждый день будете наблюдать сырой продукт и мириться с этим, внося в него новый контент и дорабатывать существующий. Многие перестают участвовать в тестировании билдов, поскольку на них буквально выплескивается шквал негативных эмоций. Сотрудникам из отдела QA вообще стоит выдавать ордена после релиза проекта и ни в коем случае не просить их участвовать в плейтестах.

Каждую отдельно взятую иконку нужно будет согласовать
Каждую отдельно взятую иконку нужно будет согласовать

Отдельной интересностью будет являться заказ ассетов и постановка задач на другие отделы. Если вам потребуется, скажем, набор анимаций или моделек, то после заведения таска — нужно ещё десять раз всем напомнить про его важность, периодически отслеживать выполнение и не удивляться нарушению сроков. Более того, как уже упоминалось, не факт, что вы смогли донести до исполнителей именно то, что вам хотелось. Это приводит к новым обсуждениям, постановке другой задачи и всем остальным проблемам из этого вытекающим. А ведь для некоторых игровых объектов нужны модельки, материалы, звуки, эффекты и даже специальное место в мире. И по каждому из этих аспектов вам придется стучаться в определенный отдел и согласовывать необходимые правки.

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

126126
83 комментария

"Сотрудникам из отдела QA вообще стоит выдавать ордена"

27

У нас кстати QA-шники выдают ордена и медали (Киркорова, Бузовой, Фейса и тд) программистам и дизайнерам, которые поломали сборку проекта. Причем раньше награды выдавались физически, а с переводом на удалёнку с этим возникли проблемы. Пришлось ставить таск админам что бы завезли на корпоративный портал соответствующий функционал по выдачи медалей в цифровом виде.

5

Комментарий недоступен

1

Очень субъективный текст, относящийся к работе в конкретной студии. А к какой - секрет. Натягиваешь свою студию на всю индустрию и не говоришь что это за студия, не надо так.

6

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

14

Почему не надо? Уверен что многие узнали в этом рассказе что то из своей работы.
У меня был опыт работы с проектом, который постигла судьба Starcraft: Ghost, но в Blizzard я не работал, хотя можно было бы заменить название проекта, один жанр на другой и все совпадало.