По данным сайта gamedatacrunch.com, в 2021 году 49,48% всех платных игр, вышедших в Steam, были сделаны на Unity. А в сфере мобильных игр этот показатель уже давно превысил 50%. В этом материале мы расскажем, почему движок стал настолько популярным, и объясним, почему начинающие разработчики и небольшие инди-команды предпочитают использовать Unity. 

Чтобы лучше разобраться в теме, мы поговорили с fullstack-разработчиком DECA Games Рашидом Гайнутдиновым и техническим геймдизайнером Banzai Games Дмитрием Лукичевым — они объяснили, какими достоинствами обладает Unity, и поделились полезными материалами для обучения. 

Платформер Ori and the Will of the Wisps от австрийской студии Moon Studio создан на Unity
Платформер Ori and the Will of the Wisps от австрийской студии Moon Studio создан на Unity

Главные особенности Unity

Сейчас существует множество открытых движков, но самые популярные и крупные из них — это Unity и Unreal Engine 4. Принципиальные различия между двумя движками лежат на уровне языка программирования — C# для Unity и C++ для UE4. Первый более строгий и имеет меньший порог входа, а второй предоставляет больше возможностей, но требует большей дисциплины от разработчика.

Игровой движок Unity не просто так стал одним из самых популярных во всём мире. Его ценят за:

  • простоту — у движка низкий порог входа, поэтому его могут освоить даже новички, 

  • универсальность — с его помощью можно сделать игру для любой современной популярной платформы (ПК, iOS, Android, PlayStation, Xbox, Switch), 

  • гибкость — Unity можно легко настроить под конкретный проект, чтобы сделать разработку максимально эффективной. 

Классическая партийная RPG Pathfinder: Kingmaker от российской студии Owlcat Games создана на Unity 
Классическая партийная RPG Pathfinder: Kingmaker от российской студии Owlcat Games создана на Unity 

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

По мнению Рашида Гайнутдинова, главное преимущество Unity — это простота и гибкость.

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

Дмитрий Лукичев отметил, что гибкость Unity позволяет компаниям в короткие сроки и с минимумом вложений подстраивать движок под собственные нужды. Компании могут расширять набор функций под конкретный проект. Это касается как масштаба, так и жанра — Unity одинаково хорошо подходит и для создания небольшой головоломки, и для огромной классической RPG. 

Если вы новичок или работаете в небольшой независимой команде, то Unity — однозначно ваш выбор.

Unity подходит даже для соло-разработки. К примеру, создатель медитативной приключенческой игры A Short Hike Адам Робинсон сделал её в одиночку всего за четыре месяца — до этого он часто участвовал в геймджемах и просто экспериментировал с механиками, поэтому к моменту начала разработки он отлично разбирался в движке и его инструментах. 

A Short Hike
A Short Hike

Ещё одно преимущество Unity в том, что вокруг него сформировалось огромное сообщество, которое готово делиться опытом — в сети есть множество подробных уроков и всевозможных туториалов.

В магазине движка есть много платных и бесплатных ассетов. Там можно найти как простые 3D-модели и незамысловатые механики, так и сложные системы, которые помогут реализовать отдельные игровые аспекты, например, искусственный интеллект или инвентарь. 

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

Головоломка про временную петлю и смерть галактики Outer Wilds создана на Unity
Головоломка про временную петлю и смерть галактики Outer Wilds создана на Unity

Почему Unity удобен для старта в геймдеве

Помимо Unity и Unreal Engine 4 существуют игровые конструкторы, которые могут облегчить создание простых игр для новичков. Как отметил Лукичев, хоть это и проще, но если ваша конечная цель — стать востребованным специалистом в игровой индустрии, то лучше изучать популярные инструменты. Чаще всего в вакансиях требуется знакомство с Unity или Unreal Engine 4, а знание GameMaker или Construct может оказаться лишь незначительным плюсом, так как в работе это вряд ли потребуется.

В основе минималистичного шутера Superhot находится Unity
В основе минималистичного шутера Superhot находится Unity

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

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

Мрачная метроидвания Hollow Knight от инди-команды Team Cherry сделана на Unity
Мрачная метроидвания Hollow Knight от инди-команды Team Cherry сделана на Unity

Визуальное программирование в Unity 

Unity дружелюбен даже для тех, кто вообще не владеет C# — движок уже давно поддерживает систему визуального программирования Bolt, которую можно использовать для написания игровой логики без кода. 

