跨平台游玩

使用Epic账号来为Epic Games商店、Steam和独立发行的PC游戏启用跨平台游玩

概览

传统上讲,在不同商店和平台上发行游戏会将玩家群体按照平台进行分割。使用了Epic账号服务,游戏可以接触到更大的玩家群体,并带有强大的跨平台社交功能,而且可以统一游戏的匹配池。

Epic在线服务SDK提供可以直接使用的功能,解决了跨平台连接玩家的各种复杂细节。

跨平台游玩现已对Windows平台的游戏可用。 已经计划支持任天堂Switch、PlayStation®以及Xbox平台。 已经计划支持macOS、Linux、安卓和iOS平台。

游戏整合 要启用跨平台游玩需要以下步骤进行整合:

  1. 为Epic账号服务创建一个新的OAuth应用,并包括一个品牌审核。

  2. 将SDK与你的游戏客户端整合。

  3. 对于要在Epic Games商店以外发行的客户端,将Epic在线服务本地服务可再分发安装包及其关联的引导程序作为你游戏的先决条件。

以下各小节将会介绍每个整合步骤。

第一步:应用配置和品牌审核

要在你的游戏中使用Epic账号服务,需要先在开发人员门户中为你的产品设置一个应用程序。使用必要的信息设置好应用程序后,将其提交来进行品牌审核。品牌审核通常会花费几天时间,之后玩家便可以用Epic账号登录你的游戏。仅限于以开发为目的,你的开发者门户组织下属的Epic账号可以在品牌审核完成之前登录游戏。

更多关于如何为Epic账号服务设置应用程序的信息,参考品牌审核应用过程文档。

第二步:整合游戏客户端SDK

Epic账号的登录由游戏客户端调用 EOS_Auth_Login SDK API时发起。该页面描述的常见的登录场景包括通过Epic Games商店Steam发行以及独立发行的游戏。

通常在各个平台和场景的流程中,游戏客户端先获取本地用户的某种授权信息,然后将其传给 EOS_Auth_Login SDK API。独立发行游戏也可能使用 EOS_LCT_AccountPortal 登陆方式,不需要输入授权信息,而是要求用户在登录时输入Epic账号信息。

SDK将会使用游戏内显示来引导用户完成所有必要过程,以此来全程控制登录流程。用户完成登录流程后,不论是成功登录还是取消登录,SDK都会对 EOS_Auth_Login SDK API 完成回调,将控制交回给游戏应用程序。在Steam上,用户的Steam账号会自动在SDK控制的登录流程中与登录的Epic账号关联。

更多SDK API整合细节可以参考授权接口文档。

第三步:引导程序和服务可再分发安装包

要了解如何将引导程序安装包和本地服务可再分发安装包作为你游戏的先决条件,查看可再分发安装包和引导程序文档。

玩家体验

要使用跨平台社交和共同游玩功能、添加好友或者发送游戏邀请,玩家都需要拥有一个Epic账号。取决于你的偏好,游戏可以将登录Epic账号作为启用跨平台游玩的可选选项,比如可以在进入游戏大厅之前要求登录或创建账户。

登录

Epic Games商店

游戏会使用指令行参数中接收的交换代码来记录本地Epic用户,由Epic Games启动器传送至正在运行的游戏进程。该登录行为是自动的,不需要任何用户操作。

Steam

游戏会使用一个从Steamworks SDK获取的Steam AuthSessionTicket 来记录本地Steam用户。内置的程序会引导用户将本地用户的Steam账号和Epic账号关联。这样会让用户在使用Epic账号服务连续打开应用和其它游戏时自动登录。

没有Epic账号的新用户可以创建一个新的代理Epic账号。这会将用户的Steam账号和新创建的Epic账号关联,可以让用户在使用Epic账号服务连续打开应用时自动登录,而不需要电子邮箱地址或设置密码。

代理Epic账号与正常的带有电子邮箱和密码的Epic账号用法一样。举个例子,如果用户后来安装了Epic Games启动器,便可以使用Steam账号来登录他们的Epic账号,这时用户会被要求注册一个电子邮箱并为账号设置一个密码。

Steam上的内置用户引导的欢迎页面,可以无缝创建代理Epic账号。

独立发行的游戏

游戏会不使用已有的授权场景来将用户登录到它们的Epic账户。经过内置的用户引导之后,SDK会在本地设备上储存一个长期可用的Epic刷新令牌用于连续打开应用时自动登录。

年龄确认

作为Epic账号登录的一部分,用户可能会需要输入其出生日期。年龄较小的用户可能会被提示要先获得监护人许可,用于Epic账号或者与你的应用程序分享数据,之后才能正常登录。

SDK可以全程管理整个步骤。如果用户不得到监护人许可, EOS_Auth_LoginEOS_Auth_LinkAccount SDK API 会返回 EOS_Auth_AccountFeatureRestricted 错误结果。游戏可能会重新启动登录流程来让用户获得监护人许可后再登录进行游玩,或者让用户检查其许可状态。

覆盖

SDK提供的游戏内覆盖可以让玩家跨游戏跨平台看到自己的Epic好友。玩家可以搜索和添加好友、查看谁在线并且跨平台发送游戏邀请。

你也可以将一些Epic好友功能内置到游戏本身的UI中,比如用程序将玩家添加为Epic好友,可以通过 EOS_Friends_SendInvite SDK API来实现。

覆盖要求游戏有最基本的SDK代码整合。关于如何为你的游戏启用它,可以参考overlay文档。

匹配

使用大厅 或者 会话SDK接口来跨平台统一游戏的匹配池。这两个接口都带有可以直接使用的覆盖来让游戏支持跨平台邀请变得更加容易。

除此以外,在SDK初始化时指定整合平台选项,游戏邀请被原生整合进了本地平台来让用户在不同的平台上获得相似的体验。