作者 / Zoey Fan, Product Manager for Flutter, Google

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

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

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

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

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

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

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

△ 在移动设备上运行的井字棋游戏

视频教程

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

预集成的服务

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

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

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

Flutter 游戏 Discord 频道

Flutter 的优势之一,在于它是充满温度、乐于助人的社区。如果您想要与其他 Flutter 游戏开发者聊天、提问和分享最佳实践,请加入 r/FlutterDev Discord 服务器上的 游戏开发专属频道!非常感谢我们的社区成员 @Miyoyo 帮助创建这个社区空间来支持 Flutter 游戏开发者!(顺便说一下,如果您已经是 r/FlutterDev 社区的成员,可以通过链接 直接加入)

Google Ads 和 Cloud 赞助额度

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

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

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

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

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

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

△ Web 端的弹球游戏

游戏开发是 Flutter 涉足的全新且令人兴奋的场景!展望未来,我们希望增加更多的 Codelab 和其他资源,来帮助您开发游戏。这是我们第一次尝试在这方面为您提供更多便利,我们充分知晓还有许多地方需要改进。我们最近开始与社区成员 @wolfenrain 合作,对游戏相关的问题进行分流。如果您希望 Flutter SDK 提供更好的产品功能,请在 GitHub 上提交 issue (或对现有 issue 进行投票)。

Flutter 游戏开发

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

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

一起看 I/O | Flutter 休闲游戏工具包发布的更多相关文章

  1. 一起看 I/O | Flutter 3 正式发布!

    作者 / Tim Sneath, Google Flutter 和 Dart 产品组产品经理 Flutter 3 实现了 Flutter 以移动端为中心扩展到多平台的产品规划,并在今年 I/O 大会的 ...

  2. 一起看 I/O | Flutter 3 更新详解

    作者 / Kevin Jamaul Chisholm, Technical Program Manager for Dart and Flutter at Google 又到了 Flutter 稳定版 ...

  3. 映众全新游戏内存条发布:单条16GB 最高4000MHz

    近日,显卡与内存厂商映众(INNO3D)推出了一款全新的游戏内存条产品——iCHILL Memory. iCHILL Memory是DDR4内存,单条容量有4GB-16GB可选,内存频率有2400MH ...

  4. XD to Flutter 2.0 现已发布!

    Flutter 是 Google 的开源 UI 工具包.利用它,只需一套代码库,就能开发出适合移动设备.桌面设备.嵌入式设备以及 web 等多个平台的精美应用.过去几年,对于想要打造多平台应用的开发者 ...

  5. Flutter 2.2 现已发布!

    在本次 Google I/O 2021 大会 上,我们正式发布了 Flutter 2.2.Flutter 2.2 是我们最新版的开源工具包,可让开发者立足单个平台构建适合任何设备的精美应用.Flutt ...

  6. Flutter 2022 产品路线图发布

    为了提升产品的透明性,每年年初 Flutter 团队都会发布今年度的产品路线图,以帮助使用 Flutter 的团队和开发者们根据这些优先事项制定计划. 2022 年 Flutter 团队将重点通过关注 ...

  7. 开源HTML5 Canvas游戏Runtime发布

    Cantk-Runtime是通用的HTML5 Canvas 2D游戏引擎运行库,让HTML5游戏的性能飞起来.Cantk-Runtime以PhoneGap插件的方式提供,从此结束PhoneGap低性能 ...

  8. 一看就会之—利用IIS服务发布网站(实践篇)上

    转自:http://blog.csdn.net/zwk626542417/article/details/9796259 概述 IIS全称为互联网信息服务,是由微软公司提供的基于运行Microsoft ...

  9. 参与 2022 第二季度 Flutter 开发者调查

    2022 Google I/O 大会正式落下帷幕,Flutter 作为 14 个开发者产品和平台中的一款,吸引了来自全球的很多开发者们的关注.随着全国很多地方已经进入夏季,Flutter 今年第二季度 ...

随机推荐

  1. Azure DevOps 中 Dapr项目自动部署流程实践

    注:本文中主要讨论 .NET6.0项目在 k8s 中运行的 Dapr 的持续集成流程, 但实际上不是Dapr的项目部署到K8s也是相同流程,只是k8s的yaml配置文件有所不同 流程选择 基于 Dap ...

  2. 腾讯云+社区开发者大会开启报名,WeGeek 邀你一起聊聊小程序

    刚满 2 岁的微信小程序,正给我们带来一种全新轻便的生活方式. 内测时的青涩还历历在目,到现在,小程序生态已日渐成熟.超过 150 万开发者在这里找到了自己的新天地,打磨出超过 100 万个小程序. ...

  3. 让我为你介绍一个神器:Chimee,一套可扩展的 H5 视频播放器解决方案

    Chimee(读"奇米", [tʃɪ'mɪ:])是由奇舞团开源的一套 H5 视频播放器解决方案,由奇舞团视频云前端团队结合在业务和视频编解码方向的沉淀积累倾心打造. Chimee ...

  4. SVG vs Image, SVG vs Iconfont

    这可能是个别人写过很多次的话题,但貌似由于兼容性的原因?图标的显示还是用着 Iconfont 或者 CSS Sprite 的形式?希望通过自己新瓶装旧酒的方式能重新引导一下问题. SVG vs Ima ...

  5. C++中的算法头文件<algorithm>,<numeric>和<functional>

    算法部分主要由头文件<algorithm>,<numeric>和<functional>组成.<algorithm>是所有STL头文件中最大的一个,它是 ...

  6. 关键字static、extern、volatile、详解及举例

    一.预备知识 1. 什么是局部变量?什么是全局变量?          所谓局部变量,就是指在函数内部定义的变量的,只在该函数范围内有效. 全局变量是指,在函数外部定义的变量为外部变量,即全局变量.它 ...

  7. 6.S081-2021-Lab3 Pgtbl学习笔记

    Speed up system calls 根据hints查看kernel/proc.c中的函数proc_pagetable // kernel/proc.c // Create a user pag ...

  8. Warmup小记

    什么是warmup 热身,在刚刚开始训练时以很小的学习率进行训练,使得网络熟悉数据,随着训练的进行学习率慢慢变大,到了一定程度,以设置的初始学习率进行训练,接着过了一些inter后,学习率再慢慢变小: ...

  9. OpenHarmony 3.1 Beta版本关键特性解析——OpenHarmony图形框架

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 李煜 华为技术有限公司 崔坤华为技术有限公司 众所周知,动画是系统和应用与用户交互的重要环节.动画效果的好坏会直接影响 ...

  10. AWS-Basic-S3

    Amazon Simple Storage Service,简称 S3 服务,是 AWS 2006 年推出的第一个服务,用于提供对象存储服务.其在可拓展性,数据可用性,安全性和性能都有着非常不错的体验 ...