Игры на Dart и Flutter: что есть помимо Flame?
Представим мобильную игру об экспедиции на заброшенную станцию. Игрок восстанавливает питание, перемещает отряд между комнатами и возвращается к базе с найденными ресурсами.
В первом прототипе персонаж подходит к двери, находит ключ и открывает её. Flutter показывает сцену, сохраняет прогресс и управляет интерфейсом. Кажется, осталось только выбрать библиотеку для игры — и можно добавлять остальные комнаты.
Потом комнат становится пятьдесят. Дверь зависит от питания, противник не должен через неё проходить, а член отряда обязан найти новый маршрут, если проход закрылся. Художник меняет анимацию, дизайнер переносит проход, игрок обновляет приложение и ожидает, что его сохранение не сломается.
Вот здесь и начинается выбор инструментов.
Flame даёт Flutter-игре игровой цикл, компоненты и камеру. Bonfire, построенный поверх Flame, предлагает готовые решения для RPG. С редактором карт Tiled дизайнер потенциально может менять уровни без правки Dart-кода. Но команде всё равно необходимо согласовать свойства объектов редактора с игровым кодом и связать состояние двери с поиском пути.
Есть и менее заметный вопрос сохранений. Если дверь определяется координатами, её перенос после обновления уровня может лишить игру связи со старым сохранением. Игрок по-прежнему ожидает увидеть именно ту дверь, которую уже открыл. Значит, её идентичность должна переживать перестановку и замену изображения.
В 3D экосистема Flutter тоже развивается: Flutter Scene и независимый flutter3d заявляют игровые возможности. Экспериментальный flame_3d изучает трёхмерную графику в экосистеме Flame, но сами авторы пока не советуют использовать его в production. При выборе важно проверить не только первую отрисовку модели, но и повторный экспорт анимации, работу редактора и сборку на нужных устройствах.
Инди может сэкономить время за счёт знакомого Flutter, но самостоятельный редактор уровней, импорт ресурсов и проверка сохранений тоже потребуют сил. Студия может построить собственные инструменты, однако затем их придётся поддерживать и объяснять новым участникам.
В полной статье ArkTelos Lab — единый сценарий, по которому можно проверить инструменты до создания всей игры. Это исследование документации, а не бенчмарк или испытание движков.
Полная статья: https://labs.arktelos.dev/ru/articles/dart-flutter-game-engines/ ArkTelos: https://arktelos.dev/ru Журнал: https://labs.arktelos.dev/ru English article: https://labs.arktelos.dev/en/articles/dart-flutter-game-engines/ Lab RU: https://t.me/arktelos_lab_ru Lab EN: https://t.me/arktelos_lab ArkTelos RU: https://t.me/arktelos_ru ArkTelos EN: https://t.me/arktelos