写在前面的一段话:
之前准备用LuaServer写一个简单moba手游,后来觉得,LuaServer毕竟是前公司内部的产品,不是绝对开源的,也因着别的一些原因,决定放弃更新LuaServer相关的。
但个人学习不能停是不是,哈哈哈…今儿起,准备捣鼓捣鼓KBEngine。KBEngine之前也没有接触过,Unity也好久没碰过了,于是乎,就准备把这两者结合下,实现从入门到“放弃”的一个小目标吧。
这系列文章,会伴随自己业余时间,便实现代码便总结记录,当做一份学习笔记。
这里准备利用KBEngine作为服务端引擎,将Unity官网的坦克大战demo进行改造,目标是实现一个联机版坦克大战,同步方式采用状态同步来完成。
从上层功能开发入手,然后深入到源码层,以此完成一次自我学习的过程~同时,代码会在github上同步更新。
阶段目标
- 环境搭建
- 客户端能和KBEngine完成通信
- Server端完成基本的从匹配到进入战场的功能,客户端做出响应
环境搭建
KBEngine官网:KBEngine官方网站
KBEngine源码:github源码
Unity版本:Unity 2019.1.0f2 (64-bit)
坦克大战demo:在Unity的Asset Store里面搜索关键字"Tanks"免费获取
服务端基础配置:WampServer
KBEngine默认是需要mysql数据库支持的,为了便于开发,减少前期投入的时间,利用WampServer傻瓜式一键式搭建一个简易的mysql运行环境。
关于KBEngine环境的具体搭建,参考官网,官网的环境搭建文档还是很详细的,文档传送门在此:点我!传送门
流程设计
简单了解了下,KBEngine的cell部分主要承担的是space内相关的数据操作,比如移动、战斗等等,base上承担的则是一些基础性的东西。(这是刚接触时,给我的感觉,可能说的不准备,等待后续深入学习再具体看)。基于这个认识,我们从登陆、匹配到进入战场的第一阶段目标,基本上和cell是无关的,全部在base上实现得了。
先奉上一份上述操作的设计流程时序图: