公司考虑,想把一些游戏的后端的用lua写,现在公司新的游戏基本上是前后端都使用lua,用lua写有什么好处呢?我想一下,第一,使用lua写,节省人力成本
第二,lua语言简单,上手很快,有编程经验,基本上一周能够上手。
第三,公司前端使用lua,多年积累了一些lua人才。
在自己改写完,一款游戏的gameServer后,使用lua有什么不方便之处呢。
第一,lua没有好的编辑器,是脚本语言,不需要编译,编写的时候容易有错误,不能及时发现。
第二,不方便调试,习惯写前端代码,遇到错误可以debug,但是后端只能查看日志,分析日志得到结果。
回顾使用lua重写GameServer,自己最大的感触就是找错,调试不方便,加上对liunx命令也不熟悉,遇到问题会把日志拷贝到本地来看分析日志,这样做效率是比较低的。
还有自己刚开始对日志也不重视,日志记录的不够全面,无法找错,或者比较随意,没有把一些重要的的值打印出来,对于分析错误没有价值。后面自己专门把所有写的代码把日志补上。
刚开始以为Server就一个,写的过程发现server分了很多块。有AollcServer,userServer,gameServer比赛有MatchManagerServer里面还有很多链接。获取金币的MoneyClient,钻石的dioandClient,任务taskClient,魅力值,敏感词,还有redis,db操作。这些都可以是获取对应值的接口。获取和更新用户数据,通过创建一个链接,发送命令进行操作。这个和客户端本质是差不多,客户端要获取数据也是通过发送请求,http请求或者是socket请求。客户端一般都是异步请求的。在c++请求是同步的和异步的。