GameMaker для Android: от настройки до публикации игры

Если при попытке собрать проект под Android GameMaker выдаёт ошибку вида SDK not found или сборка останавливается на этапе Gradle, причина почти всегда кроется не в самом движке, а в неправильно указанных путях к Android SDK и NDK в настройках. Это самая частая проблема новичков, и она решается за несколько минут, если знать, где искать.

GameMaker (ранее GameMaker Studio) — один из самых доступных инструментов для создания 2D-игр с экспортом на Android. Разработчик пишет код на языке GML, а движок берёт на себя компиляцию под мобильную платформу. Однако корректная сборка требует подготовленного окружения: установленной Android Studio, нужных версий SDK и подписанного keystore. Разберём весь путь от настройки до публикации в Google Play.

Что нужно для сборки под Android

Перед первым экспортом необходимо подготовить рабочее окружение. GameMaker не содержит встроенного Android-инструментария — он использует компоненты, установленные отдельно.

  • 🖥️ GameMaker актуальной версии с подпиской или лицензией, допускающей экспорт на Android (бесплатная версия ограничена в платформах экспорта — уточняйте условия на официальном сайте).
  • 🤖 Android Studio — из неё нужны SDK Platform, SDK Build-Tools и NDK.
  • ☕ Совместимая версия JDK (обычно идёт в комплекте с Android Studio).
  • 📱 Устройство на Android с включённой отладкой по USB или эмулятор для тестирования.
  • 🔑 Файл keystore для подписи приложения.

⚠️ Внимание: версии SDK, NDK и JDK должны быть совместимы с вашей версией GameMaker. Совместимые комбинации периодически меняются — сверяйтесь с официальной документацией GameMaker (раздел «Setting Up For Android»), а не со старыми гайдами: устаревшие версии NDK — частый источник ошибок сборки.

Настройка путей в GameMaker

После установки Android Studio откройте в GameMaker раздел File → Preferences → Platform Settings → Android. Здесь указываются пути к трём компонентам: Android SDK Location, Android NDK Location и Java JDK Location.

Обычно SDK находится в папке пользователя, например C:\Users\Имя\AppData\Local\Android\Sdk, а NDK — в подпапке Sdk\ndk\версия. Точные пути зависят от того, куда вы установили Android Studio. Если кнопка Check SDK отмечает компонент зелёным — путь указан верно.

Если проверка не проходит, не переустанавливайте всё подряд. Сначала убедитесь, что путь не содержит кириллицы и пробелов в нестандартных местах, и что NDK установлен именно той версии, которую ожидает движок.

📊 На каком этапе вы сейчас находитесь?
Только выбираю движок
Настраиваю SDK и NDK
Собираю тестовую сборку
Готовлю релиз в Google Play

Настройка проекта и Game Options

В каждом проекте параметры Android задаются отдельно через Game Options → Android. Здесь важны несколько групп настроек.

  • 📦 Package Name — уникальный идентификатор вида com.company.game. После публикации в Google Play изменить его нельзя.
  • 🔢 Version Code и Version Name — внутренний номер сборки и отображаемая версия. Каждая новая загрузка в консоль требует увеличения Version Code.
  • 🎯 Min SDK / Target SDK — минимальная и целевая версии Android. Google Play предъявляет требования к целевой версии API; актуальный минимум проверяйте в консоли разработчика.
  • 🖼️ Иконки, сплэш-скрин и ориентация экрана (портретная, альбомная или обе).

☑️ Проверка перед первой сборкой

Выполнено: 0 / 5

Подпись приложения: keystore

Android не установит неподписанное приложение, поэтому для релизной сборки нужен файл keystore. Его можно создать прямо из интерфейса GameMaker в разделе настроек подписи либо через Android Studio.

Храните keystore и пароли от него в надёжном месте. Потеря keystore означает, что вы больше не сможете выпускать обновления опубликованного приложения под тем же идентификатором — придётся публиковать игру заново как новый продукт. В Google Play частично смягчает эту проблему функция Play App Signing, но исходный ключ загрузки всё равно стоит беречь.

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

