最近在研究小游戏,发现微信小游戏有官方的联机对战API,提供开箱即用的房间管理、玩家匹配、队伍管理、消息通信等功能。
但是如果想把小游戏发布到抖音小游戏平台,就必须自己搭建一套联机对战服务了。
基于此需求,我开始尝试设计一套轻量级联机对战基础服务(Lightweight Game Online Battle Service, LGOBS) ,旨在为小规模团队或独立开发者提供一种简洁、可复用、易于部署的网络同步方案。
它并非要替代各平台官方方案,而是希望在某些缺乏官方支持的环境下,提供一种可行的备选路径。
在设计思路上,我重点关注以下几个方向:
1. 轻量接入:尽可能简化 SDK 集成与 API 设计(主要参考微信游戏服务API/开放能力/游戏服务),让开发者聚焦于游戏逻辑而非通信细节,js类小游戏皆可接入(如cocos creator 3.x)。
2. 房间与状态同步:提供基本的房间创建、加入、退出机制,并支持玩家状态与动作的实时同步。
3. 弱网络适配:针对移动网络环境优化,支持断线重连与状态补偿,提升对战体验的容错性。
4. 平台无绑定性:尽量抽象平台相关逻辑,使同一套对战逻辑可适配不同发布渠道。
5. 极高性能:基于rust编程语言开发,资源占用低,运行速度快。
6. 部署简单:可编译为linux64可执行程序,无需配置运行环境,可直接启动,也可以由docker运行,做到一键启动。
目前该方案仍处于实验与迭代阶段,我将在微信小游戏平台与抖音小游戏平台实践。