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

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

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

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

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

Amazon GameLift Gem 提供以下功能:

亚马逊 GameLift 集成

一个用于扩展 O3DE 网络层并让多人游戏 Gem 与 Amazon GameLift 专用服务器解决方案配合使用的框架。Gem 提供了与亚马逊 GameLift 服务器SDK和 AWS SDK客户端(称之为亚马逊 GameLift 服务本身)的集成。

构建和软件包管理

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

亚马逊 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++ 提 GameLift 出 Amazon 服务请求,请在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 集成