Flutter для разработки игр: что показывает исследование Интернета
FlutterPulseЭта статья переведена специально для канала FlutterPulse. В этом канале вы найдёте много интересных вещей, связанных с Flutter. Не забывайте подписываться! 🚀

Когда вы погружаетесь в онлайн-форумы и сообщества разработчиков, вы обнаружите интересный разговор. Flutter, фреймворк UI от Google, тихо делает волны в неожиданном месте: разработке игр.
Когда вы погружаетесь в онлайн-форумы и сообщества разработчиков, вы обнаружите интересный разговор. Flutter, фреймворк UI от Google, тихо делает волны в неожиданном месте: разработке игр.
Большинство разработчиков до сих пор видят Flutter как фреймворк для мобильных приложений. Но если копнуть глубже в темы Reddit и блоги разработчиков, вы обнаружите что-то другое. Растущее число инди-разработчиков выбирает Flutter вместо традиционных игровых движков, таких как Unity и Godot.
Если вы являетесь членом, пожалуйста, продолжайте,в противном случае, прочитайте полную историю здесь.

Финансовая сторона дела
Финансовая реальность разработки мобильных игр рисует интересную картину. Исследования показывают, что монетизация приложений сильно варьируется в зависимости от моделей использования. Один разработчик поделился данными, которые показывают, что с почти 5 000 загрузками только около 1% пользователей приобрели версию без рекламы. Доход от рекламы составляет около 0,001 доллара за показ, хотя это колеблется в зависимости от коэффициентов кликабельности и частоты обновления рекламы.
Стоимость приобретения пользователей через рекламу в Play Store составляет примерно 0,31 доллара за установку. За каждый доллар, потраченный на рекламу, разработчики обычно видят около 250 показов, с коэффициентом конверсии около 1 из 8 пользователей, которые видят рекламу, фактически устанавливают приложение.
Хотя эти цифры не поддержат разработчика на один приложение, несколько приложений с постоянными обновлениями могут создать устойчивый поток дохода.
Где Flutter блестит
Самый удивительный результат из дискуссий разработчиков - это сила Flutter в играх с интерфейсом. Игры-менеджеры, текстовые RPG и игры-айдлы, кажется, являются сладким местом Flutter. Разработчики сообщают, что построение этих типов игр feels быстрее и более直观, чем использование тяжеловесных движков, таких как Unity.

Один интересный кейс-стади включает в себя разработчика, который отказался от Unity в пользу Flutter при создании игры с интерфейсом на мобильном устройстве. Причина? Unity показался слишком тяжелым для простых 2D-интерфейсов, что делало даже базовые игры тяжелыми для ресурсов устройства.

Картовые игры, пазлы и системы пошагового боя также получают положительные упоминания. Консенсус кажется таким, что если ваша игра на 50% или более ориентирована на UI (например, в стиле Candy Crush), Flutter может быть лучше выбором.
Технические преимущества, которые имеют значение
Горячая перезагрузка постоянно упоминается в дискуссиях разработчиков. Никакой традиционный игровой движок не предлагает ничего, даже близкого к функции горячей перезагрузки Flutter. Эта функция значительно ускоряет циклы разработки и делает итерацию намного более приятной.
Кроссплатформенная разработка мобильных приложений - еще один значительный плюс. В отличие от Unity или Godot, Flutter позволяет строить直接 в эмуляторы Android и iOS, поэтому вы не разрабатываете в изоляции от целевой платформы.
Отчеты о производительности постоянно положительны для 2D-игр. Разработчики упоминают, что их игры на Flutter работают плавно даже на старых устройствах без необходимости предварительной оптимизации.
Фактор Flame
Flame, фреймворк для разработки игр в Flutter, получает смешанные отзывы. Некоторые разработчики любят его минималистичный подход - он по сути предоставляет цикл рендеринга и систему пакетной обработки спрайтов, а затем отступает в сторону. Это привлекает разработчиков, пришедших из более низкоуровневых фреймворков, таких как MonoGame или чистый OpenGL.

Однако документация подвергается критике как скудная. Разработчики, привыкшие к всесторонним наборам инструментов Unity или Godot, часто оказываются заново изобретая колеса, которые поставляются в качестве стандартных функций в традиционных игровых движках.

Реальные ограничения
Исследование выявляет четкие границы, где Flutter испытывает трудности. Разработка 3D в значительной степени исключена, хотя есть намеки на то, что движок рендеринга Impeller от Flutter может добавить поддержку 3D в будущем.

Поддержка аудио последовательно получает негативные отзывы. Несколько разработчиков упоминают, что им приходится переписывать аудиосистемы с нуля, особенно для iOS. Стандартные аудиопакеты, по-видимому, не предназначены для потребностей реального времени игрового аудио.
Интеграция с платформой также оказывается сложной. Реализация функций, таких как достижения Play Games, может занять недели проб и ошибок из-за ограниченной документации и поддержки сообщества.
Поддержка консолей и настольных компьютеров остается слабой. Хотя Flutter поддерживает эти платформы, игровая экосистема и инструменты еще не достаточно зрелые для серьезных коммерческих релизов.
Вердикт с передовой
Общий настрой разработчиков является нюансированным. Flutter не пытается заменить Unity или Unreal Engine для разработки AAA. Вместо этого он выделяет нишу для игр, ориентированных на UI и мобильные устройства.

Экосистема с открытым исходным кодом получает последовательную похвалу. Где разработчики Unity могут тратить сотни на пакеты из магазина активов, разработчики Flutter находят качественные пакеты, доступные бесплатно.
Функции доступности работают сразу, с чем традиционные игровые движки часто сталкиваются. Некоторые разработчики сообщают, что слепые игроки успешно играют в свои игры Flutter благодаря встроенной поддержке доступности.

Взгляд в будущее
Введение Google инструментария Flutter Game говорит о официальном признании этой тенденции. Однако широкое внедрение в игровых разработках, скорее всего, займет несколько лет.

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

Для независимых разработчиков, работающих над интерфейсно-тяжелыми мобильными играми, Flutter может быть достоин серьезного рассмотрения. Для всего остального традиционные игровые движки все еще сохраняют преимущество.