一、客户场景与实践
你可以在 全真技术体验馆-直播间多人互动游戏 中,体验直播间多人互动玩法。
二、场景1:多人互动直播
·业务背景:某直播厂商,需实现主播直播时与粉丝游戏互动。
·实现逻辑:
·主播开播时,通过连接云游戏创建房间,粉丝可以向主播发起加入房间申请或者通过主播提供的邀请连接,进入房间与主播进行多人游戏。
·其他粉丝可以通过直播观看主播与粉丝的游戏互动直播画面。
三、场景2:多人擂台游戏
·业务背景:某云游戏厂商,需实现多人擂台云游戏。
·实现逻辑:
·管理员创建云游戏房间。
·其他玩家可以排队依次进入进行擂台 PK 游戏,胜利者继续游戏,失败者切换角色或退出。
四、快速接入
首先,你需要拥有一个可在 Windows 环境下稳定运行的应用程序,在应用层面开发实现必要的功能,例如应用程序内实现了以下功能:
包括基本的游戏场景,至少支持1~4个玩家加入,通过手柄控制控制游戏。
在你具备应用软件的情况时,操作步骤如下:
1.开通 应用云渲染产品 服务。
2.参考 快速入门 的操作指引,完成应用的部署。
3.参考 接入Demo,完成前后端的部署,通过云端环境成功启动应用。
在完成以上步骤后,你需参照下方多人互动的详细指引进行接入。同时可以参考文档实现 推流画面到直播间。
五、多人互动玩法概念说明
多人互动玩法可以抽象理解为一个云渲染房间+直播流(可选)的形式。房间由云渲染玩家(房主)创建后,其他玩家(互动观众)可通过房主的 UserId 加入同一房间,同一房间内的所有用户通过云渲染连接看到同一个云端画面。
六、业务用户说明
·房主:创建房间的用户
·管理他人是否拥有控制权(点击、键鼠、手柄等操作,针对应用配置)。
·管理房间内所有人的麦克风状态。
·互动观众:加入其他人房间的玩家,有 Player 和 Viewer 两种角色状态
·需要向房主申请控制权。
·当被房主赋予控制权时,是 Player 角色,有游戏的控制权。
·当未被房主赋予控制权时,是 Viewer 角色,无游戏的控制权。
·可以控制自身麦克风的开关。
·普通观众:直播间通过直播流观看的用户,未连接云渲染实例
无其他权限的普通直播间观众,仅能通过直播流观看画面。
七、云渲染角色说明
·Host:房间最初的创建者
拥有切换互动观众身份的能力,当 host 角色退出后,房间将立即被销毁,所有互动观众自动退出。
·Player:互动观众拥有游戏控制权的状态,可操控游戏
人数默认最多为7人,实际人数需与对应游戏可支持的玩家人数一致。
·Viewer:互动观众没有游戏控制权的状态,仅支持观看
人数默认最多为7人。
注意:说明:
八、开通服务
在控制台 多人互动页面,开通该增值功能。
九、房主创建房间
1. 房主客户端向业务后台发起启动云渲染请求,业务后台通过调用 ApplyConcurrent() 申请锁定云渲染并发。
2. 业务后台通过调用 CreateSession() 创建会话,其中请求参数 HostUserId 需要与 UserId 相同,Role 可选择 Player 或者 Viewer。
注意:房主创建房间与单人云渲染启动应用流程相同,唯一的区别是调用云 API 创建会话时需填入 HostUserId。
十、互动观众加入房间
1. 互动观众客户端向业务后台发起启动云渲染请求。
2. 业务后台通过调用 CreateSession() 创建会话,其中请求参数 HostUserId 需要与房主的 UserId 相同,Role 可选择 Player 或者 Viewer。
注意:仅房主需要调用 ApplyConcurrent(),互动观众不需要调用。
十一、推流直播
参考最佳实践 如何将云渲染画面推流至直播间。
十二、切换角色
1. 互动观众客户端调用 TCGSDK.submitSeatChange() 接口申请切换角色,可以申请切换为 Player 或者 Viewer。
注意:综上所述,Player 需要严格对号入座,Viewer 不分配坐席。
2. 房主客户端通过回调 onMultiPlayerChange() 接口获取其他玩家申请切换角色的请求,通过调用 TCGSDK.seatChange() 接口切换互动观众角色。
3. 互动观众客户端通过回调 onMultiPlayerChange() 接口获取申请切换角色的结果。
十三、切换麦克风状态
1. 房主客户端调用 TCGSDK.changeMicStatus() 接口可以切换其他玩家或者自己的麦克风状态。
2. 互动观众客户端调用 TCGSDK.changeMicStatus() 只能切换自己的麦克风状态。