2021年9月17日

摘要: skynet.call在设计的时候,是没有考虑超时的问题的。云风的解释是,加入之后会使得在其构建的系统增加不必要的复杂度。这个解释也是合理的,但是还是免不了有需求要使用到超时的机制。 举个简单例子,skynet实现的web服务,一些http请求的时候,如果没有超时机制,http请求就会一直占用。 云 阅读全文
posted @ 2021-09-17 00:25 Ron Ngai 阅读(416) 评论(0) 推荐(0) 编辑

2021年8月28日

摘要: 基本原理 将场景区域划分为小格子,然后将玩家的视野统一设定为玩家所在的格子和周边的八个格子。这样在同步的时候就只需要同步九宫格内的数据。为此需要维护玩家进入和离开格子的数据。 基本接口 主要有四个接口,其中进入场景(enter)和场景内移动(move)在这里合并为set接口。 new_area: 新 阅读全文
posted @ 2021-08-28 15:11 Ron Ngai 阅读(457) 评论(0) 推荐(0) 编辑

2021年8月21日

摘要: 内容其实跟以前写的《十字链表的AOI算法实现》一样的,改一个C语言版本。 #include <stdio.h> #include <stdlib.h> #include <math.h> typedef struct DoubleNode { int roleId; int x; int y; st 阅读全文
posted @ 2021-08-21 22:35 Ron Ngai 阅读(209) 评论(0) 推荐(0) 编辑

2021年8月19日

摘要: lua lua_State 结构设计 数据结构 lua的内存结构最主要有三大块,lua_State、 CallInfo、 lua_TValue。 lua_State里面的 stack (栈)是主要的内存结构,类型是 lua_TValue; lua_TValue 主要是Value,是一个 uion,存 阅读全文
posted @ 2021-08-19 19:54 Ron Ngai 阅读(339) 评论(0) 推荐(0) 编辑

2021年8月17日

摘要: -- coroutine.create -- 创建协程 -- coroutine.yield -- 暂停执行 让出执行权 -- coroutine.resume -- 执行协程,继续执行协程 function foo(a) print("foo", a) return coroutine.yield 阅读全文
posted @ 2021-08-17 10:03 Ron Ngai 阅读(39) 评论(0) 推荐(0) 编辑

2021年8月16日

摘要: lua_State 线程相关脚本上下文 主要包括当前脚本环境的运行状态信息,还会有gc相关的信息。 global_State 全局信息 // global_State 的主要字段 typedef struct global_State { stringtable strt; // hash tabl 阅读全文
posted @ 2021-08-16 12:09 Ron Ngai 阅读(470) 评论(0) 推荐(0) 编辑

2019年8月16日

摘要: mysql innodb 的 row size上限 背景 在项目使用中,出现了以下报错: 上面报错,这就涉及到了row size的上限,也有可能会涉及到file format的设置。 一些上限 创建表报错:maximum row size 65535 创建表报错:row size too large 阅读全文
posted @ 2019-08-16 17:23 Ron Ngai 阅读(3224) 评论(0) 推荐(0) 编辑

2018年6月25日

摘要: 0. 背景 服务器框架设计者,如果设计的好,考虑到了这几种情况,无论是对于游戏服务器逻辑清晰度,还是对于写业务逻辑的程序员来说,是非常友好的。游戏服务器业务逻辑写多了,一个游戏策划提出的需求归纳到服务器业务逻辑开发上面,也就无非几种情况需要处理。 1. 业务逻辑模板 下面给出代码模板,无论何种语言开 阅读全文
posted @ 2018-06-25 22:56 Ron Ngai 阅读(2033) 评论(4) 推荐(2) 编辑

2017年10月11日

摘要: 1. 插件扩展 1.1. 命名空间 1.2. 使用语法 语法说明 path 是菜单路径; 一级菜单名称不支持中文 $t 是一个快捷键实例,在路径后面接空格,然后加上快捷键表示,单纯的一个按键快捷键按键字符前带下划线。该项非必需 表示 表示 表示 Is 设置为true的时候,如果没有选中游戏对象,会显 阅读全文
posted @ 2017-10-11 20:15 Ron Ngai 阅读(3133) 评论(0) 推荐(3) 编辑

2017年5月4日

摘要: 本文主要为了方便查阅 1. MonoBehaviour 生命周期 Awake 对象创建的时候调用,类似构造函数 Start 在 之后执行,区别在于,如果组件不可用(在 没有勾选该组件),是不会执行 的 Update 主函数循环每帧调用 FixedUpdate 每次固定帧调用,在物理计算的时候,应该使 阅读全文
posted @ 2017-05-04 20:03 Ron Ngai 阅读(3332) 评论(0) 推荐(0) 编辑

导航