Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
По данным сайта gamedatacrunch.com, в 2021 году 49,48% всех платных игр, вышедших в Steam, были сделаны на Unity. А в сфере мобильных игр этот показатель уже давно превысил 50%. В этом материале мы расскажем, почему движок стал настолько популярным, и объясним, почему начинающие разработчики и небольшие инди-команды предпочитают использовать Unity.
Чтобы лучше разобраться в теме, мы поговорили с fullstack-разработчиком DECA Games Рашидом Гайнутдиновым и техническим геймдизайнером Banzai Games Дмитрием Лукичевым — они объяснили, какими достоинствами обладает Unity, и поделились полезными материалами для обучения.
Главные особенности Unity
Сейчас существует множество открытых движков, но самые популярные и крупные из них — это Unity и Unreal Engine 4. Принципиальные различия между двумя движками лежат на уровне языка программирования — C# для Unity и C++ для UE4. Первый более строгий и имеет меньший порог входа, а второй предоставляет больше возможностей, но требует большей дисциплины от разработчика.
Игровой движок Unity не просто так стал одним из самых популярных во всём мире. Его ценят за:
простоту — у движка низкий порог входа, поэтому его могут освоить даже новички,
универсальность — с его помощью можно сделать игру для любой современной популярной платформы (ПК, iOS, Android, PlayStation, Xbox, Switch),
гибкость — Unity можно легко настроить под конкретный проект, чтобы сделать разработку максимально эффективной.
По словам экспертов, благодаря особенностям движков в индустрии произошло разделение. Если компания разрабатывает ААА-игру, то предпочтение отдаётся Unreal Engine, поскольку он более производителен и имеет больше готовых функций. Unity чаще всего используется для инди-проектов или мобильных игр — в движке меньше стоковых функций и его можно охарактеризовать как «песочницу», из которой можно создать мастерскую, удобную для работы над конкретным жанром или серией игр.
По мнению Рашида Гайнутдинова, главное преимущество Unity — это простота и гибкость.
Вам не нужна команда разработчиков с большим опытом, чтобы сделать качественную игру, потому что в Unity уже реализовано и отполировано большинство необходимых функций. Вам нужно лишь научиться ими пользоваться.
Дмитрий Лукичев отметил, что гибкость Unity позволяет компаниям в короткие сроки и с минимумом вложений подстраивать движок под собственные нужды. Компании могут расширять набор функций под конкретный проект. Это касается как масштаба, так и жанра — Unity одинаково хорошо подходит и для создания небольшой головоломки, и для огромной классической RPG.
Если вы новичок или работаете в небольшой независимой команде, то Unity — однозначно ваш выбор.
Unity подходит даже для соло-разработки. К примеру, создатель медитативной приключенческой игры A Short Hike Адам Робинсон сделал её в одиночку всего за четыре месяца — до этого он часто участвовал в геймджемах и просто экспериментировал с механиками, поэтому к моменту начала разработки он отлично разбирался в движке и его инструментах.
Ещё одно преимущество Unity в том, что вокруг него сформировалось огромное сообщество, которое готово делиться опытом — в сети есть множество подробных уроков и всевозможных туториалов.
В магазине движка есть много платных и бесплатных ассетов. Там можно найти как простые 3D-модели и незамысловатые механики, так и сложные системы, которые помогут реализовать отдельные игровые аспекты, например, искусственный интеллект или инвентарь.
Но не стоит рассчитывать на то, что из готовых ассетов получится сделать полноценную качественную игру — такой проект будет больше похож на монстра, сшитого из несочетающихся частей.
Почему Unity удобен для старта в геймдеве
Помимо Unity и Unreal Engine 4 существуют игровые конструкторы, которые могут облегчить создание простых игр для новичков. Как отметил Лукичев, хоть это и проще, но если ваша конечная цель — стать востребованным специалистом в игровой индустрии, то лучше изучать популярные инструменты. Чаще всего в вакансиях требуется знакомство с Unity или Unreal Engine 4, а знание GameMaker или Construct может оказаться лишь незначительным плюсом, так как в работе это вряд ли потребуется.
Ещё один путь — написать кастомный движок. Но обычно сделать это могут только крупные компании, которые способны содержать большой штат нативных программистов. В компаниях поменьше, как правило, создают свои надстройки и библиотеки для Unity — это нужно для удобства разработки конкретного проекта. А совсем небольшие команды чаще всего обходятся стоковым набором функций движка, так как это освобождает силы и ресурсы для разработки самой игры.
По словам Гайнутдинова, у Unity есть ограничения, но начинающий разработчик скорее всего никогда с ними не столкнётся. А при создании собственного движка будут возникать постоянные проблемы: вы споткнётесь обо все ограничения операционных систем, у вас возникнут препятствия с устройствами и периферией. И в итоге всё это негативно скажется на финальном качестве продукта.
Визуальное программирование в Unity
Unity дружелюбен даже для тех, кто вообще не владеет C# — движок уже давно поддерживает систему визуального программирования Bolt, которую можно использовать для написания игровой логики без кода.
Это значит, что в Unity могут работать и те разработчики, которые не специализируются на программировании. К примеру, Bolt позволяет гейм-дизайнерам быстро прототипировать свои задумки, чтобы сразу же опробовать механики в действии, а левел-дизайнерам самостоятельно настраивать триггеры на локациях.
Тем не менее Bolt не опускает Unity до уровня простых конструкторов — это всё то же написание логики, но в более понятном и дружелюбном виде. Хоть визуальный скриптинг и упрощает процесс программирования, разработчик всё равно должен понимать базовые принципы логики.
Человеку, который никогда не работал с игровыми движками и не программировал в принципе, будет сложно освоить всё это в короткие сроки. Если есть желание попасть в разработку игр, я бы предложил начать с простого программирования, но если вы уже в геймдеве, но не задействованы в написание кода — визуальный скриптинг отличный выбор.
Дмитрий Лукичев, технический геймдизайнер Banzai Games.
Проект Fantasy MOBA от разработчика Ludiq создан на Bolt
Источники для обучения
Эксперты рассказали, что при обучении часто возникают вопросы, на которые могут ответить только практикующие специалисты. В сети сформировалось развитое русскоязычное сообщество Unity-разработчиков, которые готовы поделиться своим опытом. Кроме того, есть официальные материалы, которые помогут преодолеть множество препятствий. Вот основные источники:
Официальный сайт Unity, где лежат отличные курсы, которые позволяют познакомиться с различными аспектами движка.
На StackOverflow вы найдёте решение почти на любую проблему, которая может возникнуть в ходе использования Unity. А если вы не найдёте ответ, то вы можете задать вопрос, а специалисты со всего света постараются помочь.
Форум на русском языке, на котором есть специалисты разных уровней, готовые обсудить новости движка, поделиться секретами или помочь с решением интересной проблемы.
Специализированный чат в Telegram.
Форум на Хабре
Курс Нетологии «Разработчик игр на Unity»
Лукичев отметил, что для самообучения могут подойти всевозможные туториалы, но стоит помнить, что их специально делают максимально наглядными для новичков, в них много упрощений и пренебрежений правилами написания кода.
По мнению Гайнутдинова, также новичкам не стоит забывать про магазин ассетов для Unity — там можно встретить много полезного: от базовых скриптов для работы с камерой до готовых игр и отлично анимированных моделей.
Сколько зарабатывают разработчики на Unity
Ежегодно совокупная прибыль в игровой индустрии растёт — в 2020 году прирост составил 19,6% по сравнению с годом ранее. При этом мобильные игры, среди которых Unity наиболее востребован, в 2020 году принесли 49% от всего дохода игровой индустрии.
Эта статистика показывает, что профессия Unity-разработчика сейчас востребована на рынке труда. К примеру, на начало октября на HeadHunter в целом по России было более 1200 вакансий на запрос «Unity Developer». Так что у Unity-разработчика всегда есть широкие возможности при выборе места работы.
По данным компании Values Value, средняя зарплата для разработчиков на C# составляет около $1900.
Часто вакансии публикуются на площадках, которые специализируются на поиске работы в геймдеве и IT-сфере: Talents in Games, HR in GameDev, Хабр Карьера, «Вакансии» на DTF.
Unity стал наиболее популярным игровым движком из-за целого ряда преимуществ:
простота, благодаря которой движком могут овладеть даже новички,
универсальность — Unity показывает себя одинаково хорошо при работе над самыми разными играми,
гибкость — движок можно глубоко настраивать под каждый новый проект,
огромная библиотека ассетов, с помощью которых можно ускорить и упростить разработку,
наличие системы визуального скриптинга,
множество источников для обучения и обмена опытом.
Unity повсеместно используется в игровой индустрии — этот движок применяют как для крупных консольных игр, так и для небольших мобильных проектов. Кроме того, на нём можно сделать игру и в одиночку. Благодаря этому у разработчика на Unity есть широкие возможности при выборе места работы — он одинаково легко может пойти и в инди-геймдев, и в сферу мобильных игр.