Web开发

首页 » 常识 » 诊断 » 一起看IOFlutter休闲游戏工具包发
TUhjnbcbe - 2024/4/6 15:24:00

作者/ZoeyFan,ProductManagerforFlutter,Google

对于大多数开发者来说,Flutter是一个应用框架。但利用Flutter提供的硬件加速图形支持,围绕休闲游戏开发的社区也在不断壮大。

在过去的一年里,已经有数千款Flutter游戏发布。拿游戏公司Lotum来举例,该公司旗下颇具人气的文字解谜游戏4Pics1Word[1]最近就已经用Flutter完全重新编写。Flame[2]则是一款基于Flutter构建的、由社区驱动的开源游戏引擎,其贡献者和用户也一直在稳步增长。

△Flutter开发者构建的手机游戏

为了了解我们如何才能为大家提供更好的支持,我们采访了几位[3]已经成功构建并发布Flutter移动端游戏的开发者。我们询问他们喜欢用Flutter创建游戏的原因,他们的回答给出了下面几个原因:

Flutter简单易学,可以轻松用于构建用户界面和休闲游戏Flutter允许开发者查看框架源代码(不存在"黑盒"),并能完全控制画布Flutter拥有开放的生态系统,开发者可以找到(并使用)许多有用的package、插件和开发库Flutter是可移植的,只需写一次代码,游戏就默认可以编译为多平台版本

同时,参与我们调研的开发者有提到,创建Flutter游戏的最大挑战是寻找用于入门的资源和学习材料,以及与平台游戏服务进行集成。为了解决这些需求,我们发布了新的入门工具包,以加速您的游戏开发进程。

Flutter休闲游戏工具包[4](CasualGameToolkit)提供了专门的模板(由FilipHracek[5]开发),您可以用它来构建自己的游戏。这个启动项目提供了预先构建完毕的各种您可能用得着的"零部件",包括主菜单、设置页面、声音支持等,最有趣的部分仍然留给您:构建游戏!

△在移动设备上运行的井字棋游戏视频教程

如果想要上手开发游戏,请查看我们准备的关于如何使用游戏模板的视频教程[6]。它为您提供了创建一个井字棋游戏[7](您也可从iOS[8]/Android[9]应用商店下载这个游戏)的逐步教学。如果您想要了解Filip在开发这款游戏时经历的所有细节,欢迎阅读他的原始开发日志[10]。

预集成的服务

除了在游戏中可能需要用到的常见用户界面和功能元素之外,您还会得到游戏开发所需的关键服务的预集成模块和示例代码。例如,游戏模板中就集成了AppleGameCenter和GooglePlayGamesServices,因此您可以轻松地实现排行榜和成就等功能。

如果您打算通过游戏盈利,模板还使用了Google移动广告SDK[11],并告诉您如何实现广告样本。该模板还使用了应用内购买[12]package,可让您在游戏中为玩家提供额外的内容,如高级体验、数字商品和订阅等。

最后,游戏模板还包含FirebaseCrashlytics[13],让您可以获得更多关于游戏中可能发生的崩溃和错误的洞察。该游戏模板的所有源代码都可以在GitHub上的Flutter示例repo[14]中找到。

Flutter游戏Discord频道

Flutter的优势之一,在于它是充满温度、乐于助人的社区。如果您想要与其他Flutter游戏开发者聊天、提问和分享最佳实践,请加入r/FlutterDevDiscord服务器上的游戏开发专属频道[15]!非常感谢我们的社区成员

Miyoyo帮助创建这个社区空间来支持Flutter游戏开发者!(顺便说一下,如果您已经是r/FlutterDev社区的成员,可以通过链接[16]直接加入)

GoogleAds和Cloud赞助额度

如果您的游戏需要Cloud或Firebase服务,或者您想使用Ads向更多用户推广您的游戏,您可以获得由GoogleAds[17]和Cloud[18]团队提供的高达美元的赞助额度(受条款限制)!

由移动端开始,走向更广阔舞台

从过去的研究中我们了解到,现在的Flutter游戏大多是休闲手机游戏,所以我们在设计Flutter休闲游戏工具包时优先考虑了移动场景。

但这并不意味着您的创意应该局限于移动平台。事实上,刚才提到的井字棋游戏[19]除了在web端运行[20]外,也能在桌面端运行!

△在web端和桌面端运行的井字棋游戏

我们最近还在DartPad上增加了对社区驱动的游戏引擎Flame的支持,因此您可以在DartPad上探索用Flame构建游戏[21],而无需下载SDK。另外,由VeryGoodVentures(VGV)编写,并在GoogleI/O大会上推出的web端弹球游戏[22],就是使用Flame引擎在Flutter中构建的!如果您想要了解该弹球游戏是如何创建的,请查看VGV团队关于这个弹球游戏的博客文章[23]或直接阅读其代码[24]。

△Web端的弹球游戏

游戏开发是Flutter涉足的全新且令人兴奋的场景!展望未来,我们希望增加更多的Codelab和其他资源,来帮助您开发游戏。这是我们第一次尝试在这方面为您提供更多便利,我们充分知晓还有许多地方需要改进。我们最近开始与社区成员

wolfenrain的Github主页[25]合作,对游戏相关的问题进行分流。如果您希望FlutterSDK提供更好的产品功能,请在GitHub上提交issue(或对现有issue进行投票)。

Flutter游戏开发

请查看专门的游戏开发页面[26]以了解更多关于上述资源的详细信息,您还可以找到文档链接[27],以及Flutter社区中游戏开发专家推荐的代码库、package和工具的参考信息。

自Flutter1.0发布以来,大家不断用精彩的应用为我们带来惊喜,现在我们迫不及待地想看到您将用Flutter打造出多么令人兴奋的游戏了!

文内链接[1]

4Pics1Word:

1
查看完整版本: 一起看IOFlutter休闲游戏工具包发