Создание игр на смартфоне: на что способны игровые движки в кармане

Предисловие:

Принято считать, что для разработки игр нужен мощный компьютер и знание языков программирования. Однако, это не всегда так. Иногда можно просто лежать на диване, или ехать в автобусе и попутно пилить свою игру... На телефоне. В этой статье - мой опыт создания игр на Android, обзор мобильных движков и ответ на главный вопрос: можно ли нормально создать и выпустить игру в плеймаркет, используя только смартфон?

Создание игр на смартфоне: на что способны игровые движки в кармане

#1 Вступление: Почему мобильный геймдев - это серьезно

Когда нет компьютера или не хочется погружаться в синтаксис языков программирования (на это могут быть весомые причины), желание создавать игры кажется несбыточным. Но современные мобильные движки говорят, что это не так!

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

Эта статья - не рекламная, Я лишь хочу рассказать про свой личный опыт, а также о мобайл движках, которые опробовал. Объясню, почему один из них стал для меня основным.

#2 Что такое мобильный геймдев сегодня

Если на этом моменте вы подумали про Scratch JR, или другие детские конструкторы - поздравляю, вы сильно недооцениваете нишу)

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

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

Менюшки разных движков: Julian's Editor, Pocket Code, CCode
Менюшки разных движков: Julian's Editor, Pocket Code, CCode

#3 Обзор рынка: от "Игровых площадок" до портированного Godot

Я протестировал несколько популярных платформ. Вот что они из себя представляют:

· Max2D, Julian's Editor, Castle - это скорее игровые площадки с функцией редактора, аналог «Роблокса». Вам предлагают шаблоны или сильно ограниченный функционал. Подходят для быстрого прототипа, но не для полноценной разработки. Можно быстро поделиться игрой с сообществом и также быстро собрать "классы".

· Godot Engine 4 - это полноценный порт десктопного движка. В этом и есть его главный минус, интерфейс не адаптирован для маленького экрана. Работать с ним на смартфоне без внешней мыши и клавиатуры - так себе занятие.

· GDevelop - мощный конструктор, но у него нет официального приложения для Android, что является большим минусом, ведь веб версия это не всегда удобно.

· Pocket Code - ветеран индустрии, 2D-конструктор с блочным программированием. У него большое комьюнити, но плохая оптимизация и поддержка со стороны разработчиков практически прекратилась: обновления - редкость, сервера отключаются, сборка APK больше не доступна.

· CCode - новый игрок, похож на Pocket Code по сути, но по исполнению — координально отличается.

Скриншот поиска GooglePlay
Скриншот поиска GooglePlay

#4 CCode: почему я остановился на этом движке

Pocket Code был неплохим, Я сам пользовался им долгое время, но после знакомства с CCode я понял, что есть куда расти. Среди всех он оказался наиболее сбалансированным и функциональным. По сравнению с Покет Кодом, Я заметил, что:

· Возможностей в разы больше: здесь около 400 блоков, есть расширения по типу API метода, шейдеры, webview и тд... (В Pocket Code, между прочим, есть расширения для управления швейными машинками :D)

· Блочное программирование похоже на реальное: логика тесно переплетается с настоящим программированием. Циклы, таблицы, функции, в принципе, все как в обычной разработке.

· Оптимизация: на уровне. Движок основан на фреймворке Lua (Solar2D) и выдерживает множество вычислений на экране одновременно. Как минимум, при перемещении большого кол-во объектов, они не дергаются. Но тут чаще говорят, что оптимизация зависит от исполнения, и даже в мобайл геймдеве есть "говно-код")

· Имеется поддержка: разработчик, Леонид Ганин, часто выпускает обновления и взаимодействует с комьюнити. (Привет, если читаешь)

Вечная битва
Вечная битва

Звучит очень хорошо, возможно даже рекламно, но давайте разберемся поглубже.

Причины моего выбора

Удобство интерфейса: Все продумано для пальцев. Крупные кнопки, но не слишком, логичное меню, разделенное на спрайты, звуки, скрипты, настройки и тд. Не хватает разве что редактора карт (он есть, но не совсем удобный), хитбоксов, частиц.

Менюшки CCode
Менюшки CCode

Масштабируемость: Ключевое преимущество - CCode позволяет собрать готовый APK или AAB-файл и выложить игру в Play Market. Проекты не уходят в пустоту.🙏 Я так и поступил со своей игрой про летающего человечка — она до сих пор висит в гугл плее, если кому интересно: Swinging Hook (игра была на геймджем, над оптимизацией не старался, в качестве теста опубликована с аккаунта разработчика CCode)

Скриншоты моей игры, опубликованной в GooglePlay
Скриншоты моей игры, опубликованной в GooglePlay

Помимо этого, тут есть просвет в реальное программирование. Сам сикод построен, чтобы избегать нелогичных для реального программирования сценариев. Скорее всего вам придется работать с таблицами, функциями, API методом для расширения возможностей (код API solar2d). Именно благодаря нему многие люди из комьюнити пробились в реальное программирование и начали писать свои программы на соляре.

Возможности: конечно, их меньше чем на ПК, но лично я особо не заметил потолка, поэтому решил реализовать на нем псевдо-3D рейкастинг с текстурами (техника, как в старых DOOM или Wolfenstein). Для меня это было довольно трудно, приходилось много думать как адаптировать механики под движок, но в итоге получился классный проект, который показал, что на мобилках можно создавать проекты сложнее кликера и даже платформера!

Демонстрация работы 3D Maze на CCode

#5 Выводы:

Итак, ответ на главный вопрос: да, создавать полноценные игры без компьютера - реально. С кайфом. 😎 Их даже можно выкладывать в Google Play, RuStore и другие android магазины. Конечно, это не замена реального программирования, но многих, как и меня, может привлечь:

· Низкий порог входа

· Удобство и доступность

· Практическая польза

Для меня это идеальное хобби. Мне не хочется изучать Unity или Unreal Engine - эти силы я трачу на развитие в дизайне и монтаже, или вот, статью пишу. Поэтому мобильный геймдев отлично дополняет мой досуг)

Если вы давно хотели попробовать себя в геймдеве, возможно, это ОНО.

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

P. S. Вся статья - личное мнение и опыт автора

Начать дискуссию