自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

游戏人生的专栏

淡泊以明志,宁静而致远

  • 博客(214)
  • 收藏
  • 关注

原创 ​​鹅厂开源框架tars之日志服务

tars开源框架地址:https://github.com/Tencent/Tars系列文章:鹅厂开源框架tars之日志服务鹅厂开源框架tars之运营监控服务鹅厂开源框架tars之基础组件鹅厂开源框架tars之网络层实现简介:Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持...

2019-01-21 18:06:11 1701 1

原创 鹅厂开源框架tars之运营监控服务

tars开源框架地址:https://github.com/Tencent/Tars系列文章:鹅厂开源框架tars之日志服务鹅厂开源框架tars之运营监控服务鹅厂开源框架tars之基础组件鹅厂开源框架tars之网络层实现简介:Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C...

2018-10-18 21:03:13 1448 2

原创 鹅厂开源框架tars之基础组件

tars开源框架地址:https://github.com/Tencent/Tars系列文章:鹅厂开源框架tars之日志服务鹅厂开源框架tars之运营监控服务鹅厂开源框架tars之基础组件鹅厂开源框架tars之网络层实现简介:Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C...

2018-09-22 21:56:04 2012

原创 鹅厂开源框架tars之网络层实现

tars开源框架地址:https://github.com/Tencent/Tars系列文章:鹅厂开源框架tars之日志服务鹅厂开源框架tars之运营监控服务鹅厂开源框架tars之基础组件鹅厂开源框架tars之网络层实现简介:Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目...

2018-09-02 10:10:03 3152

原创 MMO即时战斗:技能实现

一、前言      基本所有MMO游戏无论是回合制、策略类、即时战斗等等类型都需要有相应的技能系统,所以技能系统有一定的通用性和可复用性,但每种类型的游戏也会有自己的特点,不过万变不离其宗,本文结合自己参与开发并在公网运营两年以上的两款游戏,分别为一款SLG策略游戏和一款即时战斗类游戏,阐述下技能系统的实现方法,方法并不是最优的,但已经实现并经过外网运营几年时间的检验,相信

2014-11-30 21:50:19 9435 2

原创 MMO即时战斗:地图角色同步管理和防作弊实现

一、前言      无论是端游、页游、手游如果是采用了MMO即时战斗游戏模式,基本都会遇到同屏多角色实时移动、释放技能、战斗等场景,于是自然也需要实现如何管理同屏内各种角色的信息同步:例如角色的位置、以及角色身上的装备、时装、buffer等状态的实时切换。同步在网络游戏中是非常重要的,它保证了每个玩家在屏幕上看到的东西大体是一样的,解决同步问题的最简单的方法就是把每个玩家的

2014-11-23 20:22:08 13587 4

原创 新开“游戏体验”专栏

gameres看到游戏业内一位人士的采访感觉说得很不错:从事这个行业主要的根本动力还是源自于热爱游戏本身,除了养家糊口之外。虽然自己做技术出身,但本身还是热爱游戏,关注提升技术的同时应该有一些自己对游戏的理解和体会。于是决定之后在这里把游戏相关的体验和心得做下总结和沉淀第一篇先谈谈:个人目前比较喜欢的游戏类型第一位肯定是MOBA游戏,现在开发的也是这类型游戏MOBA游戏:乔布斯的一句话,flower your heart,还记得08年沉迷于mmorpg的年代,后期心理其实已经比较...

2022-04-23 12:12:59 1610

转载 【转帖】stl sort排序

前几天阿里电话一面,被问到STL中sort函数的实现。以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不对劲,知道自己回答错了。这几天特意看了一下,在此记录。函数声明#include <algorithm> template< class RandomIt >void sort( RandomIt first...

2018-12-09 10:19:14 386 1

转载 【转帖】二次元游戏成下一风口,成功入局需要注意什么?

2018年1-6月,中国游戏市场实际销售收入达到1050亿元,同比增长5.2%,这创下了近十年同期数据的新低。中国游戏市场增长放缓,玩家规模到达天花板。与此同时,大厂的流量集中度越来越高,畅销榜常年被腾讯、网易霸屏。但在最近的畅销榜上,除了腾讯、网易的产品外,几乎全都是二次元游戏。这一情况在免费榜上也十分突出。事实上,在中国游戏市场增长放缓,流量日趋集中的背景下,很...

