共计 673 个字符,预计需要花费 2 分钟才能阅读完成。
多人游戏
Multiplayer 对象简介
Multiplayer 对象为开发者提供了构建实时在线多人游戏的能力,主要通过 WebRTC DataChannels 实现网络通信。
脚本接口
使用 JavaScript 或 TypeScript 编码时,可通过 IMultiplayerObjectType 脚本接口访问此对象的功能。
功能特点
- 基于 UDP 的传输 :最小化延迟,提供可靠和不可靠模式。
- NAT 遍历 :支持通用路由器 / 网络设置的连接。
- 插值和外推模式 :保证游戏中运动的流畅性。
- 信令服务器与 TURN 服务器 :由 Scirra 托管,帮助对等体互相连接。
- 权威主机模型 :防止作弊,提供本地输入预测。
- 局域网游戏支持 :实现近乎零延迟的游戏体验。
- 数据压缩与带宽管理 :自动减少带宽消耗,避免冗余。
教程系列
推荐从以下四个入门教程开始学习:
- 多人游戏教程 1:概念
- 多人游戏教程 2:聊天室
- 多人游戏教程 3:乒乓球
- 多人游戏教程 4:实时游戏
信令和托管
信令服务器用于玩家之间的连接,而实际的游戏数据传输由游戏主机处理。可以选择使用专用服务器来运行游戏以优化连接质量。
对等 ID 与消息发送
每个连接的玩家会被分配一个唯一的对等 ID,用于识别和消息发送。主机可以直接向任何对等方发送消息,而对等方只能直接与主机通信。
更新游戏与多人游戏条件
主机对游戏数据及其设置具有权威性。多人游戏条件包括比较对等计数、检测是否为主机、响应对等消息等。
动作与同步
提供了添加客户端输入值、将对象与对等关联、断开连接、发送消息、设置带宽配置文件等一系列动作来管理多人游戏的各个方面。Sync 对象自动同步对象信息,确保所有玩家看到一致的游戏状态。
正文完