写在新年第一天的Moba类游戏前后端开发分享
genxium · · 5033 次点击 · · 开始浏览我们之前一段时间做的一个游戏,勉强算是"后端房间分配","战局帧同步(前后端差帧编解码)"和"独立机器人服务器"都体验过一遍了吧,目前项目也属于无人维护的状态,干脆就开源了 https://github.com/genxium/TreasureHunterX,希望对于想做同类游戏的朋友也有帮助。
由于这类游戏常会遇到匹配不到真实玩家需要机器人加入陪玩,所以这里也提供一个配套的BotServer仓库(非必须,测试时两个浏览器对战即可)。
现在前端(Creator v2.1.3)和后端(Golang + gin as httpv1 framework + Gorilla as websocket lib)被调整为了仅支持1v1模式,但后端仅需较为少量的改动即可支持2v2 ~ 5v5(自己公网测过),而前端就没那么方便了很多代码都假设了"刚好两个玩家一局"。所使用的同步算法对UDP也是友善的,具体可参照 http://fabiensanglard.net/quake3/network.php 的说明,我也是对着理论做的实现和调整。
之后应该会开一个系列描述一下从零开始写这类游戏的难处,以及新入门的年轻人可以怎么利用大厂提供的工具链或者云服务避开这些难处,集中精力做好游戏内容 -- 对,这种方法真的存在,但并不是所有难的地方都能绕过的(比如子弹消失的信息同步和"其他移动物体的位置extrapolating及interpolating"),所以只能减少烦恼而不会消除。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
我们之前一段时间做的一个游戏,勉强算是"后端房间分配","战局帧同步(前后端差帧编解码)"和"独立机器人服务器"都体验过一遍了吧,目前项目也属于无人维护的状态,干脆就开源了 https://github.com/genxium/TreasureHunterX,希望对于想做同类游戏的朋友也有帮助。
由于这类游戏常会遇到匹配不到真实玩家需要机器人加入陪玩,所以这里也提供一个配套的BotServer仓库(非必须,测试时两个浏览器对战即可)。
现在前端(Creator v2.1.3)和后端(Golang + gin as httpv1 framework + Gorilla as websocket lib)被调整为了仅支持1v1模式,但后端仅需较为少量的改动即可支持2v2 ~ 5v5(自己公网测过),而前端就没那么方便了很多代码都假设了"刚好两个玩家一局"。所使用的同步算法对UDP也是友善的,具体可参照 http://fabiensanglard.net/quake3/network.php 的说明,我也是对着理论做的实现和调整。
之后应该会开一个系列描述一下从零开始写这类游戏的难处,以及新入门的年轻人可以怎么利用大厂提供的工具链或者云服务避开这些难处,集中精力做好游戏内容 -- 对,这种方法真的存在,但并不是所有难的地方都能绕过的(比如子弹消失的信息同步和"其他移动物体的位置extrapolating及interpolating"),所以只能减少烦恼而不会消除。