antsmallant

网络游戏同步技术三:拓展阅读

网上有很多很多网络游戏同步技术相关的文章,基本上都是不靠谱的,下面推荐一些我阅读过,筛选出来的写的很不错的文章,供参考。 韦易笑对于网络同步有深入研究: 关于 “帧同步” 说法的历史由来 再谈网游同步技术 服务端十二小时(百度网盘提取码:2j9b) 帧锁定同步算法 帧同步游戏中使用 Run-Ahead 隐藏输入延迟 影子跟随算法(2007年老文一篇) ...

网络游戏同步技术二:状态同步的优化与实现

本文讲一讲 “状态同步” 的优化手段。 1. 优化手段 1.1 客户端预测回滚 (client-side predition and rollback) 客户端预测是为了更及时的反馈,如果玩家自己的每一个动作都要等待服务器的回应才执行,那么会严重受到延迟的影响,体验很糟糕,所以一般都会采取客户端预测,即客户端先行,客户端在把 input 发给服务器的同时,自己先执行动作,待等到服务...

读书笔记:《认知觉醒》

周岭的《认知觉醒》,文笔并不好,从原创性上讲更不好,几乎就是从别的书上摘抄的观点,加上一些自己的理解,大体上来说,观点主要来自《原则》和《刻意练习》这两本书。 但我读完,还是收获很多,大概相当于周岭读了很多书,然后把一些心得感受说给我听,而且他的境遇让我产生共鸣,所以读起来有更深的感受。 1. 要点 2. 感受 学习应该是有输入&输出的,输出特别重要,...

网络游戏同步技术一:分类及差异

网游中的网络同步技术已经被研究很长时间了,有不少文章都在探讨这项技术,在拜读了一系列文章之后,打算自己做一次归纳总结。 游戏中的网络同步相对于普通互联网应用更复杂很多,因为它要实现的不单是数据上的同步,还有表现上的同步,另外,高互动需求导致对于延迟极其敏感,可以说,游戏中的网络同步的大部分优化都是在于延迟对抗。 这项技术发展至今,大体上可以归类为三种做法,分别是 Deterministi...

MySQL 笔记:MySQL 在游戏中的使用

数据库在游戏后端开发中,是一个比较重要的部分,如果缺乏基本的常识,将导致灾难性的后果。所以,本文将写一写游戏开发中需要知道的数据库常识。 游戏行业,用得多的数据库无非就这几种:mysql, mongodb, redis。恰好这几种都用过,可以讲一讲。 从更大的角度讲就是存储了,还包括 etcd,运行日志,流水日志等等,但本文不打算外延,到时再另写一篇讲一讲广义上的存储。日志类存储很值得讲...

读书笔记:《自控力:斯坦福大学广受欢迎的心理学课程》

作者是凯利·麦格尼格尔。这本书从科学的角度解释了自控力,或者说意志力相关的知识,帮助人们提高自控力。全书9大章,每一章都破除一个关于自控力的误区。 1. 要点 我要做、我不要、我想要 现代人大脑里的前额皮质是让人选择做更难的事情。它分成三大部分,分别控制 “我要做”,“我不要”,“我想要” 这三类事情,当一个人丧失前额皮质后,也就失去了“要做”,“不要”,“想要”的力量。 当...

读书笔记:《当下的力量》

英文名是《The Power Of Now》,作者是埃克哈特.托利,出版于 1997 年[1]。 作为一个心灵导师,他的目标是帮助人们 “生活在一个没有痛苦,没有焦虑,没有神经质的状态中”[2]。他指出,真正让我们感到痛苦的不是外部,而是内部,是我们的大脑在制造痛苦,而我们认同了大脑,认为大脑就是自己。 这本书与瑞.达利欧的《原则》有些相通之处,如果按《原则》的方式来写,这本书也可以处理...

C++ 笔记:Memory Model

本文记录 Memory Model 相关的要点。这一块的内容挺复杂的,它有两个层面上的定义:编程语言和计算机体系结构,要搞清楚并不容易。 对于理解复杂事物或概念,我的经验是,尽量找权威的、体系化论述的材料来看,不要随便找到一些博客文章就开始研究,它们只能作为索引,帮你找到真正权威的材料。很多博客文章的作者其实没有理解到位或理解全面,往往只会误导人,或者使概念更难以理解。 权威的材料有时候...

游戏服务器笔记:aoi

记录一下 aoi 的 一些常识。 几个常规算法:九宫格、灯塔法、十字链表。 1. aoi 算法 aoi 最基本的做法是,每个实体维护一个视野列表,里面存放自己视野范围内的实体,实体的进入、离开、移动,都会造成各个实体的视野列表里的元素变更。 而视野列表的作用,就是当实体有属性变化或发生动作时,可以只通知视野列表里的实体。 而根据算法的不同,视野列表有可能挂在实体身上,也可能不挂...

lua 笔记:gc 算法

本文只是半成品,还未最终完稿,请谨慎阅读。 这是我研究 lua gc 算法的一篇笔记,虽然网上可以找到很多分析文章,但写下自己的理解是很有必要的。本文涉及的 lua 版本从 5.0 到 5.4,主要内容包括:设计与实现、使用上的注意事项、一些问题的解决办法。 很多时候,想查证 lua 的一些细节,最快的方式不是在网上搜索别人的文章,而是自己去看它的源码,它的源码足够的简短小巧,阅读起...