欢迎来到天天文库
浏览记录
ID:38593449
大小:852.50 KB
页数:25页
时间:2019-06-15
《网页游戏架构与开发dr2-经验分享》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、WEBGAME开发经验分享咖啡熊(李黎)qq:31670540email:shangdi12lili@163.com日期:2011-5-28目录引言网页游戏概述网站服务器架构网络游戏服务器架构网页游戏服务器架构服务端事件系统RPG战斗进程游戏时间校对数据库设计引言程序员高级钳工游戏开发的程序员是否要了解游戏相关定义、逻辑。不需要?需要?网页游戏概述何为网页游戏?网页游戏与网络游戏区别?为何会出现网页游戏?网页游戏特征?网页游戏其实就是用浏览器玩的游戏,它不用下载客户端,只要一台能上网的电脑就可以进行游戏。按是否需要下载客户端来划分是否网页游戏。按用户来
2、划分是否网页游戏。较认可定义:基于浏览器,拥有片段游戏时间的用户进行的网络游戏称为网页游戏。下面我们主要针对这类游戏架构与开发进行讨论。网页游戏可以看作是网站和游戏的结合体,因此它具备了这两类系统的特性。我们不但可以把网页游戏看作是一个网站,也可以把它看作是一个网络游戏。网站是B/S结构,网络游戏则是C/S结构,网页游戏则是这两者的结合。网站是B/S结构。MVC思想:浏览器通过HTTP协议发送数据请求,由控制器接受请求,通过路径委托给数据模型处理,模型通过与逻辑层和持久层的交互,把处理结果反馈给控制器,控制器根据结果组装视图,并最终反馈给客户端浏览器。网站
3、服务器架构控制器(Controller)视图(View)模型(Model)逻辑层和持久层1.浏览器请求数据返回浏览器2.委托模型处理3.提交集成模块处理4.集成模块返回处理5.模型返回处理结果6.准备视图7.返回视图网站服务器架构StaticServer、IMServer客户端浏览器网站服务器架构网络游戏服务器架构网络游戏一般采用C/S结构,客户端负责绘制游戏世界的实时画面,服务器端则负责响应所有客户端的连接请求和游戏逻辑处理,并控制所有客户端的画面绘制,客户端与服务器通过网络数据包交互完成每一步游戏逻辑。网关服务器方式,主要职责是将客户端通信和游戏服务器
4、隔离。网关服务器只负责解析数据包、加解密、超时处理、过滤错误包,客户端只需建立和网关服务器的连接即可进入游戏,无需与游戏服务器直接连接。网关服务器分为LoginGate(登录网关服务器)、GameGate(游戏网关服务器)。网络游戏服务器架构1.LoginGate主要负责在玩家登录时维护客户端与LoginServer之间的网络连接与通讯,对LoginServer和客户端的通信数据进行加密、校验。2.LoginServer主要功能验证玩家账号是否合法,并生成一个登录凭证SESSIONKEY。3.GameGate主要负责客户端与GameServer之间网络连接
5、和通讯,对客户端请求和发送数据做简单分析。4.GameServer主要负责游戏逻辑处理,包括战斗系统、任务系统、角色系统、地图系统等。5.DBServer主要负责游戏数据缓存,包括玩家游戏属性数据,降低数据库压力。6.Mserver负责一组服务器中对多台GameServer之间数据转发和广播。7.Mysql负责数据持久化存储。网络游戏服务器架构网络游戏服务器架构服务器使用Linxu系统,NginxWebserver,MySQL数据库,PHPFastCGI环境,PHP做核心功能与逻辑功能开发,聊天和部分实时性功能使用C++。一个游戏区采用1~2台服务器为一组
6、。WebServer、DBServer主从、MemcacheServer、逻辑运算Server,老区节约成本可用1~2台服务器,新区可用2~4台分开架构根据游戏区压力而定。StaticServer做CDN,所有区共用。IMServer所有区共用。网页游戏服务器架构用户通过浏览器访问服务器的时候,首先是访问网页服务器,通过网页服务器,再去访问游戏逻辑层,通知游戏逻辑层执行玩家操作,并从游戏逻辑层里获得游戏数据,或者直接通过访问数据库而获得游戏数据。网页游戏服务器架构网页服务器的特点是触发执行,及当有用户访问网页的时候,才会执行该网页的程序代码。而我们常见的W
7、ebGame实际上是需要24小时不间断执行的,因此网页服务器的执行方式并不适合做游戏。因此我们另外需要一个应用程序来执行这些24小时不间断要做的事情。这也就是我们需要增加游戏服务器设计思路的原因。网页游戏服务器架构客户端浏览器WEB服务器(逻辑运算层)CACHE数据层公共数据库玩家数据库客户端浏览器WEB服务器(逻辑运算层)玩家数据库战斗逻辑运算服务器群服务端事件系统什么是事件系统事件系统是整个WebGame系统里一个核心的组成部分,它控制着游戏的进程,使游戏能够及时执行到期命令。事件是指游戏里玩家的某个活动指令,它可以分为瞬时活动和非瞬时活动。瞬时活动顾
8、名思义就是在玩家发出指令的瞬间就能完成的活动。玩家从NPC里购买一
此文档下载收益归作者所有