2018-09-13 21:04:44 435

转载 能力成长模型

最近看了温伯格1986年出版的《技术领导之路》, 很老的书,讲的都是一些浅显但容易被忽视的道理, 就像第一章,讲作者自己玩弹子球的水平提升, 时间长了,以为自己的水平提升像下图这样,每年都在逐步提升:  而实际上往往不是,能力的提升过程通常都是“高原-突破”式的, 在高原时期沉淀和思考,在学会新方法后突破, 不善于思考和总结的人,高原期就会特别长,而且人在高原期总会觉得很安逸:  并且在突破前一般...

2018-05-22 10:53:46 594

转载 动态规划:求最长公共子串/最长公共子序列

最长公共子序列和最长公共子串区别最长公共子串(Longest Common Substring)与最长公共子序列(Longest Common Subsequence)的区别: 子串要求在原字符串中是连续的,而子序列则只需保持相对顺序一致,并不要求连续。例如X = {a, Q, 1, 1}; Y = {a, 1, 1, d, f}那么,{a, 1, 1}是X和Y的最长公共子序列,但不是它们的最长公...

2018-05-14 15:37:49 2895 2

转载 帧同步在竞技类网络游戏中的应用

帧同步在网上可以搜的资料比较少,关于游戏的更是没有,不过,实现的原理也比较简单,最近几天就写了份关于帧同步的文档,当作给同事扫扫盲,顺便也在这里发发,可以给其他人参考参考                                                                 -- by Fox帧同步     --竞技类网络游戏设计方案

2016-08-08 19:15:19 870

转载 如何加快C++代码的编译速度

C++代码一直以其运行时的高性能高调面对世人, 但是说起编译速度,却只有低调的份了。比如我现在工作的源代码,哪怕使用Incredibuild调动近百台机子,一个完整的build也需要四个小时,恐怖!!!虽然平时开发一般不需要在本地做完整的build,但编译几个相关的工程就够你等上好一段时间的了(老外管这个叫monkey around,相当形象)。想想若干年在一台单核2.8GHZ上工作时的场景 -

2016-06-09 11:12:08 707

转载 Linux查看机器负载

负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。如果机器负载过高,那么对机器的操作将难以进行。Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。查看服务器负载有多种命令,w或者uptime都可以直接展示负载,$ uptime12:20:30 up 44 days, 21:46

2016-04-03 14:41:21 586

转载 Valgrind使用说明

Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,是公认的最接近Purify的产品,它包含一个内核——一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务——调试,分析,或测试等。Valgrind可以检测内存泄漏和内存越界,还可以分析cache的使用等,灵活轻巧而又强大。    一 Valgrind概观Valgrind的最新版是3.2.3,该版本包含下

2016-03-15 14:41:08 503

转载 十大算法,让你轻松进阶高手

算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and c

2015-12-01 17:06:09 704

转载 TED创业的要素

2015-11-30 18:58:29 582

转载 程序员的核心竞争力是什么

我们都知道学习能力很重要,那么学习能力从何而来,除了去看书上课这种,如何在实践工作中学习成长?我之前微博说了一个笼统的概念,什么是能力? 对待问题的态度,以及处理问题的思路和方法。先说态度你服务器偶尔出 501 错误,也许比例不高(知乎也出现过很多次),很多程序员,没错,是很多,假装看不见,不在乎,或者归咎于人品问题。 这就是态度问题。再往后,负载高了或者其他什么原

2015-11-20 20:05:55 725 1

转载 Muduo源码阅读

最近简单读了下muduo的源码,本文对其主要实现/结构简单总结下。muduo的主要源码位于net文件夹下,base文件夹是一些基础代码,不影响理解网络部分的实现。muduo主要类包括:EventLoopChannelPollerTcpConnectionTcpClientTcpServerConnectorAcceptorEventLoopThreadEventLoopThread

2015-08-26 20:10:55 906

转载 16年的长度 记录中国独立游戏

文/罗培羽  每一个游戏都是梦想与智慧的结晶。  “独立游戏”是近几年才流行起来的词,而“自己制作的游戏”来源已久。从十多年前程序员写的小玩儿,到如今使用游戏引擎开发的炫酷产品,中间穿插着技术的不断变革。那些有幸在浪潮中留下印记的人们,他们的故事见证了我国独立游戏的发展历程。  第一位独立制作者已无从可考。在互联网普及之前,即使成功完成游戏作品,也缺乏途径将之传播给大众。许

