Оптимизация управления, памяти и размера сборки для Greak: Порт Android Воспоминаний об Azur

ADAM AXLER / UNITYSenior Content Marketing Manager
Jul 29, 2025
Greak: Воспоминания об Азуре | Навеганте
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

В августе 2021 года Navegante выпустил Greak: Воспоминания об Азуре онлайн и в магазинах для платформ следующего поколения и ПК одновременно. За последние четыре года команда поддерживала близкие отношения с сообществом, делясь новостями о наградах и возможностями лицензирования, которые помогли им расширить интеллектуальную собственность за пределы игры.

За последний год они нашли отличную программу от Google, где студиям из Латинской Америки предлагается поддержка для переноса их игр в Google Play Pass.

Мы поговорили с Родриго Фернандесом, соправляющим директором и ведущим программистом Navegante, а также с ведущим продюсером студии Анаит Фернандес и старшим программистом Нестором Гомесом. Троица обсудила, как команда преодолела трудности, с которыми они столкнулись при портировании игры на Android.

Поздравляем с запуском Greak: Воспоминания об Азуре на Google Play Pass. Почему команда решила перенести игру на мобильные устройства после четырех лет?

Родриго Фернандес: С учетом того, насколько экосистема мобильных игр развилась за последние несколько лет, нам было очень любопытно, особенно после того, как мы увидели множество отличных инди-мобильных игр, достигнувших новой аудитории. Поэтому мы начали искать возможности и нашли отличную программу от Google.

Какова была самая большая проблема при переносе игры на мобильные устройства?

Родриго: Самой большой проблемой было переработка управления сенсорным экраном и ограничение по размеру экрана. У нас были незначительные проблемы с шейдерами, которые нам пришлось исправить. Мы также более внимательно изучили оптимизацию и добавление опций производительности в игру.

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

Анахит Фернандез: С коммерческой стороны мне было сложно, что мобильные магазины отличаются от магазинов для ПК и консолей. От создания активов магазина и написания описаний до определения цен и других деталей — это был огромный опыт обучения.

Greak: Воспоминания об Азуре | Навеганте
Greak: Воспоминания об Азуре | Навеганте

Каков был подход к переработке управления сенсорным экраном?

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

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

Greak: Воспоминания об Азуре | Навеганте
Greak: Воспоминания об Азуре | Навеганте

Как команда обеспечила плавную работу боевых действий на мобильных устройствах?

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

Нестор: Мы потратили много времени на оптимизацию ЦП, ГП, памяти и размера сборки. Используя Unity Profiler вместе с другими доступными инструментами, мы провели несколько раундов оптимизации и протестировали игру на различных устройствах, чтобы измерить наш прогресс. Постоянное измерение FPS, использования памяти и размера сборки на различных устройствах позволило нам отслеживать текущее состояние и сколько дополнительной оптимизации было необходимо.

Greak: Воспоминания об Азуре | Навеганте
Greak: Воспоминания об Азуре | Навеганте

Как вам удалось сохранить качество игры, уменьшая ее размер?

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

Нестор: Поскольку игра была создана для больших экранов, мы знали, что у нас есть дополнительное разрешение в большинстве текстур. Мы просмотрели сотни текстур и проверили, можем ли мы уменьшить их размер. Мы также выбрали правильный формат текстуры для каждой, чтобы сэкономить память и размер сборки. Таким образом, нам удалось уменьшить размер сборки почти на 50%.

Greak: Воспоминания об Азуре | Навеганте
Greak: Воспоминания об Азуре | Навеганте

Какие шаги вы предприняли, чтобы оптимизировать игру для широкого спектра устройств?

Нестор: Первым шагом было измерение всего. Мы использовали Unity Profiler, Frame Debugger, Memory Profiler, а также некоторые внешние инструменты, включая Android Studio и Asset Studio. Некоторые из наших техник включали пул объектов, использование формата текстуры ETC2, включение многопоточной отрисовки, сокращение ненужных вызовов отрисовки, масштабирование рендеринга игровой камеры и очистку папки ресурсов.

Какие инструменты и функции Unity были наиболее полезными?

Нестор: Мы использовали много инструментов и функций во время этого порта. Unity Remote помог нам симулировать сенсорный ввод, не развертывая новую сборку на устройстве, а опция Patch and Run позволила значительно сократить время сборки.

Unity Profiler помог нам выявить области, где можно было бы улучшить производительность. Нам нравится вид таймлайна и то, как он предоставляет отличный обзор того, что происходит в каждом кадре. С помощью Memory Profiler мы выявили ненужные ресурсы, которые загружались, что сэкономило нам драгоценную память. Для быстрого считывания использования памяти мы использовали пакет Android Logcat, который также отлично подходит для проверки сообщений на устройстве.

Frame Debugger был отличным способом выявить, что нарушает пакетирование. Важно запускать его как на устройстве, так и в редакторе. Возможность отладки на устройстве непосредственно из Visual Studio также была полезна для проблем, которые не могли быть воспроизведены в редакторе.

Мы не использовали систему задач C# так широко, как нам хотелось бы. Тем не менее, мы преобразовали нашу систему параллакса, чтобы использовать IJobsParallelForTransform для выполнения кода над сотнями спрайтов параллельно, чтобы сэкономить несколько миллисекунд ЦП. Мы планируем использовать ее более широко в будущих проектах, чтобы воспользоваться улучшениями производительности, которые она может предоставить.

Greak: Воспоминания об Азуре | Навеганте
Greak: Воспоминания об Азуре | Навеганте

Какой ваш главный совет для разработчиков, которые хотят портировать игры с ПК и консолей на мобильные устройства?

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

Анahit: Сосредоточьтесь сначала на ваших основных платформах для запуска, а затем расширяйтесь на другие платформы, когда у вашей команды будет возможность. В нашем случае сообщество было невероятно поддерживающим. Хотя прошло несколько лет с тех пор, как Greak: Воспоминания об Azur впервые вышли, волнение вокруг этого релиза для Android сделало этот процесс стоящим.

Теперь, когда Greak: Воспоминания об Azur запущены на Android, что дальше?

Анahit: Мы работаем над второй игрой нашей студии, которую планируем анонсировать позже в этом году!

Чтобы узнать больше о проектах, сделанных с помощью Unity, посетите страницу ресурсов.