将 Amazon GameLift 添加到 O3DE 游戏客户端和服务器 - Amazon GameLift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Amazon GameLift 添加到 O3DE 游戏客户端和服务器

您可以使用开源、跨平台、实时 3D 引擎 O3DE 来创建高性能的交互式体验,包括游戏和模拟。O3DE 渲染器和工具封装在模块化框架中,您可以使用首选的开发工具对其进行修改和扩展。

模块化框架使用包含具有标准接口和资产的库的 Gem。选择您自己的 Gem,根据您的要求选择要添加的功能。

Amazon GameLift Gem 提供以下功能:

Amazon GameLift 集成

一个用于扩展 O3DE 网络层并让多人游戏 Gem 与 Amazon GameLift 专用服务器解决方案配合使用的框架。Gem 提供了与 Amazon GameLift 服务器软件开发工具包和 Amazon 软件开发工具包客户端(称为 Amazon GameLift 服务本身)的集成。

构建和软件包管理

打包并可选择上传专用服务器版本和 Amazon Cloud Development Kit (Amazon CDK) (Amazon CDK) 应用程序的说明,以设置和更新资源。

Amazon GameLift Gem 设置

按照本节中的步骤在 O3DE 中设置 Amazon GameLift Gem。

先决条件
打开 Amazon GameLift Gem 及其依赖项
  1. 打开项目管理器

  2. 打开项目下的菜单,然后选择编辑项目设置...

  3. 选择配置 Gem

  4. 打开 Amazon GameLift Gem 和以下依赖宝石:

包括 Amazon GameLift Gem 静态库
  1. 为您的项目服务器目标添加 Gem::AWSGameLift.Server.Static 作为 BUILD_DEPENDENCIES

    ly_add_target( NAME YourProject.Server.Static STATIC ... BUILD DEPENDCIES PUBLIC ... PRIVATE ... Gem::AWSGameLift.Server.Static )
  2. AWSGameLiftService 设置为您的项目服务器系统组件必填项。

    void YourProjectServerSystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) { ... required.push_back(AZ_CRC_CE("AWSGameLiftServerService")); ... }
  3. (可选)要使用 C++ 提出 Amazon GameLift 服务请求,请在针对您的客户目标的 BUILD_DEPENDENCIES 中包含 Gem::AWSGameLift.Client.Static

    ly_add_target( NAME YourProject.Client.Static STATIC ... BUILD_DEPENDENCIES PUBLIC ... PRIVATE ... Gem::AWSCore.Static Gem::AWSGameLift.Client.Static }
集成您的游戏和专用服务器

使用会话管理集成管理游戏和专用游戏服务器中的游戏会话。要支持 FlexMatch,请参阅 FlexMatch 集成