关于手游的开发
更新:HHH   时间:2023-1-7


前端用的unity,使用xlua做热更,基本百分之九十的功能都是使用xlua来编写的,只有网络、协议、核心通用工具是用c#来做的;

后端使用java,网络使用netty框架,数据库用mysql

前后端通讯协议使用google的protobuf,需要到git上找protobuf的xlua支持,官方已经支持了java;

×××中都会有定时器的处理,比如×××中的发牌、抢庄、翻牌等,如果放在客户端来控制,个人感觉是比较难的,并且在房间的同步上也会存在问题,所以都是放在服务端来做,这个时候就要考虑该用什么样的方案来处理大量的定时器呢?我用的是netty实现的时间轮定时器,在 HashedWheelTimer中实现的,具体的用法可以自行去学习。

关于时间轮定时器

定义一个时钟周期和步长,当指针每走一步时就获取当前时钟刻度上挂载的任务并执行。

关于protobuf
前端用的是lua-protobuf,在git上可以找到,用起来比较方便。还有一个protoc-gen-lua,也可以在git上找到,这个需要自己下载整个项目后编译,有些麻烦。

后端直接下载官方的java支持就可以使用。

.proto文件一定要按包划分,不然生成协议文件会过大,影响编码(打开慢)和性能。

年前是帮朋友公司做这个app,资金有限,所以只招了两个刚毕业的前端来编写前端,我写后端和前端的socket代码,也一起和前端同学处理他们无法解决的问题,之后因为公司问题,项目就搁置了,目前基本都做完了,只剩下ipa包没打出来。

有兴趣的朋友可以找我了解。

VX:blank9199

返回游戏开发教程...