Тестирование и сборка APK/AAB

Для быстрой проверки на устройстве используйте запуск через кнопку Run с подключённым по USB смартфоном — GameMaker соберёт отладочную сборку и установит её автоматически. На устройстве должна быть включена отладка по USB в меню разработчика (его состав и расположение зависят от оболочки производителя).

Для публикации собирается подписанный пакет через Create Executable. Сравним форматы:

ПараметрAPKAAB (App Bundle)
НазначениеПрямая установка на устройствоЗагрузка в Google Play
Установка без магазинаДаНет, только через Play
Оптимизация под устройствоОдин файл для всехPlay формирует сборку под конкретное устройство
Требование Google PlayНе принимается для новых приложенийОбязателен для новых приложений
Почему сборка падает с ошибкой Gradle

Чаще всего причина в несовместимости версий NDK или Build-Tools с вашей версией GameMaker, в кэше Gradle (помогает очистка кэша проекта через опцию Clean в GameMaker) либо в отсутствии принятых лицензий SDK — их можно принять через SDK Manager в Android Studio. Точный текст ошибки в логе сборки указывает на конкретный компонент.

Публикация в Google Play

Загрузка игры происходит через Google Play Console. Потребуется аккаунт разработчика (регистрация платная, разовая — актуальную стоимость проверяйте на официальном сайте, условия могут меняться). Далее заполняется карточка приложения: описание, скриншоты, иконка, возрастной рейтинг и ответы на анкету контентной политики.

Перед открытым релизом разумно прогнать сборку через закрытое или внутреннее тестирование: Google Play позволяет раздать сборку ограниченному кругу тестировщиков по ссылке. Так выявляются проблемы с производительностью на слабых устройствах и с адаптацией интерфейса под разные экраны.

Типичные ошибки и их решения

Разберём проблемы, с которыми чаще всего сталкиваются при экспорте на Android.

  • Устройство не определяется. Проверьте включённую отладку по USB, драйверы устройства на ПК и разрешение на отладку в диалоге на экране смартфона.
  • Ошибка лицензий SDK. Откройте SDK Manager в Android Studio и убедитесь, что компоненты установлены; лицензии принимаются при установке через официальный менеджер.
  • Игра вылетает на старте. Проверьте лог через adb logcat или встроенный вывод отладки GameMaker — часто причина в обращении к ресурсу, отсутствующему в сборке, или в несовместимом расширении.
  • Чёрный экран вместо игры. Возможная причина — проблемы с графическим рендером на конкретном устройстве; проверьте проект на другом аппарате или эмуляторе, чтобы локализовать проблему.

Частые вопросы

Можно ли собрать Android-версию на бесплатной версии GameMaker?

Возможности экспорта зависят от текущей лицензионной политики GameMaker. Бесплатный тариф исторически ограничивал платформы экспорта — проверяйте актуальные условия на официальном сайте перед началом работы.

Чем APK отличается от AAB и что выбрать?

APK — установочный файл для прямой установки, удобен для тестов и распространения вне магазина. AAB — формат публикации в Google Play: магазин сам формирует оптимизированные пакеты под конкретные устройства. Для новых приложений Google Play требует именно AAB.

Нужен ли физический смартфон для разработки?

Строго говоря, нет — можно использовать эмулятор из Android Studio. Но реальное устройство даёт более достоверную картину производительности и работы сенсорного управления.

Что делать, если сборка зависает на этапе Gradle?

Попробуйте очистить кэш проекта через опцию Clean в GameMaker, проверьте доступ к интернету (Gradle загружает зависимости) и совместимость версий NDK и Build-Tools с вашей версией движка по официальной документации.

Можно ли изменить Package Name после публикации?

Нет. Идентификатор пакета фиксируется при первой загрузке в Google Play. Смена package name означает публикацию приложения как нового, с потерей отзывов и статистики.