2024 年 1 月 9 日:提交作品开放
确保尽早开始组建你的团队并提交参赛作品!
2024 年 3 月 5 日:提交作品截止
在 DevPost 上提交你的项目。截止时间为太平洋标准时间下午 2:59(UTC -8)。
2024 年 3 月底:公布前 20 名
敬请关注,看看你的项目是否入选前 20 名!
2024 年 5 月:公布获奖者
前 20 名决赛选手将角逐 10 个最终获奖名额,将于 2024 年 5 月公布。
资源
查看下面列出的资源,帮助你启动全球游戏挑战赛的提交作品!
可持续发展资源
我们与 Global Citizen 合作发起这项挑战,因为我们相信,当技术人员和活动家走到一起时,就会产生最佳的解决方案。最成功的提交作品将展现出对环境游戏所代表的议题和机遇的深刻理解。查看我们合作伙伴提供的这些资源,快速了解相关信息。
- Global Citizen 之旅 → 这段为期 5 天的互动旅程将向你介绍可持续游戏、Flutter,甚至可能为你提供一些 Google 钱包奖励!
- Global Citizen 保卫地球活动的更多信息 → 探索 Global Citizen 为激励世界保护地球而开展的更多活动。
- 绿色游戏设计网站 → 获取由环境游戏专家提供的资源和总结示例游戏。
- 环境游戏最佳实践手册 → 由 Playing 4 the Planet 推荐,这是全球最大的游戏工作室在创建绿色游戏活动时使用的同一手册!
- 气候游戏工具包创建者访谈 → 观看 Ubisoft Positive Play 的艺术总监 Arnaud Fayolle 在 2022 年 GDC 上关于可持续游戏的演讲。
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:缓慢编码乒乓球
观看 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 游戏的路径!你可以把它想象成一个典型的游戏地图。探索以下每个任务,并且可以随意跳过你已经熟悉或对你成功没有帮助的任务。
编写你的第一行 Flutter 代码!
在 DevPost 上注册!
成为全球公民!
找到你的团队!
设置你的开发环境!
构建你的第一个 Flutter 应用!
构建你的第一个 Flutter 游戏!
开始使用 Flutter 休闲游戏工具包!
探索 Google Pay API!
提交你的项目!
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 酌情决定下推广他们的项目。
评判标准
- 你的提交必须成功集成 Google Pay API,这意味着你的用户需要能够将你的通行证添加到他们的 Google Pay 中。你的通行证可以是抽奖券、收藏卡、收藏奖品或任何其他你能够创建的资产!
- 我们将考虑集成的社交分享功能:如果你的应用程序以促进用户之间交互的方式使用 Google Pay API。一些示例可能包括在你的用户之间收集和分享通行证(例如收藏品),或与现实世界中的某些内容(例如二维码)进行交互,以便能够在你的 Google Pay 中收集特殊通行证。
- 我们将考虑你使用 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在这些国家/地区可用
奖品
我们致力于不仅奖励出色的编码能力,还奖励其他方面。探索以下奖项列表,了解你可能符合哪些资格——每个人都有机会!
决赛奖项
评委将选出最多 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° 角弹开)。
你能否实现一个更接近原始乒乓球实际算法的反弹算法?
(提示:在乒乓球游戏中,球的弹跳不遵循正常的物理定律。相反,如果球击中球拍的正中心,它将笔直弹开,无论其入射角度如何。否则,球与球拍碰撞的位置越高,其向上弹跳的角度就越陡。同样,球与球拍碰撞的位置越低,其向下弹跳的角度就越陡)