概览
全球游戏挑战赛是一个为期 8 周的挑战赛,由 Flutter 和 Global Citizen 赞助,旨在使用 Flutter 设计、构建和发布可持续的游戏。加入我们,学习可持续游戏如何赋予玩家力量,让他们为环境采取微小的行动,这些行动在集体完成时会产生巨大的影响,并体验构建 Flutter 游戏的乐趣!
开始2024 年 1 月 9 日:提交作品开放
务必尽早开始组建团队并提交参赛作品!
2024 年 3 月 5 日:提交作品截止
在 DevPost 上提交您的项目。截止时间为太平洋标准时间下午 2:59(UTC -8)。
2024 年 3 月底:公布前 20 名
请回来查看您的项目是否入选前 20 名!
2024 年 5 月:公布获胜者
前 20 名决赛选手将争夺 10 个最终获胜者席位,将于 2024 年 5 月公布。
资源
查看下面列出的资源,帮助您启动全球游戏挑战提交作品!
可持续发展资源
我们与全球公民合作举办了这项挑战,因为我们相信当技术人员和活动家走到一起时,就会出现最佳解决方案。最成功的提交作品将展示对环境游戏所代表的问题和机遇的深刻理解。查看我们合作伙伴提供的这些资源,以了解最新情况。
- 全球公民之旅 → 这段为期 5 天的互动之旅将向您介绍可持续游戏、Flutter,甚至可能为您提供一些 Google 钱包奖励!
- 来自全球公民“保护地球”活动的更多内容 → 探索全球公民正在开展的更多活动,以激励世界保护我们的星球。
- 绿色游戏设计网站 → 获取由环境游戏专家提供并推荐的资源和总结示例游戏。
- 环境游戏最佳实践手册 → 由 Playing 4 the Planet 推荐,这是世界上最大的游戏工作室在创建绿色游戏活动时使用的同一手册!
- 气候游戏工具包创建者谈话 → 观看育碧 Positive Play 艺术总监 Arnaud Fayolle 在 GDC 2022 上发表关于可持续游戏的演讲。
Flutter 入门
学习新技能可能很困难。请查看以下资源,了解我们的一些入门建议。
- IDE → 如果您是 Flutter 新手,首先需要设置您的开发环境。编写 Flutter 代码的经典方法是 下载 Flutter SDK 并在 IDE(例如 VS Code 以及 Flutter 扩展)中本地构建,这样您就可以体验 Flutter 的全部功能,例如 热重载。如果您没有 IDE 或想要跳过 SDK 安装过程以快速入门,我们还提供了一些其他选项。
- Project IDX → 一项实验性计划,旨在将您的完整全栈、跨平台应用程序开发工作流程带到您的 Web 浏览器。注意:IDX 目前处于等待名单中,但他们已为全球游戏挑战赛参与者开放了注册列表,因此请确保使用您注册时使用的相同电子邮件访问 IDX 以试用!在 DevPost 上注册黑客马拉松后,可能需要 1-2 天才能访问 IDX。
-
备注
- 1) IDX 目前处于等待名单中,但他们已为全球游戏挑战赛参与者开放了注册列表,因此请确保使用您注册时使用的相同电子邮件访问 IDX 以试用!在 DevPost 上注册黑客马拉松后,可能需要 1-2 天才能访问 IDX。
- 2) 欧洲联盟的开发人员目前无法访问 IDX。这是他们最优先解决的问题之一,他们正在与 Google 的法律和隐私团队的合作伙伴密切合作,以便尽快为您提供访问权限。
- FlutterFlow → 一个低代码构建器,让您可以设计和构建 Flutter 应用程序。
- Project IDX → 一项实验性计划,旨在将您的完整全栈、跨平台应用程序开发工作流程带到您的 Web 浏览器。注意:IDX 目前处于等待名单中,但他们已为全球游戏挑战赛参与者开放了注册列表,因此请确保使用您注册时使用的相同电子邮件访问 IDX 以试用!在 DevPost 上注册黑客马拉松后,可能需要 1-2 天才能访问 IDX。
- 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 游戏和演示中的资产。
- 注意:资产只能用于提交,不能用于其他目的
比赛更新
全球游戏玩家挑战赛公告视频
了解有关全球游戏玩家挑战赛的所有信息
全球游戏玩家挑战赛评委公告
认识全球游戏玩家挑战赛的评委!
来自 #GlobalGamersChallenge 的 20 强决赛选手
第一轮评审已经结束……现在是揭晓进入 #GlobalGamersChallenge 决赛的 20 款游戏的时候了!
宣布 #GlobalGamersChallenge 的获胜者
我们要求您构建史诗般的 Flutter 游戏,以帮助对抗保护地球的战斗。超过 3500 名来自 50 个国家的玩家做到了!观看视频,了解获胜者!
Flutter 游戏
介绍 Flutter 休闲游戏工具包
了解为什么 Flutter 是游戏开发者的绝佳选择,并认识 Flutter 休闲游戏工具包,这是一个工具、模板和资源的集合,可以使 Flutter 中的游戏开发更快、更轻松,免费且开源,以便开发人员可以轻松地修改和调整它以满足他们的需求。
在 Flutter 中构建游戏的快速入门
Flutter 正在成为游戏开发的热门工具。此视频是 Google 努力让 Flutter 开发人员更容易开始构建游戏的努力的一部分。
可观察的 Flutter:慢速编码 Pong
观看 Craig Labenz 与 Flame 的创建者 Lukas Klingsbo (@spydon) 一起完善上周匆忙的 Pong 实现,并讨论 Flame 的最佳实践。
Flame(本周的软件包)
Flame 是一个基于 Flutter 构建的游戏引擎。它附带了构建游戏通常需要的构建块,例如游戏循环、对象组件系统、碰撞检测等等!
使用 Flutter 和 Flame 构建 Doodle Dash | 学习飞行
在“学习飞行”的第二季中,我们正在构建一款名为 Doodle Dash 的游戏,灵感来自 Doodle Jump。扮演 Dash,帮助她通过跳跃平台尽可能地高。这是一款垂直无限跑酷游戏!
Doodle Dash 和 Flame:碰撞检测、菜单等等!| 学习飞行
在“学习飞行”的第二季中,我们正在构建一款名为 Doodle Dash 的游戏,灵感来自 Doodle Jump。扮演 Dash,帮助她通过跳跃平台尽可能地高。这是一款垂直无限跑酷游戏!
在 Doodle Dash 中添加敌人、能量道具和自定义配置 | 学习飞行
我们的 Flame 游戏开始成形了。为了完善游戏,我们添加了全新的自定义 Doodle Dash 资产和更多选项!以 Dash 或 Sparky 的身份玩 Doodle Dash。所有新的平台、敌人和能量道具。
使用 Flame 构建 Dash 游戏 | 学习飞行
在本期的《学习飞行》中,Khanh 用 Flutter 重建了一款经典游戏……Flappy Dash!帮助 Dash 安全地穿越天空,躲避向她飞来的行李碎片。我们还首次迎来了 Flutter YouTube 频道的特别嘉宾!
Flutter、Dart 和树莓派
了解树莓派上的 Flutter 如何让创客们构建令人兴奋的新嵌入式用户界面。树莓派最初作为教授计算机科学的工具而推出,但自推出以来,它已成为每个创客工具箱中的必备品。它已被用作物联网设备、游戏模拟器和售货亭等创客项目的基石。所以这是对“Flutter 和树莓派游戏机看起来会是什么样?”的答案。
探索
挑战指南
这是一条通往构建令人惊叹的 Flutter 游戏的旅程的引导路径!把它想象成一个典型的游戏地图。探索下面的每个任务,并随意跳过你已经熟悉的任务,或者对你成功没有帮助的任务。
编写你的第一行 Flutter 代码!
在 DevPost 上注册!
成为全球公民!
找到你的团队!
设置你的开发环境!
构建你的第一个 Flutter 应用程序!
构建你的第一个 Flutter 游戏!
开始使用 Flutter 休闲游戏工具包!
探索 Google Wallet API!
提交你的项目!
Google Wallet API 挑战
Google Wallet 将所有内容安全地保存在一个地方,因此无论身在何处,你都可以访问支付卡、会员卡、演唱会门票等必需品。而且 Google Wallet 不限制你可以添加到钱包中的通行证类型,这得益于通用通行证功能。
我们希望挑战你思考数字化资产并将其添加到用户 Google Wallet 的创新方法,同时赋予他们团结起来为环境采取行动的能力。
作为通用通行证可能性的一个例子,在 Google I/O ‘23 上,我们与 Flutter 团队合作,使用通用通行证为 I/O FLIP 游戏创建了一套收藏卡。如果你查看 U-go-I/O 演示 并正确回答问题,你就可以将 Dash、Dino、Sparky 和 I/O FLIP 游戏中的其他角色添加到你的 Google Wallet 中作为收藏卡。为了让你对这个挑战更加兴奋,你可以点击下面的按钮添加一张收藏卡。
挑战
使用 Google Wallet API 在你的全球游戏玩家挑战游戏中发行和共享通行证!
奖品
Google Wallet 将在两个不同的类别中颁发奖项:最佳 Google Wallet API 集成和最佳 Google Wallet API 与日语本地化集成。在每个类别中,将为最佳集成、亚军和第三名颁发奖项。
最佳集成将获得 7,500 美元的奖金,亚军将获得 5,000 美元的奖金,第三名将获得 2,500 美元的奖金。所有获奖者还将有机会与 Google Wallet 团队成员进行虚拟咖啡会,并根据 Google 的决定推广他们的项目。
评判
- 您的提交必须与 Google Wallet API 成功集成,这意味着您的用户需要能够将您的通行证添加到他们的 Google Wallet 中。您的通行证可以是抽奖券、收藏卡、收藏奖品或您能创建的任何其他东西!
- 我们将考虑集成的社交分享功能:如果您的应用程序以促进用户之间互动的方式使用 Google Wallet API。一些示例可能是收集和在用户之间共享通行证(例如收藏品),或与现实世界中的某些东西(如二维码)进行交互,以便能够在您的 Google Wallet 中收集特殊通行证。
- 我们将考虑您对 Google Wallet API 的使用方式的创新程度。我们提到了收藏品,例如收藏卡,但您可以发挥您的想象力,创建任何东西的数字版本,并让您的用户将其保存到他们的 Google Wallet 中。
资源
Google Wallet API 开发人员文档:developers.google.com/wallet
Google Wallet API 示例存储库:github.com/google-wallet/rest-samples
Google Wallet API 开发人员通讯订阅:g.co/wallet/newsletter
注意:Google Wallet 在这些国家/地区可用
奖品
我们致力于为不仅仅是出色的编码能力颁发奖项。探索下面的奖项列表,看看您可能有资格获得什么 - 每个人都有适合自己的东西!
决赛入围者奖
评委将选出最多 10 名决赛入围者。每个团队最多 3 名成员将获得前往纽约市的旅行和住宿费用、在 Google 纽约市办公室与 Flutter 团队共度一天、参加 2024 年全球公民音乐节的 VIP 门票、数字认可以及一份礼品包。
决赛入围者将
- 解决一个重要的可持续发展问题
- 具有现实世界影响的潜力
- 包含一个创新且引人入胜的游戏概念
- 展示高代码质量,包括但不限于遵守可访问性和性能的最佳实践
- 以下内容将获得加分
- 多平台部署
- 教育元素
- 社交互动
额外奖品
额外奖品获得者将获得礼品包和数字认可。
最佳演示
最佳演示视频将以清晰、简洁且引人入胜的方式展示游戏概念和玩法,从而吸引观众。它将展示游戏的优势,突出其可持续性信息、创新功能和引人入胜的游戏机制。在演示结束时,观众会想要拿起设备玩游戏,并对游戏的价值和潜在影响有清晰的了解。
最佳教育内容
拥有最佳教育内容的游戏将超越单纯的游戏玩法,提供与游戏体验无缝融合的学习机会。它将利用游戏的强大功能来教育玩家了解可持续性问题或游戏开发的技术方面,提供准确、引人入胜且适合年龄的信息。教育内容可以是教程、测验、互动游戏元素,甚至与游戏叙事和信息相一致的分支故事情节。
荣誉提名
未入围决赛的前 20 个项目将获得荣誉提名。
社区选择
社区将在 DevPost.com 上投票选出他们最喜欢的游戏。获得最多票数的 5 款游戏将获得社区选择奖。
Google Wallet 奖品
Google Wallet 还为将 Google Wallet API 创新地集成到 Flutter 游戏中的项目提供高达 30,000 美元的现金奖励。了解更多关于挑战的信息,请 点击这里。
最佳集成 - 第一名(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 角度和物理
在真正的 Pong 中,球会以不同的角度从球拍上弹开,具体取决于它击中球拍的位置。在这个 Pong 游戏中,它不会(它总是以 45° 角弹开)。
你能实现一个更接近原始 Pong 实际算法的弹跳算法吗?
(提示:在 Pong 中,球不会根据正常的物理定律弹跳。相反,如果球击中球拍的正中心,它将直接弹开,无论其入射角如何。否则,球撞击球拍的位置越高,其向上弹跳的角度就越陡。同样,球撞击球拍的位置越低,其向下弹跳的角度就越陡)