Сменил Unity на C++

По вашим просьбам, ребята, рассказываю о собеседованиях в геймдеве.

Привет!
Речь пойдет о собеседовании в самую крутую студию в Санкт-Петербурге — Sperasoft (это я, конечно, предвзято — мне тут очень нравится, но много объективных факторов ЗА). Помимо собеседования, как обычно лирическое вступление с мотивацией, картинками, видео и мыслями.

Вступление

За несколько прошлых лет мне посчастливилось поработать над очень крутыми проектами в EA и Nival. В EA это был StarWars: Galaxy of Heroes, очень классная игра, а про проект в Nival я ничего не могу рассказать (NDA — non disclosure agreement, соглашение о неразглашении). Я понял,- хочу работать над крутыми играми! Я наелся разработкой на Unity, и мобильными проектами (пусть это и крутенная франшиза, как Starwars). Многое за годы с Unity я повидал и очень люблю этот игровой движок, но специфика такова, что на нем разрабатывают мобильные игры-клоны или социальные игры. Чаще всего так, есть исключения, например Escape from Tarkov, который делается в питерской студии, но в основном все грустно.

Мобильный геймдев - это клоны клонов

А я хочу делать что-то значимое! Что-то, во что я сам буду с удовольствием играть. Игру, которую игроки будут ждать с нетерпением! Чтобы не нужно было гоняться за ними, «лить трафло», травить фритуплеем, применять разные агрессивные схемы монетизации (вроде лутбоксов) чтобы выжать из игроков побольше денег. Кстати, разработка игры в мобильном геймдеве занимает очень небольшое время, большую часть занимают: интеграция рекламных сервисов, in-app покупки, социальные сервисы и т.д.

Здорово делать игру такую, чтобы reveal-трейлер о разработке вызывал бурю эмоций у игроков, как например этот от Naughty Dog

В общем, я решил сменить и язык программирования и платформу и очень хотел во взрослый геймдев. Что у меня получилось, ура 🙂

Собеседование

В прошлом году я еще работал в Nival и вконтакте увидел у Sperasoft горячие вакансии gameplay-разработчиков на проект с Ubisoft. Только там совсем не C#/Unity3d требовался, конечно.

Не буду долго размусоливать как я учил С++, тяжело. Не 21 день. И до сих пор учить и учить.
Вот знаете, С++ это единственный язык про который я видел книгу с заголовком «без страха», да-да — книга «С++ без страха». С таким заголовком представляешь что в ней:

— «Успокойтесь, сделайте глубокий вдох. Выыыдох. Это такой же язык как и остальные. Не бойтесь, все в порядке. Все будет хорошо!»
*заикаясь*
— «Д-д-доктор, кажется мне опять снился Александреску и мета-п-програмирование!»

Язык мне очень понравился. На самом деле в университете глубины я и не видел, до мякотки и не добирался.

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

Я начал писать игровой движок, потому что коммерческого опыта с С++ у меня не было. Что-то я писал в университете, но это было давненько. Про это я решил написать отдельную статью «Зачем писать свой игровой движок?» (пока она в черновиках, но когда-нибудь опубликуется).

Само собеседование в Sperasoft у меня было из 3х частей: pre-screen интервью по телефону и два интервью в офисе, одно техническое, другое менее техническое с ресурс-менеджером и лид-разработчиком.

Pre-screen около часа, мне так показалось, с вопросами по математике, C++ и разработческом опыте. Я думал — «не пройду». Думал так, наверное, в течение всего интервью и пару часов ДО и ПОСЛЕ, поэтому дико «эээкал», «мекал», мне даже в конце посоветовали книгу какую-то, чтобы не волноваться.

Вечером позвонила HR Настя и сказала, что все хорошо, я понравился и меня зовут уже в офис на техническое собеседование.

На техническом собеседовании спрашивали C++, чуть математики, алгоритмы (на графах, время работы разных алгоритмов). Писал на доске алгоритмы Дейкстры помню. Проектировал классы для игр и исправлял ошибки в коде на проекторе. Хорошее интервью, что очень понравилось, давали исправиться, наталкивали на мысли и говорили правильно/не правильно, что частенько не делают.

На третьем интервью обсуждали опыт, говорили чего умею, чем интересуюсь и ищу ли работу вообще, я не искал. Хотел именно в Sperasoft. Этому еще очень способствовал доклад Жени Муралева на DevGAMM, я после него прям подумал: Вот! Хочу это знать, не хочу эту мобильную дичь делать. Доклад, который мне очень понравился, вот:

В итоге, через пару недель мне позвонили и я принял предложение работы. Вообще, если честно, очень давно хотел похвастаться, но ждал до окончания испытательного срока :-Р

P.S.

Это было хорошее собеседование. А бывали и плохие. У меня прям бомбит от нескольких. Я про них расскажу, если интересно 🙂
Честно говоря мне не сделали оффер после них, но это не значит, что я предвзят. Я так думаю.
После моего самого крутого интервью (оно правда было не в игровую студию),- меня тоже не пригласили, а после одного из плохих- мне предложили работу в одной известной игровой студии.
Я есть вконтакте и твиттере.

Ребята, без вашей помощи блогу не обойтись, sharing особенно в Google+ очень нужен! Пошарьте, если Вам понравилась статья.
  • GeneralElConsult .

    +100500 Уважения за то, что вылезли с мобильного болота.

  • Сергей Ивановв

    маладец, давай статью про твой игровой движок!!!

  • Andrey Miroshnik

    То что на Unity делают мобильные игры-клоны или социальные игры, это просто безответственный подход, который привел к стереотипу, что на Unity нельзя сделать ничего серьезного. Из своего опыта могу сказать, что графическое ядро сего движка вполне себе вытягивает графику MGSV, GTAV, Overwatch (без пост эффектов).

    • Привет! Я ведь написал — Unity отличный движок, просто дёшево и удобно делать на нем такие игры. Но есть и крутые на нем.

      А что у вас за опыт такой? Откуда вы знаете про то что рендер-ядро что-то может потянуть? Овервоч ещё поверю, но GTA-5? Огромнейшая игра, подгрузка города, в Юнити ничего подобного нет!

      • Антон

        Сергей, здравствуйте! Не могли бы вы посоветовать материалы для изучения с++? Базовый уровень знаний есть, хотелось бы так же изучить его глубже, чтобы тянуть коммерческий уровень.

        • Привет, я читал: Скота Мейерса (почти все его книги), Вандервурд/Джосаттис про шаблоны и Андрей Александреску Современное проектирование. Опытные ребята говорят, что необходимо прочитать большую книгу Страуструпа чтобы познать язык глубоко.

  • CGLike

    Го статью про плохие собеседования

    • Как-нибудь обязательно напишу! Я решил, что нужно программировать, а то я с этим блогом стал больше писать текст, чем код 🙁
      Болтать не мешки ворочать, а нужно подучиться дальше…

  • Pingback: Свой игровой движок. Для обучения (С++, OpenGL) – CoreMission()