Создание игр на смартфоне: на что способны игровые движки в кармане
Предисловие:
Принято считать, что для разработки игр нужен мощный компьютер и знание языков программирования. Однако, это не всегда так. Иногда можно просто лежать на диване, или ехать в автобусе и попутно пилить свою игру... На телефоне. В этой статье - мой опыт создания игр на Android, обзор мобильных движков и ответ на главный вопрос: можно ли нормально создать и выпустить игру в плеймаркет, используя только смартфон?
#1 Вступление: Почему мобильный геймдев - это серьезно
Когда нет компьютера или не хочется погружаться в синтаксис языков программирования (на это могут быть весомые причины), желание создавать игры кажется несбыточным. Но современные мобильные движки говорят, что это не так!
Я не профессиональный программист, а скорее дизайнер и монтажер. Разработка игр для меня лишь хобби, способ творчески расслабиться. И именно мобильные инструменты сделали это хобби доступным, позволив собирать проекты в любом месте по кусочкам.
Эта статья - не рекламная, Я лишь хочу рассказать про свой личный опыт, а также о мобайл движках, которые опробовал. Объясню, почему один из них стал для меня основным.
#2 Что такое мобильный геймдев сегодня
Если на этом моменте вы подумали про Scratch JR, или другие детские конструкторы - поздравляю, вы сильно недооцениваете нишу)
Речь идет о полноценных средах разработки, адаптированных для смартфона. Их главное отличие от пк движков в способе взаимодействия. Часто это визуальное, блочное программирование, которое, однако, может быть не менее сложным и логичным, чем написание кода.
Есть как простые движки для новичков, так и мощные системы с широким функционалом и хорошей оптимизацией.
#3 Обзор рынка: от "Игровых площадок" до портированного Godot
Я протестировал несколько популярных платформ. Вот что они из себя представляют:
· Max2D, Julian's Editor, Castle - это скорее игровые площадки с функцией редактора, аналог «Роблокса». Вам предлагают шаблоны или сильно ограниченный функционал. Подходят для быстрого прототипа, но не для полноценной разработки. Можно быстро поделиться игрой с сообществом и также быстро собрать "классы".
· Godot Engine 4 - это полноценный порт десктопного движка. В этом и есть его главный минус, интерфейс не адаптирован для маленького экрана. Работать с ним на смартфоне без внешней мыши и клавиатуры - так себе занятие.
· GDevelop - мощный конструктор, но у него нет официального приложения для Android, что является большим минусом, ведь веб версия это не всегда удобно.
· Pocket Code - ветеран индустрии, 2D-конструктор с блочным программированием. У него большое комьюнити, но плохая оптимизация и поддержка со стороны разработчиков практически прекратилась: обновления - редкость, сервера отключаются, сборка APK больше не доступна.
· CCode - новый игрок, похож на Pocket Code по сути, но по исполнению — координально отличается.
#4 CCode: почему я остановился на этом движке
Pocket Code был неплохим, Я сам пользовался им долгое время, но после знакомства с CCode я понял, что есть куда расти. Среди всех он оказался наиболее сбалансированным и функциональным. По сравнению с Покет Кодом, Я заметил, что:
· Возможностей в разы больше: здесь около 400 блоков, есть расширения по типу API метода, шейдеры, webview и тд... (В Pocket Code, между прочим, есть расширения для управления швейными машинками :D)
· Блочное программирование похоже на реальное: логика тесно переплетается с настоящим программированием. Циклы, таблицы, функции, в принципе, все как в обычной разработке.
· Оптимизация: на уровне. Движок основан на фреймворке Lua (Solar2D) и выдерживает множество вычислений на экране одновременно. Как минимум, при перемещении большого кол-во объектов, они не дергаются. Но тут чаще говорят, что оптимизация зависит от исполнения, и даже в мобайл геймдеве есть "говно-код")
· Имеется поддержка: разработчик, Леонид Ганин, часто выпускает обновления и взаимодействует с комьюнити. (Привет, если читаешь)
Звучит очень хорошо, возможно даже рекламно, но давайте разберемся поглубже.
Причины моего выбора
Удобство интерфейса: Все продумано для пальцев. Крупные кнопки, но не слишком, логичное меню, разделенное на спрайты, звуки, скрипты, настройки и тд. Не хватает разве что редактора карт (он есть, но не совсем удобный), хитбоксов, частиц.
Масштабируемость: Ключевое преимущество - CCode позволяет собрать готовый APK или AAB-файл и выложить игру в Play Market. Проекты не уходят в пустоту.🙏 Я так и поступил со своей игрой про летающего человечка — она до сих пор висит в гугл плее, если кому интересно: Swinging Hook (игра была на геймджем, над оптимизацией не старался, в качестве теста опубликована с аккаунта разработчика CCode)
Помимо этого, тут есть просвет в реальное программирование. Сам сикод построен, чтобы избегать нелогичных для реального программирования сценариев. Скорее всего вам придется работать с таблицами, функциями, API методом для расширения возможностей (код API solar2d). Именно благодаря нему многие люди из комьюнити пробились в реальное программирование и начали писать свои программы на соляре.
Возможности: конечно, их меньше чем на ПК, но лично я особо не заметил потолка, поэтому решил реализовать на нем псевдо-3D рейкастинг с текстурами (техника, как в старых DOOM или Wolfenstein). Для меня это было довольно трудно, приходилось много думать как адаптировать механики под движок, но в итоге получился классный проект, который показал, что на мобилках можно создавать проекты сложнее кликера и даже платформера!
#5 Выводы:
Итак, ответ на главный вопрос: да, создавать полноценные игры без компьютера - реально. С кайфом. 😎 Их даже можно выкладывать в Google Play, RuStore и другие android магазины. Конечно, это не замена реального программирования, но многих, как и меня, может привлечь:
· Низкий порог входа
· Удобство и доступность
· Практическая польза
Для меня это идеальное хобби. Мне не хочется изучать Unity или Unreal Engine - эти силы я трачу на развитие в дизайне и монтаже, или вот, статью пишу. Поэтому мобильный геймдев отлично дополняет мой досуг)
Если вы давно хотели попробовать себя в геймдеве, возможно, это ОНО.
Это была моя первая большая статья. Было желание рассказать о существовании такой маленькой, но интересной ниши как геймдев на мобилках. Не хотел никого задеть, всем добра, пока!
P. S. Вся статья - личное мнение и опыт автора