Современная игровая индустрия с каждым годом набирает все больше оборотов. Это затрагивает и мобильную разработку игр. Так как правильно выбрать движок для вашего Android приложения или игры? Расскажем ниже.
В 2022 году разработка мобильных приложений под Android набирает все большую популярность. Не только крупные компании, но и небольшие предприниматели решают завести собственное приложение для Android. Собственно, как же выбрать лучший движок для мобильных игр и на каком языке они пишутся?
Раньше все игры создавались вручную под каждую платформу. И старались выжимать максимум из существующего железо. Каждый раз целую игру писали с нуля, а зачастую еще и железо компьютеров дорабатывали, чтобы реализовать смелые по тем временам идеи. Затем разработчики заметили, что у процесса создания игр есть множество рутинных задач, которые легче автоматизировать, чем программировать, перейти на новый уровень абстракции. Написать их один раз и больше не задумываться. А дальше обращаться к ним и из кода. Так появились игровые библиотеки, фреймворки, а затем и полноценные движки.
Современные движки для создания игр обычно сочетают в себе множество функций: визуальный редактор сцен, утилиту для анимации, зону для скриптинга и тестирования, настройку отдельных объектов и гору других повседневных инструментов. При этом они сохраняют гибкость. Все также можно создавать объекты не через визуальный редактор, а с помощью языков программирования. Что позволяет реализовать такие популярные механики, как процедурная генерация, когда все этапы разработки пройдены, именно движки помогают упаковать игру для каждой совместимой платформы.
Что такое движок для игры?
Что можно считать движками, а что нет? И так, вы видите любую современную игру, потому что видеокарта по специальным командам от центрального процессора рисует кадры, и передает их на монитор. Пока тот же процессор собирает сигнал из контроллеров, а заодно перекидывает звук на динамики или определяет работу скриптов. Например, искусственного интеллекта.
Проще говоря игра постоянно получает, обрабатывает и выдает различную информацию. И это все. Никаких загадок. Мы с помощью языка программирования, например, на Java 3D game engine, указываем игре, что и с какими файлами делать.
Что же тогда не является движком и почему с ними лучше не работать? На грани с этим понятием существуют фреймворки. Это каркасы из наборов библиотек и сопутствующих программ. Обычно они могут решить и упростить слишком мало задач. И слишком много рутины оставляют на поверхности. хороший пример libGDX, на котором написан Майнкрафт. Если вы опытный программист, у для вас не составит труда решить рутинные задачи фреймворка. А если новичок, то получите дополнительные знания об устройстве игр. Но с другой стороны это может оказаться фатальным для успеха вашего дебютного проекта. Ведь сама игра выйдет куда проще и скучнее, чем могла бы быть. За время пока вы руками писали каждый графический объект, совмещали его с написанным руками физическим объектом, можно было бы довести до ума одну-две игровые механики. А потому для новичка фреймворки могут оказаться не лучшим выбором. Тем более, что серьёзные компании их практически не используют. И полученный опыт не всегда можно применить в коммерческих проектах.
Движки решают за нас большую часть повседневных задач. Предлагают писать для их реализации лишь короткие команды, обращенные к заранее придуманным функциям и библиотекам. К тому же многие настройки можно произвести вручную прямо из визуального редактора сцены, что позволяет подпустить к работе дизайнеров уровней, художников, аниматоров, тестеров или гейм-дизайнеров. Так какой игровой движок выбрать?
Конструкторы для создания мобильных игр
Но есть и другая сторона – конструкторы игр. Они позволяют создавать логику без программирования, а потом завернуть все под соусом «сделал сам». Очевидно, что реальных знаний конструкторы игр почти не дают. А сами игры работают не так быстро, как могли бы. Хоть в последнее время приложения для создания игр стали гораздо лучше, но все еще не являются оптимальным выбором.
Печаль в том, что современные движки развились настолько, что все в некотором роде стали конструкторами. Например, во многих движках создано визуальное программирование. Но пообещайте себе, что не будете этим злоупотреблять, иначе вашу чудо игру будет не отличить от миллионов других. Вернитесь к конструкторам, если с движками не срослось, а программирование совсем не ваше.
Так какой выбрать движок для создания мобильных игр?
Стоит отметить, что выбранный движок не будет лучшим во всех сферах. Он просто лучше подходит для описанной задачи. На нем будет удобно сделать первую игру, и понять как вообще создают приложение для создания эдитов и мобильные игры на компьютере.
Наша цель — бесплатные движки. В крайнем случае, бесплатная базовая лицензия с достаточным функционалом для выпуска коммерческих игр. Движок стоит выбирать с полноценной документацией, хотя бы на английском языке. А его разработка должна продолжаться прямо сейчас. И получается уже довольно скромный список приложений.
Напомню, что ваша первая игра должна быть 2 д. Потому что лучше хорошая игра в двух измерениях, чем плохая, но 3d игра. Не ждите быстрых результатов, даже с великолепным движком и базовым опытом в разработке приложений.
Для начала изучите выпущенные на каждом заинтересовавшим вас движке игры. Узнайте, продолжается ли его разработка в данный момент, и какие перспективы у него в ближайшем будущем. Проверьте доступность уроков по нему (чтобы понять, как создать нужный продукт) и качественной инструкции по работе. И остается совсем мало претендентов.
Создание приложений с помощью движков
На 4 и 5 местах мы разместим все типичные 2D редакторы. Чтобы быть более точным поставим там Solar2D и Defold. В этих движках заложена кроссплатформенность. Есть понятная документация и даже сообщество разработчиков, которые готовы всегда помочь. Вот только нет 3D, которое для первой игры и не нужно вроде как. Но все же приятно иметь его про запас.
А поэтому в топ-3 этим инструментам не попасть, ведь даже указанное выше 2d реализовано в них не лучше, чем в сегодняшнем победителе. Хотя стоит их хотя бы поставить и опробовать лично. А заодно заглянуть сообщество фанатов и оценить чужие работы и чужие проблемы.
2-3. На третьем и втором месте расположились Unreal Engine и Unity3D, соответственно. Они весьма похожи по своей сути. Невероятно функциональные движки, способные отрисовать потрясающую графику, детально обработать звук или столкнуть сотню игроков в сетевом бою. У обоих движков огромная база пользователей, уроков, примеров и ассетов, которые можно купить или скачать бесплатно.
Unity чуть больше заточен именно под 2d графику и физику. А Unreal незаменим для разработки крупных проектов, особенно требующих сетевых взаимодействий. Но оба они гипертрофированы для разработки простых игр. Беда в том, что оба движка имитируют 2d через 3d, что сказывается на производительности, на определенных аспектах разработки. Поэтому для разработки 2d игр в Unity и Unreal используется в некотором роде костыли. И это не очень хорошо.
Оба они на роль 1 подходят не лучшим образом. А потому отложите их на будущее.
- Godot Engine. В нем реализованы 2D и 3D сцены. Причем двухмерные игры не на костылях в трехмерном пространстве, а реализован на пиксельных 2D. Для двухмерной и трехмерной сред есть свои физические объекты, свои эффекты, камеры и освещение. И это дает отличную производительность и удобство разработки. Но что куда более важно, в процессе вовсе не требуется выходить из движка.
Более того данные по нагрузке железа также можно отсматривать и узнавать, где слабые места вашей игры. Синтаксис описан на сайте во всех подробностях с примерами. А типовые решения можно посмотреть в демонстрационных проектах, доступных на официальном сайте, а также в сотнях открытых проектов и плагинов. Этот подход значительно ускоряет процесс разработки простых игр и упрощает работу на слабых компьютерах.
Никаких дополнительных программ на компьютере не нужно, кроме разве что графического редактора и браузера. Также не потребуется выходить для создания или доведения до ума анимации.
Не забывайте также использовать Android DAW для записи, редактирования, сведения и мастеринга аудиофайлов.
Кроме того, вы можете подумать о том, как написать свой игровой движок. Вспомните, как играть в мобильные игры и что вам в них нравится. Что и стоит использовать при разработке своей игры. Помимо игр сейчас популярность набирают программы создания эдитов на андроид. Так что можете обратить внимание на этот сегмент.