Overview.png

概览

全球游戏挑战赛是一个为期 8 周的挑战赛,由 Flutter 和 Global Citizen 赞助,旨在设计、构建和发布使用 Flutter 开发的可持续游戏。加入我们,了解可持续游戏如何赋予玩家力量,让他们为环境做出微小的行动,这些行动在集体完成时会产生巨大的影响,并体验构建 Flutter 游戏的乐趣!

开始
SuperDash.png

获取灵感

Flutter 休闲游戏工具包

Flutter 休闲游戏工具包是一个包含模板和开发者资源的集合,旨在提高 Flutter 游戏开发的效率。探索游戏工具包,为你的全球游戏挑战赛游戏寻找灵感!

立即探索
Prizes.png

奖品

争夺奖品,例如免费前往纽约与 Flutter 团队共度时光,以及在下一届 Global Citizen Festival 上获得 VIP 待遇。在比赛页面查看奖品和类别。

探索奖品
Wallet.png

额外加分

谷歌钱包

如果你想获得额外加分,我们已与谷歌钱包合作,在游戏中提供一项额外的挑战,即部署 Google Wallet API 的创新集成。

了解更多

时间表

全球游戏
挑战赛
时间线

Global Gamers Schedule

2024 年 1 月 9 日:提交作品开放

确保尽早开始组建你的团队并提交参赛作品!

2024 年 3 月 5 日:提交作品截止

在 DevPost 上提交你的项目。截止时间为太平洋标准时间下午 2:59(UTC -8)。

2024 年 3 月底:公布前 20 名

敬请关注,看看你的项目是否入选前 20 名!

2024 年 5 月:公布获奖者

前 20 名决赛选手将角逐 10 个最终获奖名额,将于 2024 年 5 月公布。

资源

查看下面列出的资源,帮助你启动全球游戏挑战赛的提交作品!

可持续发展资源

我们与 Global Citizen 合作发起这项挑战,因为我们相信,当技术人员和活动家走到一起时,就会产生最佳的解决方案。最成功的提交作品将展现出对环境游戏所代表的议题和机遇的深刻理解。查看我们合作伙伴提供的这些资源,快速了解相关信息。

Flutter 入门

学习新技能可能很困难。查看以下资源,了解我们的一些入门建议。

  • IDE → 如果你不熟悉 Flutter,首先需要设置你的开发环境。编写 Flutter 代码的经典方法是 下载 Flutter SDK 并在 IDE 中(例如,使用 VS CodeFlutter 扩展)本地构建,以便体验 Flutter 的全部功能,例如 热重载。如果你没有 IDE 或想跳过 SDK 安装过程以快速入门,我们还提供了一些其他选项
    • Project IDX → 一个将你的整个全栈、跨平台应用程序开发工作流带到 Web 浏览器的实验性项目。注意:IDX 目前处于候补名单中,但他们已为全球游戏挑战赛参与者开放了注册名单,因此请确保使用注册时使用的相同电子邮件访问 IDX 以试用它!在 DevPost 上注册黑客马拉松后,可能需要 1-2 天才能访问 IDX。
        说明
      • 1) IDX 目前处于候补名单中,但他们已为全球游戏挑战赛参与者开放了注册名单,因此请确保使用注册时使用的相同电子邮件访问 IDX 以试用它!在 DevPost 上注册黑客马拉松后,可能需要 1-2 天才能访问 IDX。
      • 2) 欧洲联盟的开发者目前无法访问 IDX。这是他们最重视解决的问题之一,他们正在与 Google 的法律和隐私团队的合作伙伴密切合作,以便尽快为你提供访问权限。
    • FlutterFlow → 一个低代码构建器,可让你设计和构建 Flutter 应用程序。
  • CodeLabs
    • 学习如何构建你的第一个 Flutter 应用程序 → 如果你不熟悉 Flutter,但具有一定的开发背景,这是一个开始你的 Flutter 开发之旅的好方法。
    • 构建你的第一个 Flutter 游戏 → 尝试这个 Codelab,你将使用 Flame 游戏引擎构建你的第一个 Flutter 游戏!在这个 Codelab 中,你将构建一款受 70 年代经典视频游戏之一 Steve Wozniak 的 Breakout 启发的游戏。你将使用 Flame 的组件来绘制球拍、球和砖块。你将利用 Flame 的效果来为球拍的移动制作动画,并了解如何将 Flame 与 Flutter 的状态管理系统集成。
  • 社区聊天 → 加入作为全球游戏挑战赛一部分进行构建的人们的社区,获取帮助和想法!查找名为 #global-gamers-challenge 的频道!
  • 项目计划技巧 → 大型项目可能难以跟上进度。查看 DevPost 提供的这些技巧,将你的项目分解成更小的部分,确保你按时完成!

