游戏架构之一(转)

RPG游戏经典的系统架构设计 :

bigword 游戏引擎就是使用这种架构,我认识的很多rpg游戏公司的同事也大致采用了这种架构方式。

loginapp : 登陆服务器,主要负责player 的登陆请求,验证player的合法性,为合法的player分配session,与cilent 采用短连接方式,可以有多个loginapp来负载均衡。验证player通过后,loginapp通过baseappmgr找到一个合适的baseapp发送给client。

baseapp: 我们可以叫做网关服务器,有多个来做负载均衡,与client 使用长连接方式,为player分配适合的cellapp,client发送的消息都通过baseapp转发给cellapp,cellapp返回给client的消息也都经过baseapp,充当游戏消息转发的中转站。 baseapp同时负责聊天模块。

cellapp  :  可以叫游戏服务器或地图服务器,多个,负责具体游戏逻辑实现,与player进行游戏交互。

baseappmgr:管理网关服务器,只需要1个,或可以做主从备份方式。负责为player分配baseapp,并记录player所在的baseapp,cellapp踢客时先通知baseappmgr,然后baseappmgr找到对应的baseapp进行踢客。

cellappmgr: 管理游戏服务器,只需要1个,或可以做主从备份方式。负责为player分配合适的cellapp,并对cellapp进行管理。

dbmgr:   数据服务器,所有需要持久的数据,都经过dbmgr与数据库进行交互,dbmgr通过数据缓存,批量事务,本地持久等手段大大提高整体系统性能。对于一般同时在线只有几千的系统dbmgr只需要1个则够,对于超大型系统,玩家超多的系统,则可以使用分区方式,每一个区使用一个dbmgr,系统根据玩家所属的区来选择对应的dbmgr。

revivier: 监视器,可以监视所有服务器的运行状态,如有必要可以对服务器进行启动,关闭等各种管理,其功能可以理解为ice中间件中icegrid架构的icegridnode和 icegridregistry的进程管理功能

MessageLogger/statLogger: 日志服务器,统计服务器, 记录系统的日志,或进行必要的信息收集及统计,此模块视整个系统的必要性,可选。

时间: 2024-10-09 22:29:26

游戏架构之一(转)的相关文章

《游戏架构设计与策划基础》笔记 第一章 游戏策划概述(上)

1.1 什么是游戏策划 游戏的目的就是通过玩来获得娱乐,因此,设计游戏既需要艺术家一样的创造力,也需要工程师一样的精心规划.游戏设计是一门手艺,就像是好莱坞的电影摄像或服装设计一样.一个游戏既含有艺术要素,也含有功能要素:它必须能给人以美的享受,同时又必须能很好地运行,让游戏者享受到快乐.具备这两种特点的游戏才是好的游戏. 1.2 游戏策划的任务 游戏策划根据自己的创作理念,结合市场调研得来的数据,参考其他开发人员的意见和建议,在开发条件允许的基础上,将游戏创意以及游戏内容和规则细化完整,形成策

[笔记]《游戏架构设计与策划基础》第三章 游戏概念及原型设计

概念设计的过程:产生创意.加工创意和创建游戏概念设计文档. 3.1 创意的来源 (1)大胆设想 (2)利用现有的娱乐资源 (3)利用现有的游戏体系 (4)收集创意 3.2 加工创意 (1)合成--需要考虑如何将两个概念融合而成一款游戏,带给玩家新的游戏体验. (2)共鸣--含有协作的意思,它使故事和主题内容对游戏玩家能够产生更加深刻的影响. 3.3 游戏概念设计文档 一般包括以下要素的部分或全部:      标题--游戏的名称.      平台--游戏适合的平台.      种类--游戏的种类.

【转载】U3D 游戏引擎之游戏架构脚本该如何来写

原文:http://tech.ddvip.com/2013-02/1359996528190113.html Unity3D 游戏引擎之游戏架构脚本该如何来写 2013-02-05 00:48:48     发表评论 这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友学会如何更好的写游戏脚本,当然本文这紧紧是我这么多年对游戏开发的认知,你也

U3D 游戏引擎之游戏架构脚本该如何来写

这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友学会如何更好的写游戏脚本,当然本文这紧紧是我这么多年对游戏开发的认知,你也可以有你自己的看法.首先我们看看游戏主要是由哪几部分组成的,如下图所示,任何平台下的任何游戏核心都是由:数据.逻辑.渲染三大部分组成. 当你写过>=2个平台下的游戏时你会发现其实游戏开发很“容易”,为什么“容易”呢?因

游戏架构之二(转)

棋牌类游戏常用架构: 我从事过4年的棋牌类游戏开发,使用过的架构大致如上,各模块解释如下. LoginServer: 登陆服务器,主要负责player 的登陆请求,验证player的合法性,为合法的player分配session,与cilent 采用短连接方式,可以有多个来进行负载均衡.验证player通过后,LoginServer找到一个合适的GateWay发送给client. GateWay: 网关服务器,有多个来做负载均衡,与client 使用长连接方式,client发送的消息都通过Gat

Unity3D心得之游戏架构设计和属性的运用

由于Unity是一个脚本化开发的引擎,所以实现一个具体功能的代码往往非常简短. 我刚开始写的时候总会碰到一个头疼的问题,当游戏变得越来越大,场景内的物体越来越多,各种繁杂的脚本互相交错,最后当需求变更或者发现BUG的时候,我发现有茫茫多的代码需要检查和修改. 关于怎么样来架构Unity3D中的脚本,详细的可以看一下雨松momo的这篇文章 http://www.xuanyusong.com/archives/1851 总结来讲主要是三个点: 1.运用单例脚本来控制一类工作 2.一个脚本不要管和自己

`cocos2dx非完整` 游戏架构缩影 添加启动流程

这期的话题可能不是很好, 我没有想到很好的词句去更好的表达. 我一直都是很固执的认为, 同一类型的游戏,在开发做的前期工作上面其实都是可以复用的,也就是大同小异的.从游戏启动,启动日志,启动检查,检查更新,到进入游戏.这些都是那一套东西,我想把这些东西抽象一下,概括出一个叫做"流程"的概念. 我的想法就是流程是顺序执行的, 就像我喜欢画图,先做什么,然后做什么,做完什么做什么.其实从一款app启动到进入游戏,这之间的过程都是流程化进行的.还有一个很经典的例子,新手引导,其实新手引导就是

游戏架构其九:光线投射和天空 { Raycast and Sky }

光线和天空能够大大增强游戏的画面效果,以下是实现: 1. 光线效果 Raycast #pragma once //======================================================================== // Raycast.h - implements a raycast into the rendered scene //==========================================================

游戏架构其七:音效管理

大型游戏中的音效相对比较复杂,如声音的淡入淡出,爆炸音效,声音的播放进度等.下面就看看一个音效管理系统都有些什么吧-- 1. 音效的基本操作: #pragma once //======================================================================== // Audio.cpp : Defines a simple sound system. 参照: // <a target=_blank href="http://blog