欢迎体验 Android 游戏开发工具包
作者 / Android Games 产品经理 Scott Carbon-Ogden
我们在 2021 Google 游戏开发者峰会 发布了 Android 游戏开发工具包 (AGDK)。它是一整套工具和库,可以帮助您开发、优化和交付高品质的 Android 游戏。点击这里 观看 Android 游戏开发新工具的视频了解更多详细信息。
AGDK 中的功能遵循以下三个关键原则:
- 专为游戏开发编写的代码。我们使用 C 或 C++ API 构建和测试所有库,同时兼顾性能。
- 减少碎片化 。AGDK 工具和库可以在多个不同的 Android 版本中运作。大部分功能可以在当下绝大多数设备上运行。
- 由 Android 构建,为 Android 而生 。在未来更新 Android 平台时,这些功能将一并更新,这些库还有可能支持向下兼容。
集成式工作流 通常来说,您需要切换的工具越少,效率也就越高。借助 AGDK,我们提供了新的工具以助您在主要 IDE 中轻松开发 Android 游戏。我们将专注于 Google 可以为其增添独特价值和解决 Android 特定问题的工作流程部分,同时与您目前工作流程中惯用的部分进行兼容。
- Android 游戏开发工具扩展包 (Android Game Development Extension) 将 Android 作为平台目标添加到 Visual Studio 中。这样一来,现有的多平台 Visual Studio 游戏项目就能够快速集成 Android 作为新平台。您可以 点击这里 观看视频了解更多详情。
- 我们正与一些主流的游戏引擎开发商合作,直接将我们的工具和库集成到游戏引擎中,这样一来,您无需做出任何改变,即可享受性能的增强和稳定性的提升。
- 针对上述集成无法满足的情况,我们已着手构建 适用于 Unity 等游戏引擎的插件。这些插件都集于一处,方便您快速找到所需。
我们会重点关注您反馈的痛点。短期包括为活动和输入构建基本类。而从长远来说,我们计划构建更多的 C 语言库,以提供跨游戏引擎常用的功能。我们准备将现有的帧同步和高性能音频库整合到构建的 C 语言库中,同时添加三个全新的库:
- Game Activity 为 C++ 游戏提供构建基础。该库能为您预期的所有 Android 事件 (包括屏幕旋转和应用生命周期) 提供 C 语言接口。这有助于您尽可能减少在 Java 语言上花费的开发时间。不同于原生 Activity 的是,Game Activity 不仅能与 fragment 兼容,还可以进行扩展,让您能够更轻松地集成一些喜爱的 SDK。
- 游戏文本输入 (Game Text input) 可让您在 C 语言中稳定地使用软件键盘,该库已得到官方支持,并且可在多个 Android 版本中使用。
- 游戏控制器 (Game Controller) 能以 C 语言处理游戏控制器传来的输入信号,以映射控制器的功能,并在必要时重新连接至设备。
为尽可能简化集成过程,您可以选择以 Maven 依赖项、预编译的 Zip 文件或源代码的形式获取我们所有的库。
性能优化 我们的目标是帮助您在发布前发现任何稳定性或性能方面的问题,并在游戏发布后对其进行监测分析,以发现任何存在的问题。我们首先将关注帧率、加载时间和内存等最为重要的指标,并会随着时间的推移加入新指标。
- 我们即将发布有关 Android GPU Inspector 的重大更新,其中包括帧分析功能。该功能将与现有的 GPU 分析元素配合工作,以帮助您充分了解任何与 GPU 相关的问题。AGI 现推出公开 Beta 版,您可以在这个 视频 中了解更多 GPU Inspector 的相关内容。
- 我们还在 Android Studio 和 AGDE 中提供了 一套用于系统、电源和 CPU 的性能剖析器 (Android Profiler),以及游戏开发者可以用来找出低效问题的全新原生内存性能剖析器。
- Android Performance Tuner 提供了用户遥测方案。借助 Android Performance Tuner,您可以查看游戏不同部分的具体表现,以及游戏在不同设备上的表现。您可能已在使用该工具监控帧率,而现在我们将加入全新的加载时间监控功能。您可以在关于 Android Performance Tuner 的精彩视频 中了解更多详情。
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- 绘本讲师训练营【18期】14/21《我的情绪小怪兽》故事会新体验
- android|android studio中ndk的使用
- 美之初体验—我所感受到的那一点儿
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)