六月的最后一天,解决了一个服务死循环的问题。吐槽下 skynet,既然已经可以检测到 endless loop,为什么不直接做个调试器去打出死循环在哪里?而且默认不自带超时功能,死了以后基本上服务统计的 gm 指令都挂了。要做超时的 call,还需要自己套个代理服务上去。

这个月将手头的系统都开发完了,开始进入修 bug 阶段。月中的时候接替同事,跟了一下玩法方面的代码,熟悉了玩法的代码结构。排行榜现在统一交到一个服务上去做了,这个服务会创建跟玩家一一对应的 role,然后每个 role 还能饰演不同玩法的角色,参与不同的排行榜。这个抽象不错,避免了不同玩法分别实现一套排行榜,目前排行榜的区别只是榜单的 key 不一样,榜单长度不一样,其他规则是相同的,所以能很好的合到一起。

另外,玩法开启的初期,为了激活用户活性,会导入机器人。策划将机器人的各个属性配好,就可以复用机器人。同时,基于排行榜的玩法也不用特殊处理,基本不需要区分是否机器人,直接按同样的规则去匹配人和机器人。这个统一的抽象也相当优雅,但是上次策划有特殊要求,每次搜索都提供机器人减少玩家挫败感,这个不知道怎么实现。让策划大量配机器人可以解决 XD

好困,滚去睡觉了 😪

EDIT:

好吧,skynet 是有打断死循环功能的。。。参考 https://github.com/cloudwu/skynet/wiki/DebugConsole,我滚去测试一下。。。