Еще не участник? Зарегистрируйся!
Забыли пароль? Восстановить

Зачем использовать другие движки, когда есть Unity и Unreal Engine?

15 июля 2022
Выбор движка для игры — это база. И в большинстве случаев этот выбор падает на Unity или Unreal Engine. В них встроено достаточно инструментов, чтобы маленькая команда или даже разработчик-одиночка могли вытянуть серьёзный проект. Может показаться, что эти движки установили гегемонию и смотреть куда-то ещё вообще нет смысла. Однако немало инди-игр сделано на других, менее известных «в народе» технологиях, а то и на самописных движках. Самое время кратко и чётко сформулировать, зачем смотреть на другие движки, на какие именно и в каком случае движок нужно писать самому, с нуля.

Скриншот из технического демо движка Unreal Engine 5, демонстрирующий трассировку лучей

Первый повод отказаться от Unity и Unreal Engine — меркантильный. Но это только для крупных студий

Оба движка можно использовать бесплатно — и даже выпускать на них коммерческие игры, ничего никому не платя. Но, само собой, есть нюанс. В случае с Unity, когда годовой доход с готовой игры превысит 100.000 долларов, придётся покупать платную подписку по цене от 150 (за одно место) до 4000 долларов (зато сразу за 20 мест) в месяц. За ней же, к слову, спрятаны многие полезные функции, которых начинает остро не хватать тем, кто выползает за пределы статуса «новичка». Ну а Unreal Engine позволит оставить себе первый миллион долларов, но если проект заработает больше — придётся поделиться с Epic Games пятью процентами прибыли.

Для маленьких и полулюбительских проектов всё это несущественно — они на такие прибыли обычно и не выходят. Но для ААА-контор те же пять процентов роялти играют уже более существенную роль. Поэтому Uncharted 4 создан на Naughty Dog Game Engine, а Resident Evil Village на RE Engine — крупные издатели готовы вкладываться в разработку собственных мощных движков. Это инвестиция в будущее и возможность ни с кем не делиться. Хотя и бедой такой подход тоже иногда оборачивается — внутренние студии EA изрядно настрадались, когда компания решила перевести все свои игры на «шутерный» движок Frostbite. Играм вроде Dragon Age: Inquisition он просто не подходил.

Скриншот из ПК-версии игры Battlefield 2042, новейшей игры, созданной на движке Frostbite

Второй повод — чрезмерная для некоторых проектов комплексность и сложность Unity и Unreal Engine

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

Да и универсальность тут всё же не стопроцентная. Например, Unreal Engine всё ещё плохо подходит для 2D-игр, совсем не использующих 3D-графику. Встроенный в движок инструментарий Paper 2D для работы с «плоскими» играми позволяет реализовать любые задумки, но освоить его сложно — на пути к релизу придётся освоиться с многочисленными костылями. Умельцы находятся, но большая часть разработчиков 2D-игр предлагает всё-таки избегать «анрила».

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

Скриншот из ПК-версии игры Ori and the Will of the Wisps, созданной на движке Unity

Третий повод — моральная сторона вопроса. Но это касается только Unity

В середине июля компания объявила о слиянии с IronSource — и это правда неоднозначный шаг. В целом IronSource специализируются на разработке ПО для монетизации приложений. Казалось бы, ничего криминального — у Unity есть свой рекламный инструмент Unity Ads, а теперь его можно будет улучшить. Но дело в том, что IronSource известны разработкой приложения installCore, которое, среди прочего, помогает «кому нужно» без ведома пользователя ставить на ПК всякий рекламный мусор и ненужные расширения для браузера. С помощью installCore даже распространялось фальшивое приложение Snapchat для Windows.

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

Скриншот из игры Cognitio Terra, чей разработчик обещает в будущем отказаться от Unity

Четвёртый повод — отсутствие в Unity и Unreal Engine нужных технологий

С обывательской точки зрения в это трудно поверить, но эти мастодонты тоже умеют не всё. А кое-что умеют, но плохо. По этой причине, к примеру, недавний инди-ретро-хит TMNT: Shredder’s Revenge сделан на самописном движке. Это был самый простой (условно!) способ получить игру, одновременно и современную, и отдающую прямо в пальцы теми-самыми битемапами с NES.

Скриншот из ПК-версии игры Teenage Mutant Ninja Turtles: Shredder's Revenge, сделанной на самописном движке

И Shredder’s Revenge даже не самый интересный пример. Так, существует пиксельный рогалик Noita, для которого крохотная студия Nolla Games написала кастомный движок Falling Everything. Его особенность в том, что каждый пиксель в нём — это физический объект. А группы пикселей могут также работать как отдельные физические объекты с новыми свойствами. Это позволило реализовать впечатляющую разрушаемость и убедительную физику жидкостей, газов, огня и песка. При этом игра не взрывает компьютер — вот что самое важное. Забавно, что в основу технологии легла примитивная симуляция песка, написанная на «бейсике» одним из разработчиков Noita.

Скриншот из ПК-версии игры Noita, сделанной на самописном движке Falling Everything

