摘要: 今天想实现个小功能:战斗结束时,后台先立即退房间 退房间逻辑包含了:所有人退光后,销毁房间 销毁房间,会同步销毁GameWorld 在OnPlayerDie回调中加了一句代码,导致连续出现四处宕机bug~太牛逼了 Bug分属四处不同模块 均是同种原因:遍历中途,删元素,上层持有的引用失效 很好修复, 阅读全文
posted @ 2021-06-10 17:55 *蚂蚁* 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 昨晚敲代码时突然想到,为什么ECS架构能降低复杂度 比如之前老出问题的死亡流程: 、战斗系统的Loop里,扣血空了 、调Death接口 、调统计计算 、外部注册的战斗结束回调 很可能Death的逻辑流牵扯很远,同“外部战斗回调”互斥了 代码层级很难察觉到这类冲突 为什么会有这种互斥呢?怎么发生的? 阅读全文
posted @ 2017-07-13 14:32 *蚂蚁* 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 最近哼哧的成果出炉啦,整合之前的c++工具类、网络库、半成品go服务器,http、tcp、udp,前端,后台轮一遍,组合出这套架构,一套完整解决方案哟,基础的启动、登录、数据库相关全实现了。有三个比较满意的地方:一、消息通信全被封装成了rpc形式,且无需手动注册,只要在枚举处声明并添加同名rpc_f 阅读全文
posted @ 2017-04-23 00:39 *蚂蚁* 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 昨天服务器宕机,打印出的日志非常诡异,宕在纯虚函数调用处。 日志显示,战斗对象的虚函数调用,前几次正常,某个时刻过后“丧失多态”了,直接调到父类虚函数处,引发纯虚函数宕机。 且win平台下运行正常,上linux必跪,老项目linux工具不全,debug版本都编不出来,只有Log;windows下还复 阅读全文
posted @ 2017-01-22 20:59 *蚂蚁* 阅读(1974) 评论(1) 推荐(0) 编辑
摘要: 前几天完善网络模块,把网络IO层接收到的数据转到主逻辑线程,自然用到消息队列+内存池。 那会便想实现一个分级内存池,用以适配不同的消息大小,节省内存占用。 今天抽空写完、测试,顺带纠出个内存池的手残Bug,爆池复用才会触发,自己的小玩意没严格测试,一直没碰到("▔□▔) 加上今天这个,总共有四种内存 阅读全文
posted @ 2016-12-15 01:04 *蚂蚁* 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 老早之前就听说时间轮算法特别高效,Linux内核都用的它,这两天抽空实现了遍……嗯,被差一bug搞死(~ ̄▽ ̄~) 啊哈 网上扣来的图,原理好懂:轮子里的每格代表一小段时间(精度),连起来就能表示时间点了(我去年买了个表),格子内含链表,中存回调函数;时间指针每次转动一格,指向某格时,取出链表里的回 阅读全文
posted @ 2016-11-14 22:43 *蚂蚁* 阅读(2121) 评论(0) 推荐(0) 编辑
摘要: 做任务单用go实现了异步日志,计划c++化练练手。本以为分分钟搞定的事,结果debug到凌晨两点/(ㄒoㄒ)/~~ 第一版关键代码如下: 共有五处Bug哟~ 用std::thread做成员,初始化列表指定子线程启动函数,该函数访问资源时,可能都没初始化好(ctor中调度出去了) Stop逻辑是后添加 阅读全文
posted @ 2016-08-26 16:20 *蚂蚁* 阅读(482) 评论(2) 推荐(0) 编辑
摘要: 用过的语言按时序算:c++、lua(粗浅脚本)、erlang、c#(unity)、lua、go。印象最深的是erlang,因为特别吃亏,嗯。 那会连多线程、多进程都不怎么了解,虽然看了erlang的进程通信模型,mail_box、gen_server原理,但不理解什么时候要它们。还有递归为主的编码方 阅读全文
posted @ 2016-08-25 18:23 *蚂蚁* 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 看项目的tcp通信模块时跟同事的偶然讨论,意外拉出来好几样东西,体验非常棒,记录下来~( ̄0  ̄)y 周梦飞 12:08:27 周梦飞 12:08:27 我们的tcp网络直接用的conn,之前在看别人项目里见到有用bufio.Reader优化的 张明 12:13:45 张明 12:13:45 io. 阅读全文
posted @ 2016-08-11 10:40 *蚂蚁* 阅读(828) 评论(0) 推荐(0) 编辑
摘要: 【c++端游】 第一个接触的游戏项目,MMORPG,虽说MMORPG有蛮高的技术门槛,但那会大多在写逻辑,很少深入底层,所以收获有限。 win平台的,整体看分了三层:HomeServer、GameServer、四个DB进程(AccountDB、CharDB、LogDB、MailDB)。HomeSer 阅读全文
posted @ 2016-08-10 21:25 *蚂蚁* 阅读(425) 评论(0) 推荐(0) 编辑