Настройка или перенос игровых движков

Инструменты, звезды, планета Если вы используете C или C++ для разработки или настройки игрового движка, то для интеграции поддержки Android в него необходимо соблюдать следующие требования.

  • Используйте инструменты разработки для Android
  • Как создать действие
  • Рисование на экране
  • Обработка входных событий
  • Вывод аудио
  • Управление памятью
  • Тестирование и доработка
  • Как опубликовать приложение в Google Play

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

Используйте инструменты разработки для Android

Android Studio включает инструменты, которые позволяют:

  • Настройте свой проект
  • Как создать, отладить и упаковать игру
  • Проверьте производительность игры с помощью профилировщиков системы, ЦП и памяти
  • Проверьте содержимое пакета игры или набора приложений
  • Как интегрировать дополнительные функции Android SDK и NDK

Android Graphics Inspector позволяет оценить производительность рендеринга в игре и изучить детали отрисованных кадров с помощью профилирования.

Если вы в основном используете Microsoft Visual Studio, вы можете добавить целевую платформу Android в существующие проекты с помощью расширения для разработки игр для Android (AGDE). AGDE поддерживает встроенную отладку в Visual Studio и включает автономные версии многих инструментов профилирования Android Studio.

Как создать действие

В игре нужно создать объект Activity и взаимодействовать с ним. Чтобы понять, когда объект Activity создается, запускается, возобновляется, приостанавливается, останавливается и уничтожается, изучите раздел Жизненный цикл объекта Activity в документации Android.

Ознакомьтесь с информацией о библиотеке GameActivity, которая интегрируется с игровыми движками на C или C++ и удовлетворяет потребности, связанные с Activity (окно игры, жизненный цикл, отрисовка, обработка событий).

Рисование на экране

В игре должны быть объекты и спрайты на экране. Узнайте больше об Android SurfaceView и о том, как настроить графику в игровом движке.

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

Узнайте, как достичь равномерной смены кадров для плавного рендеринга в OpenGL и Vulkan. Оптимизируйте частоту кадров с помощью Performance Tuner.

Используйте многократное сглаживание (MSAA), чтобы улучшить качество рендеринга. MSAA можно использовать с минимальными затратами ресурсов. Подробнее об этом можно прочитать в записи блога Multisampled Anti-aliasing For Almost Free — On Tile-Based Rendering Hardware (Многократная выборка для сглаживания почти бесплатно – на оборудовании с отрисовкой на основе фрагментов).

Обработка входных событий

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

Вывод аудио

Игровой движок должен воспроизводить звук на разных устройствах и версиях Android. Узнайте больше об Oboe, нашей аудиобиблиотеке C++ с открытым исходным кодом, которая позволяет добавлять в игру высокопроизводительный звук.

Используйте Oboe, чтобы добиться минимальной задержки, избежать определенных ошибок в работе аудио и автоматически выбрать лучшую доступную нативную библиотеку (например, AAudio или OpenSL ES).

Управление памятью

На устройствах Android система старается использовать как можно больше системной памяти (ОЗУ) и выполняет различные оптимизации памяти, чтобы освободить место при необходимости. Узнайте, как управлять использованием памяти, чтобы игра не зависала и не закрывалась.

Тестирование и доработка

Сбой приложения Android происходит при неожиданном завершении работы из-за необработанного исключения или сигнала. Узнайте, как обнаруживать и диагностировать сбои, читать трассировки стека, исключения памяти и сети, использовать logcat и понимать ошибки, характерные для Java и Kotlin.

Как опубликовать приложение в Google Play

Игроки скачивают ваши игры на разные устройства Android в разных странах, при разных условиях подключения к сети и с разными тарифными планами. Узнайте, как использовать Google Play, чтобы доставлять пакеты приложений и пакеты объектов для больших игр с помощью сети доставки контента.