Другой известный пример — инди-хит Factorio. Эта игра начинается как выживач, но быстро превращается в симулятор строительства бесконечно огромного завода с максимально сложными логистическими цепочками. Зачем разработчикам для такой идеи понадобился кастомный движок? По их собственным словам, ни один другой не смог бы обрабатывать движение сотен тысяч кубиков руды на транспортной ленте, закрученной в бараний рог. А ещё в их игре есть бесконечная генерация мира — а с такой задачей вообще мало какие движки справляются.

И подобных примеров можно привести много: Amnesia, Equilinox, The Witness, Miegakure — у всех этих игр есть особенности, которые ни на одной другой технологии (в момент выхода этих игр, конечно же) реализовать не получилось бы.

Скриншот из игры Factorio, сделанной на самописном движке

Так какие же движки «попроще» стоит рассмотреть, если свой с нуля писать не хочется?

Практически в любой статье «Я начинающий разработчик, какой движок мне выбрать» вам ответят: «Unity, конечно же! Но…». Вот о нескольких таких «но» кратко и поговорим — на монополистах сегодня свет клином и вправду не сошёлся. Вполне возможно, что для вашего проекта подойдёт чуть более экзотический инструмент.

MonoGame

Говоря прямо, MonoGame — это фреймворк, а не движок. Минималистичный набор инструментов, который позволяет на их основе сделать собственный движок, при этом не собирая всё совсем уж с нуля. MonoGame — это полностью бесплатный, максимально кроссплатформенный наследник (самый прямой) такого же фреймворка XNA от Microsoft. А XNA, на минутку, в своё время поспособствовал инди-революции, позволив маленьким разработчикам без лишних проблем разрабатывать игры для Xbox 360. Но в 2013 году проект был закрыт и переродился уже в виде opensource-решения, которое, на самом деле, энтузиасты начали разрабатывать ещё при живом XNA.

Главный плюс и минус MonoGame в его «низкоуровневости» — это вариант не для тех, кто хочет избежать программирования, а очень даже наоборот. Зато и тонкого контроля над процессом разработки больше. На основе MonoGame сделана масса не просто известных, а по-настоящему легендарных игр: Axiom Verge, Celeste, Transistor, Fez, Owlboy, Stardew Valley. Этот фреймворк почему-то особенно часто выбирают разработчики-одиночки. Но стоит учитывать, что заточен он под 2D, из 3D-игр, созданных на XNA можно вспомнить разве что Magicka.

Скриншот из ПК-версии игры Fez, сделанной с помощью фреймворка Monogame

Godot

Godot — это привлекающий всё больше внимания абсолютно бесплатный движок с открытым исходным кодом. Изначально он был заточен исключительно под 2D-игры, а потому до сих справляется с ними лучше всего, хотя 3D-возможности с каждой новой версией тоже улучшаются. Вокруг Godot образовалось крепкое комьюнити, которое не только советами новичкам помогает, но и улучшает движок.

Главный плюс Godot — его общая простота. Освоить его можно куда быстрее, чем тот же Unity. Другое весомое достоинство движка — возможность программировать не только на C#, но и на простом внутреннем языке GDScript или использовать визуальное программирование блоками в духе системы Blueprints из Unreal Engine.

В ААА-индустрию Godot пока не проник, в основном на нем выпускают совсем нишевые инди-игры. Однако в 2021 году на Godot была выпущена Sonic Colors: Ultimate — ремастер Sonic Colors. Это маленький, но верный шажок Godot на пути к более широкому признанию. Единственный минус Godot — ограниченная кроссплатформенность. Игры на этом движке можно выпустить и на PS4, и на Xbox One, но с этим придется повозиться.

Скриншот из игры Sonic Colors: Ultimate, сделанной на движке Godot

GameMaker Studio 2

GameMaker Studio 2 — это платный 2D-движок (3D там тоже есть, но такое), однако цены на подписку у него самые щадящие, инди-студиям он обойдется в 259 рублей в месяц и в 1389 рублей в месяц, если игру нужно выпустить ещё и на консолях. Опытные разработчики часто смотрят на GameMaker с его визуальным программированием и упором на драг-эн-дроп-системы как на баловство, однако на этом движке создано немало успешных игр вроде Nidhogg, Undertale и Hyper Light Drifter.

Скриншот из ПК-версии игры Hyper Light Drifter, сделанной на движке GameMaker

Собственно, главный плюс GameMaker — максимальная дружелюбность к новичкам и активное комьюнити, которое любой вопрос прояснит. Если в голове есть идея, а опыта в руках пока маловато — именно GameMaker поможет поскорее привести эти идеи в жизнь, без десятков часов штудирования мануалов. Особенно учитывая, что внутри движка существует жирный ассет-стор.


Разумеется, существует масса других движков, среди которых хватает и уважаемых opensource-проектов. А иногда даже совсем фанатские работы находят признание в большой индустрии — так, на кастомном движке Retro Engine для кроссплатформенного воссоздания игр про Соника Sega выпустила свежий сборник ремастеров Sonic Origins и отличную Sonic Mania. Но именно эти три движка выглядят перспективно в коммерческом плане и уже могут похвастаться целой библиотекой известных проектов. Они доказывают, что и за пределами Unity и Unreal Engine есть жизнь.

Автор: Денис Майоров

 Подпишись на нас