
大多数开发者还是觉得 Flutter 就是个做手机应用的框架。但你要是往 Reddit 论坛和那些开发者博客里多挖挖,就会发现不一样的东西。越来越多的独立开发者,现在都开始选 Flutter,而不是 Unity 和 Godot 这些老牌游戏引擎了。

钱这方面的事儿
手机游戏开发这块儿的经济现实,描绘了一幅挺有意思的画面。研究显示,应用赚钱的能力,会根据用户使用习惯的不同而差别巨大。有个开发者分享数据说,他的应用差不多有 5000 次下载,但只有大约 1% 的用户买了去广告版。广告收入大概是每次展示 0.001 美元,不过这个数字会根据点击率和广告刷新频率有波动。
通过 Play 商店广告获取用户的成本,大概是每次安装 0.31 美元。每花一美元在广告上,开发者通常能看到大约 250 次展示,而转化率大概是每 8 个看到广告的用户中,有 1 个会实际安装应用。
虽然这些数字靠一个应用是养不活开发者的,但如果能有多个应用,并且持续更新,就能创造出可持续的收入来源。
Flutter 闪光的地方
从开发者们的讨论中,最让人惊讶的发现是 Flutter 在界面多的游戏方面的优势。经营类游戏、文字冒险 RPG 和放置类游戏,似乎是 Flutter 的拿手好戏。开发者们反映,做这类游戏感觉比用 Unity 那种笨重的引擎更快、更直观。

有一个特别有意思的案例,就是有个开发者,在做一款基于界面的手机游戏时,直接把 Unity 甩了,改用 Flutter。为啥呢?他觉得 Unity 对于简单的 2D 界面来说太笨重了,搞得连最基础的游戏都特别吃设备资源。

卡牌游戏、益智游戏和回合制战斗系统也得到了积极的评价。大家普遍认为,如果你的游戏有 50% 或更多是侧重于界面的(想想《糖果传奇》那种),那 Flutter 可能真是更好的选择。
重要的技术优势
"热重载"在开发者讨论中一直被提及。没有哪个传统游戏引擎能提供接近 Flutter 热重载的功能。这个特性极大地加快了开发周期,让迭代过程变得愉快得多。
跨平台移动开发是另一个主要优点。不像 Unity 或 Godot,Flutter 让你能直接构建到 Android 和 iOS 模拟器上,这样你就不会脱离目标平台进行开发。
2D 游戏的性能报告也一直很积极。开发者提到,他们的 Flutter 游戏即使在旧设备上也能流畅运行,而且前期不需要额外的优化工作。
Flame 因素
Flame,Flutter 的游戏开发框架,评价褒贬不一。一些开发者喜欢它极简的风格------它基本上只提供一个渲染循环和精灵批处理系统,然后就不再干涉你的开发了。这吸引了那些来自 MonoGame 或原生 OpenGL 等更底层框架的开发者。

然而,它的文档被批评说太少了。那些习惯了 Unity 或 Godot 这种提供全套工具的开发者,经常发现自己不得不重新发明那些在传统游戏引擎里都是标配的功能。

实际局限
研究揭示了 Flutter 在某些方面明显的局限性。3D 开发基本上是没戏的,不过也有迹象表明 Flutter 的 Impeller 渲染引擎未来可能会增加 3D 支持。

音频支持一直收到负面反馈。好几个开发者都提到,他们不得不从头重写音频系统,尤其是在 iOS 上。那些标准的音频包,显然不是为实时游戏音频需求设计的。
平台整合也挺有挑战的。实现像 Play 游戏成就这样的功能,可能需要几周的反复试错,因为文档太少,社区支持也不够。
主机和桌面支持依然很弱。虽然 Flutter 支持这些平台,但游戏生态系统和工具还不够成熟,不足以支撑严肃的商业发布。
来自前线的判决
开发者社区的整体看法是微妙的。Flutter 并不是想取代 Unity 或 Unreal Engine 来做 3A 大作。相反,它正在为那些界面多、移动优先的游戏开辟一个利基市场。

开源生态系统一直受到好评。Unity 开发者可能要在资源商店花几百块买包,而 Flutter 开发者能找到免费的高质量包。
无障碍功能开箱即用,这是传统游戏引擎经常搞不定的。一些开发者反映,盲人玩家也能成功玩他们的 Flutter 游戏,这都多亏了内置的无障碍支持。

展望未来
Google 推出 Flutter 游戏工具包,表明官方已经认可了这个趋势。不过,要在游戏开发社区中被广泛采用,可能还需要好几年。

从开发者讨论中得出的最能说明问题的见解是:当你停止将 Flutter 视为一个游戏引擎,而开始将其视为一个强大的 UI 框架,碰巧非常适合某些类型的游戏时,Flutter 的效果最好。

对于从事界面密集型手机游戏的独立开发者来说,Flutter 可能值得认真考虑。而对于其他类型的游戏,传统游戏引擎仍然占据优势。
最后,请关注我的公众号:OpenFlutter,感恩。