上一页 1 ··· 6 7 8 9 10

2012年8月21日

摘要: 游戏服务器的设计是一项颇有挑战性的工作,游戏服务器的发展也由以前的单服结构转变为多服机构,甚至出现了bigworld引擎的分布式解决方案,最近了解到Unreal的服务器解决方案atlas也是基于集群的方式。负载均衡是一个很复杂的课题,这里暂不谈bigworld和atlas的这类服务器的设计,更多的是基于功能和场景划分服务器结构。首先说一下思路,服务器划分基于以下原则:1:分离游戏中占用系统资源(cpu,内存,IO等)较多的功能,独立成服务器2:在同一服务器架构下的不同游戏,应尽可能的复用某些服务器(进程级别的复用)3:以多线程并发的编程方式适应多核处理器。4:宁可在服务器之间多复制数据,也要保 阅读全文
posted @ 2012-08-21 13:04 DieAngel 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 1 登录状态定义//登录状态enum PLAYER_LOGIN_STATUS{LOGIN_DEBUG_SETTING, //!GetAs_Int(“GameServer_ConnectDirect”) == 1){//直接切换到Change-Server流程CGameProcedure::SetActiveProc((CGameProcedure*)CGameProcedure::s_pProcChangeScene);return;}//— for debugbreak;}case LOGIN_DISCONNECT:{s_pGfxSystem->PushDebugStr... 阅读全文
posted @ 2012-08-21 13:03 DieAngel 阅读(541) 评论(0) 推荐(0) 编辑
摘要: VariableSystem是天龙的全局变量系统,使用的最大好处除了可以统一保存在文件中外,还可以统一管理全局变量,防止全局变量满天非的问题。实现方式:一变量定义structVARIABLE{STRINGvValue;//变量值BOOLbTemp;//临时变量};#ifdef__SGI_STL_PORTtypedefstd::hash_mapVARIABLE_MAP;#elsetypedefstdext::hash_mapVARIABLE_MAP;#endif可见变量是放在hash里面的,这样可以加快查找二 变量保存//当前保存的变量VARIABLE_MAPm_mapCurrent;//游戏退 阅读全文
posted @ 2012-08-21 13:02 DieAngel 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一 角色选择流程开始可能的一种情况是,客户端接到服务器发送的包(LCRetCharList)开始的,这个包里面有玩家角色的个数等信息UINT LCRetCharListHandler::Execute(LCRetCharList* pPacket, Player* pPlayer ){__ENTER_FUNCTIONif(pPacket&&(pPacket->GetResult() == ASKCHARLIST_SUCCESS)){int iCharacterCount = pPacket->GetCharNumber();// 保存角色的个数CGameProced 阅读全文
posted @ 2012-08-21 13:01 DieAngel 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 天龙八部(武侠世界)的源码很可能是天龙八部代码流出后改写的,因为在看了代码中可以找到一些证据,整个客户端分为:一个是编辑器,一个是客户端,采用OGRE+cegui+自写的简单的物理碰撞检测+FMOD+自写的网络库。服务器端代码目前没仔细关注客户端总体的描述如下:UI系统 CEGUI UI基础系统CEGUI渲染器Expat XML解析器 CEGUI依赖,估计编写者不喜欢用FreeType2 跨平台、开源的字体渲染器 用于绘制中文脚本 luaPlus3D显示引擎Ogre开源的高效渲染引擎 最新的OGRE是1.7.2碰撞检测 Opcode 开源,占用内存少 其他可考虑使用bullet,ODE或者其他 阅读全文
posted @ 2012-08-21 12:59 DieAngel 阅读(573) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10

导航