H2engine的GitHub星星不知不觉已经破百了,也没有特意推广过,但是慢慢的关注的人越来越多.因为事情多,好久没有写东西了,前一段时间有了一些想法,把h2engine又更新了一下,感觉h2engine又向前迈了一大步.本文记录一下最近的心得体会,以及做出的相应修改. 关于RPC H2engine的rpc部分使用的是原来fflib的ffrpc组件,ffrpc设计的比较强大,但是因为h2engie的架构特点,ffrpc的一些功能用不到,很多网友都询问我关于rpc部分的设计问题,我仔细思考后觉得…
前几天写了<开源分享 Unity3d客户端与C#分布式服务端游戏框架>,受到很多人关注,QQ群几天就加了80多个人.开源这个框架的主要目的也是分享自己设计ET的一些想法,所以我准备写一系列的文章,介绍下自己的思路跟设计,每篇一个主题,这次介绍的是组件设计. 在代码复用和组织数据方面,面向对象可能是大家第一反应.面向对象三大特性继承,封装,多态,在一定程度上能解决不少代码复用,数据复用的问题.不过面向对象不是万能的,它也有极大的缺陷: 1. 数据结构耦合性极强 一旦父类中增加或删除某个字段,可能…
以下只是某次项目的一次经历,最终并没有按照这样的方案来优化,但对思路方面确实是一个提高,所以记录在此. ------------------------------------------------------------------------------------------------------------------- 项目D为单机服务器,据说在线达到1500后,会很卡,于是想仔细分析了其中的原因. 整体来说:C++服务器+mysql数据库,多线程.但是是单服. 请教了前同事,在他…
2013年04月19日 14:09:37 MJiao 阅读数:4614   深入浅出node.js游戏服务器开发1——基础架构与框架介绍   游戏服务器概述 没开发过游戏的人会觉得游戏服务器是很神秘的东西.但事实上它并不比web服务器复杂,无非是给客户端提供网络请求服务,本质上它只是基于长连接的socket服务器.当然在逻辑复杂性.消息量.实时性方面有更高的要求.   游戏服务器是复杂的socket服务器. 如果说web服务器的本质是http服务器,那么游戏服务器的本质就是socket服务器.…
游戏服务器设计之聊天室示例 简介 h2engine引擎建群以后,有热心网友向我反馈,想尝试h2engine但是没有服务器开发经验觉得无从入手,希望我能提供一个简单明了的示例.由于前一段时间工作实在忙碌,一直没有抽出时间好好写一下,后来抽空写了出来,自己从小白开发者的角度重新审视了一遍h2engine,自己也收获匪浅,也优化了部分h2engine的架构,使其更易使用.以前的例子都是c++加脚本的例子,这次写一个纯c++的例子. 开发服务器程序一般有如下几个基本操作: 启动程序,监听网络端口,初始化…
游戏服务器设计之属性管理器 游戏中角色拥有的属性值很多,运营多年的游戏,往往会有很多个成长线,每个属性都有可能被N个成长线模块增减数值.举例当角色戴上武器时候hp+100点,卸下武器时HP-100点,这样加减逻辑只有一处还比较好控制,如果某天有个特殊功能当被某技能攻击时,角色武器会被击落,这样就会出现减数值的操作不止一处.如果逻辑处理不当,比如击落的时候没有恰当的减数值,再次穿戴武器就导致属性值加了两边,也就是玩家经常说的刷属性.这种bug对游戏平衡性影响很大,反响很恶劣,bug又很难被测试发现…
一.追溯 去gameloft笔试,有一个题目是说: 叫你去设计一个FPS(第一人称射击游戏),你是要用TCP呢还是要用UDP,说明理由 . 二.学习 这是两篇网上找到的文章,写非常不错. 当时笔试的时候自己没想到这么全,但大概想法都是一致的,摘录下来再学习一下. 1.网络游戏程序员须知 UDP vs TCP 作者:rellikt@gmail.com 首发链接:http://blog.csdn.net/rellikt/archive/2010/08/21/5829020.aspx 这篇教程让我们就…
FPS游戏服务器设计的问题出处:http://www.byteedu.com/thread-20-1-1.html一.追溯 去gameloft笔试,有一个题目是说: 叫你去设计一个FPS(第一人称射击游戏),你是要用TCP呢还是要用UDP,说明理由 . 二.学习 这是两篇网上找到的文章,写非常不错. 当时笔试的时候自己没想到这么全,但大概想法都是一致的,摘录下来再学习一下. 1.网络游戏程序员须知 UDP vs TCP 作者:rellikt@gmail.com 首发链接:http://blog.…
游戏服务器设计之NPC系统 简介 NPC系统是游戏中非常重要的系统,设计的好坏很大程度上影响游戏的体验.NPC在游戏中有如下作用: 引导玩家体验游戏内容,一般游戏内有很多主线.支线任务,而任务的介绍.接取.领取奖励等操作都是通过NPC的操作,一般会有几个核心NPC,再不停的任务引导中,玩家会对核心npc印象深刻,强化了游戏代入感. 核心功能的展示和操作.游戏大部分功能都会放到游戏主界面,但是全部功能都放进去是不现实的,其他功能则以NPC的方式提供,比如进入某副本的入口等. 一些运营活动,比如道具…
    Erlang最大的优点是方便,很多基础功能都已经集成到Erlang语言中.之前用C++写服务器的时候,管理TCP连接很繁琐,需要写一大堆代码来实现.底层的框架需要写很多代码实现,这样既浪费时间,又会有很多BUG.但是用Erlang就方便多了,底层的一切你都不需要考虑,你只需要考虑,服务器的架构以及业务逻辑.从此让你彻底从底层的泥潭中解脱.我从去年年底开始了解学习Erlang,到现在我已经彻底爱上了Erlang.好了,废话不多说,开始详细介绍下我设计的这个服务器架构吧.     首先看下整…