2015-04-05 13:56:26 2097

转载 玩转Protocol Buffers

1. 人人都爱Protocol Buffers1.1 Protocol Buffers(PB)是什么?Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but small

2015-04-03 20:30:41 1447

转载 nginx 反向代理 504 错误

之前的代理服务器Nginx 配置是这样的server { listen 80; server_name *.*; location / { proxy_pass http://192.168.0.100:8001; proxy_set_header host $host;

2015-03-24 19:46:55 3830

转载 【IT名人堂】专访腾讯资深运维专家:QQ与微信架构的惊天秘密

新年一到,支付宝微信红包大战硝烟再起,阿里腾讯为抢地狂烧钱,QQ、微信朋友圈红包满天飞,着实让大家玩得不亦乐乎。社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信

2015-03-03 14:04:05 1718

原创 屌丝程序员游戏从业8年之路

刚过完新年,蓦然回首,那个人并没有在灯火阑珊处,只是想起自己已经在网络游戏这个行业摸爬滚打了将近8个年头,8年艰苦的抗战把日本鬼子打回老家去了,但对于我8年时间过去了,在这个风生水起,造就无数富翁的行业,我并没有成为高富帅,依然还是屌丝一枚,唯一可以显摆一下的可能是这8年来虽然换过几份工作,但并没有离开过游戏行业,这期间分别领过这些公司的工资:广州梦境-完美时空-创业公司-腾讯。

2015-02-26 17:51:27 1303 2

转载 Nginx负载均衡

Nginx负载均衡最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大..nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因

2014-12-05 19:44:46 924

原创 屌丝程序员走过的第一个十年

终于迎来工作第一个十年了,04年还没毕业出来实习,

2014-11-17 00:35:13 3289 14

转载 对libevent+多线程服务器模型的C++封装类

最近在看memcached的源码,觉得它那种libevent+多线程的服务器模型真的很不错,我将这个模型封装成一个C++类,根据我的简单测试,这个模型的效率真的很不错,欢迎大家试用。这个类的使用方法很简单(缺点是不太灵活),只要派生一个类,根据需要重写以下这几个虚函数就行了://新建连接成功后,会调用该函数virtual void ConnectionEvent(Conn *conn

2014-08-17 17:04:21 11578 3

转载 总结libevent安装方法

1.先用:ls -al /usr/lib | grep libevent  查看是否已安装,如果已安装且版本低于1.3,则先通过:rpm -e libevent —nodeps 进行卸载。 2.下载libevent安装包:libevent-1.4.13-stable.tar.gz,然后解压。 3.切换到解压后的 libevent 主目录:cd libevent-

2014-08-02 13:06:54 5198

转载 C++ 协程与网络编程

协程协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态。协程可以在运行期间的某个点上暂停执行,并在恢复运行时从暂停的点上继续执行。 协程已经被证明是一种非常有用的程序组件,不仅被python、lua、ruby等脚本语言广泛采用,而且被新一代面向多核的编程语言如golang rust-lang等采用作为并发的基本单位。 协

2014-05-15 17:02:30 1042

原创 游戏脚本使用经验记录

使用脚本的作用和目的:使用脚本的作用主要就是可以让游戏程序,从各种繁琐重复的游戏逻辑里面解放出来。简单举个例子:一个副本关卡,怪物应该怎么走路,说什么话,放什么技能。这些只要提供了相应的接口之后,就可

2014-04-22 16:47:34 1949 1

原创 回顾2012与2013TODO

2012最后一天,没在公司吃晚饭,7点多从公司上高架一路开回家,听到105.7在举行一个说出2012遗憾或者未来展望的观众互动活动。于是想起自己也应该写点什么,记录下比较复杂的2012年。       回顾:12年感触最深的是创业失败。游戏忙忙碌碌忙活了一年多,结果比较杯具,有点点遗憾。当然失败的原因比较多,好在创业的过程学到了一些东西。从大公司出来创业,背后没有靠山要独挡一面,同时也暴露出来

2012-12-31 23:53:24 862

转载 使用阿里云云服务器一年多的感受

一年多之前,也就11年5月份的样子,阿里云云服务器产品线终于上线了。但那时候,国内完全没有能称得上云服务器的,很多小公司就是搞个VPS就叫云服务器了。以至于阿里云云服务器刚出来的时候,很多站长也是这么说的。那会儿我国外的虚拟主机也即将到期,而且国外访问速度确实要差不少。所以当时咬咬牙,狠下心来花了1999元买了一台(即现在的标准A,已经涨价了,呵呵,目前是3999元一年,当时有很多人很聪明,续费了

2012-11-03 15:26:52 11157 2

原创 美国往事杂感

昨晚熬夜看了《美国往事》,之前看过零碎的片段,没有从头到尾完整观摩过!再次观影另有一番滋味。影片讲述了男主角从童年到青年再到中老年,几乎包含了所有人生的百态:友情,爱情。影片触动我的地方有许多。       先谈谈友情。人的一生只有一次,所以陪伴你从小玩到大的童年好友确实太难得,甚至许多人根本就没有发小或者成年后早就不联系了。其实出来工作之后,也接触到许许多多人,但确很难交到挚友,因为人一般只

2012-10-22 12:43:15 1083

转载 IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)

当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到

2012-09-15 10:57:14 733

转载 io阻塞与io非阻塞之杂谈

handscup: 这里要注意,其实非阻塞IO和异步IO的概念一样,此文所说的异步/异步,指的是线程,且不完全正确。正确的要看 http://en.wikipedia.org/wiki/Asynchronous_I/O-----------------------同步与异步IO、阻塞与非阻塞IO很多时候我们常常看到同步与异步,阻塞与非阻塞的出现。有的地方直接将同步与

2012-09-04 16:33:48 657

原创 游戏项目开发经验分享

下周参与开发的第三款MMORPG准备上市了,开发了一年左右,前面感觉拼得有点太过了,心身比较疲惫,总结下是太过于急于求成了。近两个月进行了一些调整,感觉状态和开发效率有所提升,在3人的服务器团队的努力下,完成了一些功能并且稳定性还可以。归结下来大概比较有用有几方面。第一,坚持劳逸结合.无论项目有多急,量有多大,难度有多高,都必须保持健康的身体和良好的精神状态,是项目高效开发的最重要前提。游

2012-08-24 23:58:00 2177

转载 进程间的通信-FIFO

一、前言         管道分为有名管道和无名管道。无名管道只能用于有亲系关系的进程间通信,即只能在父进程与子进程或兄弟进程间通信。有名管道可以用于任何进程间通信。管道有半双工,即在某一时刻只能有一个进程向管道里读或写。管道是Unix系统IPC中最古老的的形式,管道有下面两种局限性:1)   历史上它们是半双工的(即数据只能在一个方向上流动);2)   它们只能在具有公共祖先

