将 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 设置 Amazon 账户。有关更多信息,请参阅 设置一个 Amazon Web Services 账户。
-
为 O3DE 设置 Amazon 凭证。有关更多信息,请参阅配置 Amazon 凭证
。 -
设置 Amazon CLI 和 Amazon CDK。有关更多信息,请参阅 Amazon Command Line Interface
和 Amazon Cloud Development Kit (Amazon CDK) 。
打开 Amazon GameLift Gem 及其依赖项
-
打开项目管理器。
-
打开项目下的菜单,然后选择编辑项目设置...。
-
选择配置 Gem。
-
打开 Amazon GameLift Gem 和以下依赖宝石:
-
Amazon Core Gem
– 提供在 O3DE 中使用 Amazon Web Services 服务 的框架。 -
多人游戏 Gem
– 通过扩展网络框架提供多人游戏功能。
-
包括 Amazon GameLift Gem 静态库
-
为您的项目服务器目标添加
Gem::AWSGameLift.Server.Static
作为BUILD_DEPENDENCIES
。ly_add_target( NAME YourProject.Server.Static STATIC ... BUILD DEPENDCIES PUBLIC ... PRIVATE ... Gem::AWSGameLift.Server.Static )
-
将
AWSGameLiftService
设置为您的项目服务器系统组件必填项。void YourProjectServerSystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) { ... required.push_back(AZ_CRC_CE("AWSGameLiftServerService")); ... }
-
(可选)要使用 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 }
集成您的游戏和专用服务器
使用会话管理集成