В преддверии запуска GameDev курса от GIGASCHOOL мы пообщались с Савелием – разработчиком, который на собственном опыте показал, что вход в геймдев может быть быстрее и понятнее, чем кажется.
Один учебный проект, практика вместо теории – и стажировка в крупной игровой студии превратилась в первую полноценную работу.
Как он к этому пришёл и что действительно важно для начинающего Unity-разработчика – Савелий рассказывает сам.
Всем привет, меня зовут Савелий, и я Unity-разработчик мобильных игр в российской компании.
Я устроился разработчиком игр в крупную компанию, посмотрев всего лишь один туториал по разработке простой игры. Звучит нереалистично, но давайте попробуем разобраться, реально это или нет.
Мои исходные данные до пути в геймдев: я – студент второго курса по направлению «Программная инженерия». В университет пошёл по принципу «если по профессии не получится, то хотя бы жизнь самописными программками облегчу». Постепенно присматриваясь к разным направлениям в IT, я всё больше понимал, что сильнее всего меня тянет именно к разработке игр.
Для меня было несколько очевидных плюсов.
Короткий цикл производства: ты сам можешь сделать простенькую игру и поделиться с друзьями всего за пару недель.
Возможность не работать на дядю: уже тогда активно развивались «Яндекс.Игры», куда разработчики могли выложить свои игры и заработать первые деньги.
Возможность работать на дядю (как бы странно ни звучало): я понимал, что у нас в стране есть и большие работодатели со стабильной зарплатой, отпусками и своей атмосферой. Это на случай, если мой бизнес не выгорит, и придётся работать на дядю.
Геймдев – это молодая сфера с блэкджеком, творческой свободой и IT-зарплатой.
Со специализацией я определился, но дальше нужно было понять, как вообще дойти до цели. Я пошёл в интернет; в то время ChatGPT ещё не существовало, поэтому информацию приходилось искать самостоятельно: смотреть видео, читать статьи, разбираться вслепую.
Начал с туториалов – один за другим: как пользоваться Unity, как писать скрипты, как сделать движение персонажа и много других, более мелких тем. Но несмотря на количество просмотренного материала, собрать полноценный проект с нуля я так и не смог, если честно.
Позже я понял, в чём была загвоздка. Во-первых, в большинстве туториалов постоянно повторялась одна и та же информация. Во-вторых, почти все они начинались с заготовок: «скачай сцену», «я уже написал часть кода», «возьми мои префабы». Из-за этого не складывалось целостного понимания, как пройти путь от пустого проекта до завершённой игры. И в-третьих, со временем становилось всё сложнее находить действительно полезные материалы, а канал сразу с пачкой уроков казался почти недостижимой мечтой.
В какой-то момент я решил, что пора наконец пробовать самому сделать игру. Я открыл Unity и… завис. Чтобы создать проект, нужно придумать название. Чтобы придумать название, нужно понять, какую игру я вообще хочу сделать. В итоге я пошёл на «Яндекс Игры» в раздел популярных.
В те времена там были маджонги, шарики, матч-3 и другие классические игры, захватывающие своей простотой и кажущиеся такими же простыми и для разработчика (кстати, это одна из самых частых ловушек для новичков). Были и разные 3D-головоломки, простенькие шутеры и гонки, но идеи с 3D я отмёл сразу: понимал, что на моделинг и рисование арта у меня уйдёт куда больше времени, чем на изучение программирования.
Я решил сосредоточиться именно на разработке и поэтому посмотрел в сторону 2D. Тогда я руководствовался простым правилом: делай так же, как все, чтобы стать таким же популярным. Поэтому выбор пал на классическую игру.
К этому моменту я уже осознавал, что сделать игру целиком и с нуля у меня вряд ли получится – слишком много пробелов в знаниях. А что такое правильная архитектура в играх, я тогда не представлял вовсе.
И тут я снова пошёл в Google. На этот раз решил действовать радикально и переключил раскладку. IT-запросы нужно искать на английском – так нас учили в университете. После пары часов «интернетинга» я нашёл настоящий бриллиант – полный курс по разработке «Тетриса». В нём было всё: архитектура 2D-игры, ввод, UI, создание объектов, система подсчёта очков, времени и жизней. Особенно важно было то, что всё писалось с нуля: ничего не «появлялось» между уроками, а автор не просто показывал, как делать игру, но и объяснял, что и зачем он делает.
Видео были на YouTube и, соответственно, бесплатными, но задать вопросы, к сожалению, было некому. Так я и начал делать свою игру: скачал все ролики, смотрел их и параллельно повторял за автором, стараясь разобраться, что происходит и почему именно так. В итоге через 2–3 месяца игра была готова. Исходники я залил на GitHub, а билд собрал под Windows.
А дальше на горизонте появилась практика в университете. Мне нужно было самостоятельно найти компанию, которая возьмёт меня работать на месяц, и я стал обивать пороги всех местных геймдев-студий.
Тут стоит признаться, что мне немного повезло. Тестовое задание от компании оказалось знакомым: нужно было разработать игру «Тетрис». Как я узнал позже, это довольно частая практика у работодателей: давать базовую задачу, чтобы посмотреть, как кандидат справляется с кодингом и основами Unity. К тому моменту я уже понимал, как работает Unity, как пишется код и собираются билды, поэтому просто адаптировал свою версию игры под требования тестового задания. Работодатель оценил мою реализацию.
Дальше было очное собеседование, на котором я смог уверенно ответить на вопросы. Здесь очень помог университетский опыт и то, что проект я не просто скопировал, а действительно разобрался в каждой строчке кода.
На практике скорость обучения выросла в разы. Объёмы новых знаний были огромными, и на это повлияло сразу несколько факторов. Во-первых, настоящие боевые задачи: постоянная работа с большим проектом, где для реализации фич приходилось разбираться в массиве чужого кода. Во-вторых, и это, пожалуй, самое главное – опытные разработчики рядом. Они много объясняли, помогали с решениями и снимали вечные сомнения в духе «а точно ли я делаю всё правильно». Всегда можно было просто подойти и спросить.
За месяц практики я серьёзно усилил свои скиллы, освоил несколько новых инструментов, узнал, как строится архитектура в крупных проектах и как вообще работать в команде. А спустя некоторое время в компании открылась вакансия – и меня взяли на позицию джуна.
То, что тестовое задание и мои уроки совпали, – это, безусловно, везение, тут не поспоришь. Но решение сделать игру с нуля и разобраться в том, что в ней происходит, – уже не везение. Именно это научило меня собирать билды, понимать, с чего начинать работу, как выстраивать архитектуру и разрабатывать игровые механики. В университете я ещё не раз пользовался этим лайфхаком и осваивал некоторые предметы именно через туториалы.
Если сейчас меня кто-то спрашивает, с чего лучше начинать, я всегда предлагаю сделать базовую классическую игру. В ней нет изощрённых механик, не нужно отвлекаться на рисование или 3D, и в интернете по таким проектам есть огромное количество гайдов.
Берёте любую простую игру – важно, чтобы она действительно была простой и не растянулась на годы, – делите её на несколько итераций, чтобы видеть прогресс и не терять мотивацию, и просто начинаете делать.
Да пребудет с вами сила, и пусть мотивация не покинет вас на пути изучения геймдева!
Если после этой истории вам хочется попробовать себя в геймдеве – приглашаем на курс по разработке игр на Unity от GIGASCHOOL. Это программа про практику, вы разбираетесь в инструментах, работаете с кодом, собираете собственный игровой проект и получаете обратную связь от преподавателей на каждом этапе.
Кстати, Савелий – один из экспертов курса. Он помогает студентам пройти путь от первого скрипта до собственного инди-проекта и разобраться, как выглядит реальная разработка игр. 11 января в 13:00 по МСК Савелий проводит бесплатный воркшоп по нейросетям в Unity, зарегистрироваться на него можно на сайте.
И приятный бонус для читателей Хабра:
по промокоду Habr действует скидка на обучение.
Источник