2012-08-21 13:34:59 1472

转载 我不投资的九种企业

9)经过反复论证找不到商业模式的项目我不投;8)不会用微信的创始人创办的企业我不投;7)跟移动互联网没有任何关系的项目我不投;6)为了赚钱而赚钱的创业团队我不投;5)没有任何社会价值的项目我不投;4)核心团队有“商业道德瑕疵”的我不投;3)核心团队没有承担任何风险的我不投;2)核心团队还在兼职的项目我不投;1)只有一个人的“团队”我不

2012-07-26 11:40:57 1413

转载 如何:针对 64 位平台配置 Visual C++ 项目

本主题介绍如何使用 Visual Studio 集成开发环境 (IDE) 中提供的项目配置将 C++ 应用程序设置为面向 64 位平台。若要开发 64 位应用程序,必须至少安装两个 Visual C++ 64 位编译器中的一个,否则 64 位项目配置将无法在 IDE 中使用。 有关信息,请参见 Installing Visual Studio 64-bit Components。

2012-07-24 17:08:58 1154

转载 线程栈空间的大小

一直做Windows服务器向Linux平台的移植工作,对于线程的栈空间也是似懂非懂,因而出现了一些问题和总结了部分经验,供大家分享。在我的服务器上启动了286个线程后,其后的线程启动失败了,返回的错误原因是12,经查找定义如下:#define   ENOMEM        12    /* Out of memory */看来创建线程失败的原因是分配内存失败,同时进程占用的V

2012-06-08 14:47:26 13370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除