Пример использования визуального скриптинга в Bolt
Пример использования визуального скриптинга в Bolt

Это значит, что в Unity могут работать и те разработчики, которые не специализируются на программировании. К примеру, Bolt позволяет гейм-дизайнерам быстро прототипировать свои задумки, чтобы сразу же опробовать механики в действии, а левел-дизайнерам самостоятельно настраивать триггеры на локациях.

Тем не менее Bolt не опускает Unity до уровня простых конструкторов — это всё то же написание логики, но в более понятном и дружелюбном виде. Хоть визуальный скриптинг и упрощает процесс программирования, разработчик всё равно должен понимать базовые принципы логики. 

Человеку, который никогда не работал с игровыми движками и не программировал в принципе, будет сложно освоить всё это в короткие сроки. Если есть желание попасть в разработку игр, я бы предложил начать с простого программирования, но если вы уже в геймдеве, но не задействованы в написание кода — визуальный скриптинг отличный выбор.

Дмитрий Лукичев, технический геймдизайнер Banzai Games.

Проект Fantasy MOBA от разработчика Ludiq создан на Bolt

Источники для обучения

Эксперты рассказали, что при обучении часто возникают вопросы, на которые могут ответить только практикующие специалисты. В сети сформировалось развитое русскоязычное сообщество Unity-разработчиков, которые готовы поделиться своим опытом. Кроме того, есть официальные материалы, которые помогут преодолеть множество препятствий. Вот основные источники: 

Мрачный платформер про тоталитарное общество Inside сделан на Unity
Мрачный платформер про тоталитарное общество Inside сделан на Unity

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

По мнению Гайнутдинова, также новичкам не стоит забывать про магазин ассетов для Unity — там можно встретить много полезного: от базовых скриптов для работы с камерой до готовых игр и отлично анимированных моделей. 

Сколько зарабатывают разработчики на Unity

Ежегодно совокупная прибыль в игровой индустрии растёт — в 2020 году прирост составил 19,6% по сравнению с годом ранее. При этом мобильные игры, среди которых Unity наиболее востребован, в 2020 году принесли 49% от всего дохода игровой индустрии. 

Популярная MMORPG Genshin Impact способна удивить красивыми пейзажами. Она тоже сделана на Unity
Популярная MMORPG Genshin Impact способна удивить красивыми пейзажами. Она тоже сделана на Unity

Эта статистика показывает, что профессия Unity-разработчика сейчас востребована на рынке труда. К примеру, на начало октября на HeadHunter в целом по России было более 1200 вакансий на запрос «Unity Developer». Так что у Unity-разработчика всегда есть широкие возможности при выборе места работы.

По данным компании Values Value, средняя зарплата для разработчиков на C# составляет около $1900. 

Часто вакансии публикуются на площадках, которые специализируются на поиске работы в геймдеве и IT-сфере: Talents in Games, HR in GameDev, Хабр Карьера, «Вакансии» на DTF.


Unity стал наиболее популярным игровым движком из-за целого ряда преимуществ:

  • простота, благодаря которой движком могут овладеть даже новички,

  • универсальность — Unity показывает себя одинаково хорошо при работе над самыми разными играми,

  • гибкость — движок можно глубоко настраивать под каждый новый проект,

  • огромная библиотека ассетов, с помощью которых можно ускорить и упростить разработку,

  • наличие системы визуального скриптинга,

  • множество источников для обучения и обмена опытом.

Unity повсеместно используется в игровой индустрии — этот движок применяют как для крупных консольных игр, так и для небольших мобильных проектов. Кроме того, на нём можно сделать игру и в одиночку. Благодаря этому у разработчика на Unity есть широкие возможности при выборе места работы — он одинаково легко может пойти и в инди-геймдев, и в сферу мобильных игр.

