May 13, 2016

代理服务和过载保护

在 skynet 中,有时候为一个服务实现一个前置的代理服务是很有必要的。

比如,你希望对这个服务发起的请求是支持超时的,就不必在功能实现的服务中实现,那样会增加无谓的复杂性。你可以在功能实现的服务前加一个代理服务,当超时发生时,通知请求方。关于这个实现,我在 blog 中给过一个示例

同理,当你需要做一些负载均衡的处理的时候,也可以做一个代理服务,让请求分摊到多个可以完成类似功能的服务中去,实现比较简单,本文就不展开了。

今天想谈一下怎么利用代理服务更好的为一些热点服务提供过载保护。

阅读全文 "代理服务和过载保护" »

May 07, 2016

skynet 服务的沙盒保护

昨天我们新的 MMO 游戏第一次上线小规模测试,暴露了一些问题。

服务器在开服 3 小时后,突然内存暴涨,CPU 占用率提升不多。当时 SA 已经收到报警邮件,但刚巧在午餐时间,而游戏功能还正常,耽误了半个小时。处理不够及时,导致在最终没有能收集到足够在线数据前,服务器已不能正常操作。另外,忘记配置 core dump 文件输出是另一个原因。

在最后几分钟,我们收集到一些信息:某个 lua 服务陷入 C 代码中的死循环,在 skynet 控制台发 signal 无法中断它(skynet 的 signal 可以中断 lua vm 的运行 )。从 log 分析,内存暴涨是突发的,几乎在一瞬间吃光了所有内存,而并非累积。

第一次宕机后,迅速重启了服务器。同时在内网又同步运行了机器人压力测试,但是无论是外网环境和内网环境均无法重现故障。

阅读全文 "skynet 服务的沙盒保护" »

April 30, 2016

有创意必须实现出来才有意义

这两天在一个游戏设计论坛潜水,读了很多帖子,感觉挺有收获的。

尤其是有一贴,楼主贴了一长篇他的 idea ,应当是想了很久的,算是比较完整,只差动手了。按他的说法,想先在论坛上收集一些反馈。这个论坛聚集了许多核心玩家,和相当数量的游戏开发者,按道理说,他找对地方了。

可是,在下面的回帖中,某人对此作了严厉的批评。

阅读全文 "有创意必须实现出来才有意义" »

April 16, 2016

暴击英雄上架了

不知道这个 blog 的读者中还有多少记得我们承诺要出的单机游戏《暴击英雄》。他终于上架了。

点上图可以去 steam 商店看看,目前首发 7.9 折,30 人民币,如果你读完商店页面下面的好评和差评后,觉得你或许会喜欢这个游戏,那么欢迎你支持我们一下。

ps. 如果你希望用支付宝,可以去衫果买。只不过在衫果买的话,不喜欢不能退款。


按原来的计划,这款游戏应该是在 2015 年底完成的,作为试水产品在 steam 上发售。结果,不出意料的跳票了。开发期整整延长了半年,原因自然是对游戏一直不满意。至于现在的版本,依旧不满意,所以目前还是 Early Access 阶段,接下来两个月会想办法修改已知的问题,希望可以做得好一点点。

至于为什么没有在完全满意后再发布,是因为如果一直这么做下去而不获得真正玩家的反馈,就改成无底洞了。很多内部意见争议也很大,不被玩家骂几句,大家是没那么大动力改的。

阅读全文 "暴击英雄上架了" »

April 14, 2016

排行榜奖金的发放方法

最近有数据显示,我们的游戏《流星庄园》有玩家利用规则漏洞,通过排行榜奖励刷钻石。

我问了一下设计人员一些细节,感觉现在的规则设计是很有问题的。下面记录一下我的想法,和一些改进建议。

排行榜奖励问题不只在我们这样特定的游戏中有,现在几乎所有的 pay2win 游戏都会涉及到。我们最初的规则是,每周为排名前列的公会按名次发放一定的钻石奖励,鼓励大公会竞争,促进消费。

后来,有玩家反应,如果公会无法排在前列,就没有动力竞争了。所以又加了补充规则,如果公会排名又提升,也有相应的奖励。

阅读全文 "排行榜奖金的发放方法" »

April 12, 2016

lua 常量表优化

今天花了一天尝试给 lua vm 做了一点优化:

现在 lua 的函数原型里保留有一张常量表,引用了 string ,number ,nil ,boolean 类型的常量。

table 是不能为常量的,所以当你想迭代一个常量数组的时候,

for _, v in ipairs { "one", "two", "three" } do

其实每次都会临时构建一张表,并依次插入 "one", "two", "three" 。

或者你想返回一个常量构成的表:

function foo()
  return { x=1, y=2 }
end

每次 foo 函数都会为返回值重新构建 table 。

阅读全文 "lua 常量表优化" »

April 11, 2016

我需要一个怎样的中文输入法

不堪被 windows 升级弹窗骚扰,终于升到了 windows 10 。最不能忍受的是新的中文输入法,之前用的智能 ABC 已经完全不能用了。btw, 我爹他老人家就是因为没有 ABC 完全输入不了汉字,又重装了系统,退回 windows 7 去了。我没那么能折腾,所以还是想别的招。

很多年前我就写过,为什么我需要 智能 ABC ,到今天观点还是没有变。我听说 QQ 拼音加入了 ABC 模式,其实就是加了 5 个笔画,它并没有理解 ABC 为什么那样设计,所以做的并不好。

并不是说 ABC 设计的多完美,如果我来设计我期望的中文输入法,肯定有很多想法和 ABC 的设计不同。但是其核心是一样的:那就是,赋予每个汉字更多的编码形式,结合词(不是句子)尽可能的减少重码。

阅读全文 "我需要一个怎样的中文输入法" »

Misc

Categories

Archives

Recent Comments