Flutter 休闲游戏工具包

Flutter 休闲游戏工具包是一个包含模板和推荐开发者资源的集合,旨在提高 Flutter 游戏开发的效率。随意增强其中一个模板,以加快游戏开发时间线,或者仅仅从模板和资源中获取灵感。

  • 文档 → 如果你正在寻找更具体的信息,请直接前往文档。
  • Flutter 游戏美术启动工具包 → 除了 Flutter 休闲游戏工具包中包含的游戏美术资源外,我们还很高兴与大家分享多年来我们为 Flutter 游戏和演示创建的资产,这些资产专门为本次挑战赛而准备。
    • 注意:资产只能用于提交作品,不能用于其他用途

Flutter 和 Global Citizen

了解更多关于 Flutter 如何为 Global Citizen 提供支持的信息!

下载应用程序

比赛更新

全球游戏挑战赛公告视频

了解关于全球游戏挑战赛的所有你需要知道的信息

全球游戏挑战赛评委公告

认识全球游戏挑战赛的评委!

#GlobalGamersChallenge 前 20 名决赛选手

第一轮评审已经结束……现在是时候揭晓进入 #GlobalGamersChallenge 决赛的 20 款游戏了!

宣布 #GlobalGamersChallenge 获奖者

我们要求你构建史诗级的 Flutter 游戏,帮助保卫地球。超过 3500 位来自 50 个国家的玩家做到了!观看视频,看看获奖者!

Flutter 游戏

推出 Flutter 休闲游戏工具包

了解为什么 Flutter 是游戏开发者的绝佳选择,并了解 Flutter 休闲游戏工具包,这是一个包含工具、模板和资源的集合,旨在使 Flutter 中的游戏开发更快更容易,免费且开源,以便开发者可以轻松修改和调整它以满足他们的需求。

Flutter 游戏快速入门

Flutter 正在成为一种流行的游戏开发工具。此视频是 Google 为简化 Flutter 开发人员开始构建游戏的努力的一部分。

可观察的 Flutter:缓慢编码乒乓球

观看 Craig Labenz 与 Flame 的创建者 Lukas Klingsbo (@spydon) 一起完善上周匆忙完成的乒乓球实现,并讨论 Flame 的最佳实践。

Flame(本周软件包)

Flame 是一个构建在 Flutter 之上的游戏引擎。它提供了构建游戏时经常需要的构建块,例如游戏循环、对象组件系统、碰撞检测等等!

使用 Flutter 和 Flame 构建涂鸦冲刺 | 学习飞行

在“学习飞行”的第二季中,我们正在构建一款名为“涂鸦冲刺”的游戏,灵感来自“涂鸦跳跃”。扮演 Dash,帮助她通过跳跃平台尽可能地到达高处。这是一款垂直无限跑酷游戏!

涂鸦冲刺和 Flame:碰撞检测、菜单等等!| 学习飞行

在“学习飞行”的第二季中,我们正在构建一款名为“涂鸦冲刺”的游戏,灵感来自“涂鸦跳跃”。扮演 Dash,帮助她通过跳跃平台尽可能地到达高处。这是一款垂直无限跑酷游戏!

在 Doodle Dash 中添加敌人、道具和自定义配置 | 学习飞行

我们的 Flame 游戏开始成形了。为了完善它,我们添加了全新的自定义 Doodle Dash 素材和更多选项!你可以选择控制 Dash 或者 Sparky 来玩 Doodle Dash。游戏中包含全新的平台、敌人和道具。

使用 Flame 构建 Dash 游戏 | 学习飞行

在本期《学习飞行》中,Khanh 使用 Flutter 重制了一款经典游戏……Flappy Dash!帮助 Dash 安全地穿越天空,躲避不断坠落的行李。我们还首次邀请了一位特别嘉宾来到 Flutter YouTube 频道!

Flutter、Dart 和树莓派

了解树莓派上的 Flutter 如何让创客能够构建令人兴奋的新型嵌入式用户界面。树莓派最初是为了教授计算机科学而推出的,但自推出以来一直是每个创客工具箱中的必备工具。它已被用作各种创客项目的基石,例如物联网设备、游戏模拟器和信息亭。所以,这就是“Flutter 和树莓派游戏机长什么样?”的答案。

