Для большинства разработчиков Flutter — это фреймворк для приложений. Но есть также растущее сообщество вокруг разработки казуальных игр, использующих поддержку аппаратного ускорения графики, предоставляемую Flutter.
За последний год были опубликованы тысячи игр, написанных на Flutter. Например, Lotum, игровая компания, стоящая за самой популярной игрой-головоломкой 4 Pics 1 Word, полностью переписала игру на Flutter. Flame, управляемый сообществом игровой движок с открытым исходным кодом, созданный на основе Flutter, неуклонно увеличивает количество контрибьюторов и пользователей.
Чтобы понять, как можно улучшить поддержку создателей игр, в Google опросили нескольких разработчиков, которые успешно создали и выпустили мобильные игры на Flutter. Их спросили, что им нравится в создании игр с помощью Flutter, и их ответы выявили несколько тем:
- Flutter прост в освоении и прост в использовании для создания пользовательских интерфейсов и казуальных игр.
- Flutter позволяет заглянуть в исходный код фреймворка (нет «черного ящика») и получить полный контроль над холстом.
- Flutter имеет открытую экосистему, где вы можете найти (и использовать) множество полезных пакетов, плагинов и библиотек.
- Flutter является переносимым — вы пишете свой код один раз, и игра по умолчанию компилируется для множества платформ.
Между тем, участники исследования упомянули, что самой большой проблемой при создании игр на Flutter является поиск ресурсов и учебных материалов для начала работы и интеграции с игровыми сервисами платформы. Чтобы удовлетворить эти потребности, Google выпустил новый начальный набор инструментов, который ускорит разработку игр.
Flutter Casual Games Toolkit предлагает специальный шаблон (разработанный Филипом Грацеком), который вы можете использовать для создания собственной игры. Этот стартовый проект предоставляет готовые «навороты и прибамбасы», такие как главное меню, страница настроек, поддержку звука и т.д., но оставляет вам самое интересное: создание игры!
Видео туториал
Для начала ознакомьтесь с обучающим видео о том, как использовать игровой шаблон. В нем содержится пошаговое руководство по созданию игры «Крестики-нолики» (также доступно для загрузки в магазинах iOS/Android). Чтобы увидеть все мельчайшие детали, с которыми столкнулся Филип при разработке игры, просмотрите его дневник разработчика.
Предварительно интегрированные сервисы
В дополнение к обычному пользовательскому интерфейсу и функциональным элементам, которые могут вам понадобиться для игры, вы получаете предварительно интегрированные модули и примеры кода для критически важных служб, необходимых для разработки игр. Например, шаблон игры объединяет Apple Game Center и игровые сервисы Google Play, поэтому вы можете легко реализовать такие функции, как списки лидеров и достижения.
Если вы планируете монетизировать свою игру, шаблон предлагает Google Mobile Ads SDK и показывает, как реализовать показ рекламы. Шаблон также использует пакет покупок в приложении, позволяющий продавать игрокам дополнительный контент, такой как премиальные возможности, цифровые товары и подписки.
Наконец, шаблон игры включает Firebase Crashlytics, так что вы можете получить больше информации о любых сбоях или ошибках, которые могут возникнуть в вашей игре. Весь исходный код шаблона игры можно найти в этом репозитории Flutter на GitHub.
Канал Discord для игр Flutter
Одной из сильных сторон Flutter является полезное и гостеприимное сообщество. Чтобы общаться с другими разработчиками игр Flutter, задавать вопросы и делиться передовым опытом, рассмотрите возможность присоединиться к выделенному игровому каналу на сервере Discord r/FlutterDev!
Кредиты Google Ads и Cloud
Если вашей игре требуются сервисы Cloud или Firebase или вы хотите продвигать свою игру среди большего числа пользователей с помощью рекламы, вы можете получить кредиты на сумму до 900 долларов, предлагаемые командами Google Ads и Cloud (условия ограничены).
Начните с мобильных устройств, но выходите за их рамки
Из прошлых исследований разработчики Google узнали, что большинство игр Flutter сегодня — это казуальные мобильные игры, поэтому при разработке набора инструментов для казуальных игр Flutter они отдавали приоритет мобильным сценариям.
Но это не означает, что ваше творчество должно ограничиваться мобильными платформами. На самом деле, образец игры “крестики-нолики” может работать как в Интернете, так и на компьютере.
Между тем, недавно во Flutter добавили поддержку игрового движка Flame на DartPad, созданного сообществом, так что вы можете изучать создание игр с помощью Flame на DartPad, не загружая SDK. Более того, веб-игра в пинбол, написанная Very Good Ventures (VGV) и запущенная на Google I/O, была создана во Flutter с использованием движка Flame. Чтобы узнать, как была создана игра, ознакомьтесь со статьей о пинболе от команды VGV или просмотрите его код.
Разработка игр — это новый, но захватывающий сценарий для Flutter! В будущем авторы надеются добавить больше кодлабов и других ресурсов, которые помогут вам разрабатывать свои игры. Это первая попытка облегчить задачу, и в Google прекрасно понимают, что может быть много направлений для улучшения. Вы можете сообщить о проблеме (или проголосовать за существующую) на GitHub, если вам нужны функции, которые, как вы надеетесь, Flutter SDK может лучше поддерживать.
На сайте
Вы можете посетить специальную страницу разработки игр, где вы можете узнать больше о вышеупомянутых ресурсах, а также найти ссылки на документацию и ссылки на библиотеки, пакеты и инструменты, рекомендованные экспертами по разработке игр в сообществе Flutter.