Комментарии (20)


  1. Tuwogaka
    20.11.2021 15:26

    Про этот движок есть два слуха каждый из которых в отдельности способен оттолкнуть новичка. 1. Стремясь сделать бесплатную версию минимально работоспособной, воткнут неизменяемый экран начальной загрузки. 2. Чем больше скриптов - там дольше стартует игра, предлагают сначала хорошо вложиться а потом зубами скрипеть.

    А почему при описании альтернатив даже Godot не упомянут?


    1. bezarius
      20.11.2021 16:30
      +6

      Может быть по тому, что Godot не на уровне Unreal\Unity3d? Например на hh godot упоминается аж 1 раз, и то там проект не на нем :|


      1. Tuwogaka
        20.11.2021 16:39
        -4

        Что такое hh? Слышал что-то созвучное по телику, по поводу поиска работы. Если это оно: работа на дядю найденная и альтернативы - две большие разницы, может и к лучшему, что не упоминается.


        1. bezarius
          20.11.2021 16:50
          +5

          Судя по вашему комментарию, Вы очень далеки от индустрии.

          Если Вы внимательно перечитаете статью, то тут речь о рекомендациях для новичков. В настоящее время, в большинстве кейсов, при поиске работы используются hh, по тому, что редко когда крупная компания не продублирует там свою вакансию. Было бы крайне глупо рекомендовать для новичка движок знание которого не позволит найти работу, правда?

          Возможно я ошибаюсь, но насколько мне известно, в России вообще нет компаний который использовали бы Godot для разработки игр. По этому нет смысла его упоминать, впрочем как и многие другие движки, коих множество.


    1. AntonyDeveloper
      20.11.2021 22:23
      +2

      Я соглашусь с вами. Gogot - прекрасный и лёгкий игровой движок. И если он в 3D ещё не такой мощный как Unity, то создание 2D игр там просто в радость. К тому же он полностью бесплатный и к нему прилагается просто фантастическая документация.

      По моему у Godot прекрасное будущее.


  1. Sektor2350
    20.11.2021 18:57

    Genshin Impact не является MMORPG, это "Гача" Action-RPG с небольшим коопом на 4 человека, в котором полно ограничений, практически вся игра одиночная.


  1. Lesh48
    20.11.2021 22:23
    +2

    Внимательно прочитайте цифры в статье. 50% игр в Стиме сделано на Юнити (вовсе не показатель, основной показатель в макетах - это прибыль и популярность). Более 50 % игр на андроид сделаны на Юнити (в Гугл плей более 70%) тоже не отображает сути т.к. игры могут быть на дне маркета. В игровой индустрии выросла прибыль на 20% за год, тоже не показатель, т.к. не учитывается прибыль проектов с Юнити. Прибыль мобильных игр составляет 50% от прибыли игровой индустрии, тут не говорится, какую долю из этого получают проекты с Юнити.

    Что касается движков, в целом расписано правильно. Только примеры проектов нужно было учитывать не для пк, а для андроидов т.к. на Юнити написано множество хороших приложений и игр.


  1. Suvitruf
    21.11.2021 01:32

    Unity дружелюбен даже для тех, кто вообще не владеет C# — движок уже давно поддерживает систему визуального программирования Bolt, которую можно использовать для написания игровой логики без кода.
    Unity забили на Bolt и больше его не развивают.


    1. Ommonick
      21.11.2021 13:30
      +1

      Положили болт на болт тксказать.


    1. Brain2ode
      25.11.2021 17:44

      Последняя версия пакета от 11 ноября 2021, вполне себе развивают. Только в виде интегрированного пакета в версию 2021.2


      1. Suvitruf
        25.11.2021 18:39

        Так Bolt 1 — это просто игрушка несерьёзная. Я про Bolt 2, с которым всё грустно.


        1. ScratchUA
          26.11.2021 02:36
          +1

          Советую обратить внимание на Game Creator 2 - ремейк популярного фреймворка, у которого более высокий уровень абстракции по сравнению с Visual Scripting, и который использует Burst, Threads вместо Coroutines, а также Animation Rigging для встроенного контроллера персонажей. А еще в нём нет простыней с квадратиками. Ценник, конечно будет немаленький после выхода и покупки всех модулей (именно для Game Creator 2), но лично я считаю, что ничего лучше для быстрого старта новичка в Asset Store нет. Хотя и опытный одиночный разработчик или небольшая команда из 2-5 человек могут существенно ускорить разработку, используя Game Creator 2. Модульность самого фреймворка (не имеются ввиду модули как дополнения) позволяет унифицировать и упростить написание собственных расширений, имеется интеграция с Visual Scripting.


  1. MANAB
    21.11.2021 07:09
    +1

    Увидел много доводов "почему стоит начать разрабатывать на Unity" и ни одного "как".


    1. deinlandel
      22.11.2021 09:08
      +2

      А об этом вы сможете узнать, купив наш замечательный курс на Нетологии! /s


      1. blognetology Автор
        22.11.2021 11:01
        -2

        Конечно, будем вас рады видеть на курсах Нетологии. Список других источников для изучения в статье есть — от официального сообщества до тем на Хабре.


    1. bezarius
      22.11.2021 09:47

      learn.unity.com вам в помощь, при условии, что вы знаете английский


      1. MANAB
        22.11.2021 10:32

        Я знаю Unity. Я про то, что заголовок и содержание не соответствуют друг другу.



  1. ScratchUA
    23.11.2021 22:13
    +1

    Самая главная проблема Unity для начинающих - это, как ни парадоксально, низкий порог входа для начинающих. Постоянно присутствуя на паре десятков серверов Discord, посвященных Unity (в том числе, посвященных фреймворкам для быстрой разработки и популярным ассетам), могу привести несколько "вредных советов", основанных на наблюдениях в Discord:

    1) если вы одиночный начинающий разработчик, то обязательно начинайте сразу делать бесшовный RPG в открытом мире, с размером карты не меньше, чем в GTA 5 или Skyrim.

    2) если вам удалось найти напарника в мини-команду, то сразу же трансформируйте проект в MMORPG, Batle Royale или, на крайний случай, сессионный шутер, и сразу же увеличивайте размер карты в 5 раз.

    3) учиться логике программирования в целом, и C# не обязательно, можно купить ассеты для быстрого создания игр типа всяких <Dummy Genre> Builder, <Dummy Genre> Template, <Dummy All-In-One> Controller. Обязательно купите весь набор дополнений к ассетам, даже если вы не знаете, для чего они. Позже обязательно пригодятся.

    4) Никогда не читайте книг или печатных руководств, особенно те, где много букв и мало картинок или видео. Всегда смотрите видеоуроки, так как там есть всё, что вам нужно: достаточно повторять набор кода, ставя видео на паузу каждые 5 секунд.

    5) если в уже купленном ассете нет того, что надо именно вам, то обязательно напишите автору ассета отзыв с требованием немедленно внедрить требуемое, не забыв при этом поставить 1 звезду разработчику и оставить постскриптум "Я разве платил большие деньги, чтобы самостоятельно программировать?". После этого его гарантированно должна замучить совесть. Даже, когда разработчик всё-таки внедрил требуемое, никогда не меняйте рейтинг на более высокий. Наказание должно быть наглядным уроком для разработчика на будущее.

    6) всегда старайтесь сделать свой проект максимально универсальным и чтобы всё и всегда было под рукой. Потому, обязательно добавляйте в проект все купленные вами ассеты, всё равно в билд попадёт только то, что используется.

    7) если вы чего-то не знаете, задавайте свой вопрос во всех найденных серверах Discord о разработке на Unity, желательно продублировав его в нескольких каналах. Если вам ответят, что тут нужно программировать самостоятельно, то обязательно выскажите своё мнение о бесполезности сервера и низком уровне подготовки его посетителей.

    8) оптимизация нужна только для пользователей с GTX 1650 или слабенькими Mediatek. Наши пользователи всегда имеют минимум RTX 2080 или Snapdragon 870. В комментариях к релизу всегда появится несколько человек, которые на жалобы о низком FPS и фризах встанут на вашу сторону, отреагировав на жалобу комментарием "Купи себе нормальное железо, нищеброд!".

    К чему вёл всё это? Я реально видел / знаю несколько человек, которые при данном подходе умудрились выпустить не одну, и даже не две игры как в Steam, так и в Play Market / App Store и даже успешно монетизировать их. Самое печальное, что складывается стойкое впечатление, что Unity Technologies, по сути, поощряет данный подход, отдавая некоторые востребованные подсистемы, например, воды, облаков (то, что есть сейчас в Unity 2021.2 - это печально), инструменты для создания ландшафта и растительности (ага, 3 года ждем травку в HDRP) и многое другое, "на откуп" сторонним разработчикам в Asset Store. В то же время, Epic предоставляет гораздо больше, чем даже платные ассеты Unity, бесплатно. Я понимаю, что у Unity Technologies нет станка для печатания денег под названием Fortnite, но помпезная покупка Weta Digital за 1.6 млрд. долларов США, даёт основания думать, что Unity Technologies отнюдь не нищенствует и указанное состояние дел их устраивает.


  1. solarcore
    01.12.2021 12:57

    Самое страшное, что низкий порог входа, даёт нам кучу неоптимизированных игр (Но проданных), которые завалили Стим.