探索

挑战指南

这是一条引导你构建超棒 Flutter 游戏的路径!你可以把它想象成一个典型的游戏地图。探索以下每个任务,并且可以随意跳过你已经熟悉或对你成功没有帮助的任务。

Challenge Guide
flutter-content-card-background

编写你的第一行 Flutter 代码!

1
flutter-content-card-background

在 DevPost 上注册!

2
flutter-content-card-background

成为全球公民!

3
flutter-content-card-background

找到你的团队!

4
flutter-content-card-background

设置你的开发环境!

5
flutter-content-card-background

构建你的第一个 Flutter 应用!

6
flutter-content-card-background

构建你的第一个 Flutter 游戏!

7
flutter-content-card-background

开始使用 Flutter 休闲游戏工具包!

8
flutter-content-card-background

探索 Google Pay API!

9
flutter-content-card-background

提交你的项目!

10

Google Pay API 挑战赛

Google Pay 将所有内容安全地保存在一个地方,因此无论你身在何处,都可以访问支付卡、会员卡、演唱会门票等必需品。并且,得益于通用通行证功能,Google Pay 对可以添加到钱包中的通行证类型没有限制。

我们希望挑战你,思考如何以创新的方式将资产数字化并添加到用户的 Google Pay 中,同时赋予他们团结起来为环境采取行动的能力。

作为通用通行证可能性的一个示例,在 Google I/O '23 上,我们与 Flutter 团队合作,使用通用通行证为 I/O FLIP 游戏创建了一套收藏卡。如果你查看U-go-I/O 演示并正确回答问题,你就可以将 Dash、Dino、Sparky 和I/O FLIP 游戏中的其他角色作为收藏卡添加到你的 Google Pay 中。为了让你对这个挑战更加兴奋,你可以点击下面的按钮添加其中一张收藏卡

挑战

使用 Google Pay API 在你的 Global Gamers Challenge 游戏中签发和共享通行证!

奖品

Google Pay 将在两个不同的类别中颁发奖项:最佳 Google Pay API 集成和最佳 Google Pay API 与日语本地化集成。在每个类别中,将根据最佳集成、亚军和第三名分别颁发奖项。

最佳集成将获得 7,500 美元的奖金,亚军将获得 5,000 美元,第三名将获得 2,500 美元。所有获奖者还将有机会与 Google Pay 团队成员进行虚拟咖啡交流,并在 Google 酌情决定下推广他们的项目。

评判标准

  1. 你的提交必须成功集成 Google Pay API,这意味着你的用户需要能够将你的通行证添加到他们的 Google Pay 中。你的通行证可以是抽奖券、收藏卡、收藏奖品或任何其他你能够创建的资产!
  2. 我们将考虑集成的社交分享功能:如果你的应用程序以促进用户之间交互的方式使用 Google Pay API。一些示例可能包括在你的用户之间收集和分享通行证(例如收藏品),或与现实世界中的某些内容(例如二维码)进行交互,以便能够在你的 Google Pay 中收集特殊通行证。
  3. 我们将考虑你使用 Google Pay API 的创新程度。我们提到了收藏品,例如收藏卡,但你可以发挥你的想象力,创建任何东西的数字版本,并让你的用户能够将其保存到他们的 Google Pay 中。

资源

Google Pay API 开发者文档:developers.google.com/wallet

Google Pay API 示例代码库:github.com/google-wallet/rest-samples

Google Pay API 开发者通讯订阅:g.co/wallet/newsletter

注意:Google Pay在这些国家/地区可用

奖品

我们致力于不仅奖励出色的编码能力,还奖励其他方面。探索以下奖项列表,了解你可能符合哪些资格——每个人都有机会!

Global Gamers Prizes

决赛奖项

评委将选出最多 10 名决赛选手。每个团队最多 3 名成员将获得前往纽约市并入住酒店的机会,以及在 Google 纽约办公室与 Flutter 团队共度一天的机会,还有 2024 年全球公民节的 VIP 门票、数字认可和礼品包。

决赛选手将

  • 解决重大的可持续发展问题
  • 具有现实世界影响的潜力
  • 包含创新且引人入胜的游戏理念
  • 展示高代码质量,包括但不限于遵守无障碍和性能最佳实践
  • 将额外加分
    • 多平台部署
    • 教育元素
    • 社交互动

额外奖项

额外奖项获奖者将获得礼品包和数字认可。

最佳演示

最佳演示视频将以其清晰、简洁和引人入胜的方式呈现游戏理念和游戏玩法,从而吸引观众。它将展示游戏的优势,突出其可持续发展信息、创新功能和引人入胜的游戏机制。在演示结束时,观众会想要拿起设备玩游戏,并让观众清楚地了解游戏的价值和潜在影响。

最佳教育内容

拥有最佳教育内容的游戏将超越纯粹的游戏玩法,提供与游戏体验无缝集成的学习机会。它将利用游戏的强大功能,教育玩家了解可持续发展问题或游戏开发的技术方面,提供准确、引人入胜且适合年龄的信息。教育内容可以是教程、测验、互动游戏元素,甚至是与游戏叙事和信息相一致的分支故事。

荣誉奖

未入选决赛的前 20 个项目将获得荣誉奖。

社区选择奖

社区将在 DevPost.com 上投票选出他们最喜欢的游戏。获得最多票数的 5 款游戏将获得社区选择奖。

Google Pay 奖项

Google Pay 还将提供高达 30,000 美元的现金奖励,用于将 Google Pay API 以创新的方式集成到 Flutter 游戏中。在此处详细了解挑战赛信息

最佳集成 - 第一名(7,500 美元)

最佳集成 - 第二名(5,000 美元)

最佳集成 - 第三名(2,500 美元)


日语最佳集成 - 第一名(7,500 美元)

日语最佳集成 - 第二名(5,000 美元)

日语最佳集成 - 第三名(2,500 美元)

编辑此 Flutter 乒乓球游戏

通过此快速教程和挑战,体验一下在 Flutter 中开发游戏的感受

步骤 1:运行游戏

点击运行并尝试完成游戏,了解其工作原理。

步骤 2:更改背景颜色

游戏当前的背景颜色为红色。以下代码将背景颜色更改为蓝色。将其更改为你选择的颜色。

                    
                      @override
                      Color backgroundColor() => Colors.blue;
                    
                  

步骤 3:使球移动更快

现在这个游戏都是关于让球快速移动的。看看是否可以通过进行以下更改来使球移动得更快一点

                    
                      static const double startingBallSpeed = 2.5;
                    
                  

步骤 4:更改元素大小!

根据最后两个步骤,你能否弄清楚如何更改球的大小和/或球拍的宽度?(提示:图片显示了你可以查看的位置!)

挑战 #1 纵横比和响应式

该游戏目前仅在特定纵横比下保持平衡。你能否确定一个不同的纵横比,并将游戏嵌入该纵横比在实际可用空间内可以占据的最大空间中?

挑战 #2 角度和物理

在真正的乒乓球游戏中,球会以不同的角度从球拍上弹开,具体取决于它击中球拍的位置。在这个乒乓球游戏中,它不会(它总是以 45° 角弹开)。

你能否实现一个更接近原始乒乓球实际算法的反弹算法?

提示:在乒乓球游戏中,球的弹跳不遵循正常的物理定律。相反,如果球击中球拍的正中心,它将笔直弹开,无论其入射角度如何。否则,球与球拍碰撞的位置越高,其向上弹跳的角度就越陡。同样,球与球拍碰撞的位置越低,其向下弹跳的角度就越陡)

所有获奖者

获奖者

Waste Wise

废物明智

获奖者

PlasticPunk

塑料朋克

获奖者

Gomiland

Gomiland

获奖者

Craftown

Craftown

获奖者和 Google Pay - 最佳集成 - 第一名

Better World

更美好的世界

获奖者和 Google Pay - 日语最佳集成 - 第二名

Last Bottle

最后一瓶

社区选择奖和 Google Pay - 最佳集成 - 第二名

Recyclo

Recyclo

Google Pay - 最佳集成 - 第三名

Urban Eco Adventures

城市生态探险

Google Pay - 日语最佳集成 - 第一名

Turtle escape

海龟逃生

Google Pay - 日语最佳集成 - 第三名

Ocean Cleanup

海洋清理

社区选择奖

One Click, One World

一键一世界

社区选择奖

Ofeka Earth

Ofeka 地球

社区选择奖

Green Capitalist

绿色资本家

社区选择奖

ECO-G

ECO-G

演示视频和教育内容

Eco Toss

生态投掷