分享网页游戏后台开发技术经验

操作方法

  • 01

    尽管网页游戏开发应用的是服务器端脚本编写,但是它的运行还是需要一定的客户端技术支持的,比如网页浏览器,或者浏览器上常用的一些插件,如Java或者Flash。最新的网页游戏典型应用是大型多人在线角色扮演游戏。 最近参与开发了一款网页游戏,网页游戏和普通客户端游戏不同,虽然都可以称为网络游戏,从服务器角度来说,网页游戏所承载的用户量是很少的,一般一组服务器3-4000玩家同时在线。当然,技术含量也相对较低。开发周期短,一般为4-5个月。现在就网页游戏后台开发的技术,谈谈自己的看法。 首先是网关,所有玩家进入游戏,都是同网关连接,网关起着隔离游戏逻辑服务器和玩家的作用,保护游戏服务器内部不受外部玩家有意或无意的攻击。一般一个网关下面会挂上多组地图服务器,网关将用户逻辑转发到地图服务器上做具体的处理,处理完成后,地图服务器将处理结果送回网关,网关再转发给玩家。乍一看,网关似乎有可能成为性能瓶颈,确实是性能瓶颈。在网络游戏中,单个客户端上行流量是很小的,一般客户端都会做控制,在战斗和行走的时候,客户端没秒钟基本上只会有3条上行数据,但是下行广播数据是非常庞大的,曾经测试过300人同屏在线,每秒钟3个位置更新消息,广播量基本上是300*300*3=270000条消息,假如服务器为每一条消息调用一次send系统调用,那么意味着每秒钟27万次系统调用,是多么的庞大啊! 一般网关前端收发消息部分毫无疑问会采用epoll的边缘出发模式(非阻塞),多线程收/多线程发。客户端发上来的消息,通过网关路由到地图服务器做具体的逻辑处理,对于地图服务器通常都是一个服务器对应一副或者多幅地图,在这个地图上玩家发生的所有事件,都有这个服务器来处理,地图服务器采用单线程/单进程这种模式,主要是保证游戏逻辑的顺序处理。评价地图服务器处理能力的一个指标是地图服务器可以支撑多少怪,多少玩家,因为怪的AI都在服务器这边做,服务器需要主动触发事件,广播给玩家,这个时候timer是不可缺少的资源,timer开得越多,系统性能也就越差了。 另外,有一种简单的处理方式,开一个timer,几十毫秒统一处理一下地图中的事件,比如补怪等。对于数据库访问这一块,目前很多网页游戏开发,都使用的是和mongodb类似的内存数据库,是不是可以不采用cache,而直接访问数据库了呢?答案是错误的,根据具体情况来定吧,基本上到最后,性能瓶颈都会在数据库I/O这一块了,主要是读。对于一些访问量比较大的业务,比如,任务,战斗,背包等,肯定是读缓存,写缓存和数据库同时进行。再切地图和玩家下线时,清掉内存中的信息。原则上是服务器需要处理所有业务逻辑,所有接入游戏服务器的客户端都需要在网关进行鉴权认证,只有合法玩家才能接入游戏逻辑服务器。 为了不使网络延时导致玩家体验感下降,在及时战斗的时候,客户端需要先播放模拟打斗的动画,由服务器进行验证。不同地图消息的转发在地图管理器上面进行,地图管理器是一个进程,维护了所有地图服务器的连接,所有消息转发都在地图管理器来完成。同时,为了减轻网关的压力,一般一个网关接入的1000人左右,分多个网关,不同网关的玩家信息,通过地图管理器来转发。以下是服务器选择性的用到的一些开源的软件,并在此基础上做了封装:json4cpp、log4cpp、libevent、ACE、boost、mongoclient。 一个网页游戏开发要做大做强,首先要考虑的就是服务器端要如何实现,这样才能稳定网页游戏的运行,让游戏者能够轻松的玩这个游戏,让游戏者好好的体验游戏的稳定。

(0)

相关推荐

  • H5游戏的开发技术是如何实现革新的?

    H5游戏开发技术的革新问题. 操作方法 01 首先是H5产品研发技术的革新和品质的提升.经过前两年的摸爬滚打,H5的底层技术已经逐渐成熟,引擎.核心玩法.美术.音乐.游戏流畅度等产品上的准备已经足够充 ...

  • 手机游戏开发技术选型

    操作方法 01 手机游戏开发都需要依托一定的技术,而手机游戏开发的技术也是很广泛的,从硬件到软件,都需经过一定的选择,才能使游戏开发达到预期的效果.技术选型意思是根据实际业务管理的需要,对硬件.软件及 ...

  • 2291网页游戏辅助浏览器怎么用

    2291浏览器是网页游戏辅助工具是最全.最牛的网页游戏辅助工具,如果你是一个游戏玩家一定不能错过,对于新手来说有2291游戏浏览器使用教程应该是不错的选择,所以小编跟大家分享下2291游戏浏览器怎么用 ...

  • 解决网页游戏打不开的问题

    有时玩网页游戏却打不开,怎么解决网页游戏打不开的问题?请看看以下的方法. 操作方法 01 IE版本太低.升级最新版本,电脑管家都可以从软件升级中找到. 02 flash版本太低,页游一般都是基于fla ...

  • 人气最高的网页游戏

    乐享玩<弹弹堂>一款无需下载的国产Q版射击类竞技网页游戏,MM超多,人气旺的多人在线Q版休闲竞技游戏.激烈的竞技对抗,简易的键盘操作,让您在游戏过程中体验到纯粹.健康.愉快的游戏乐趣.攻略 ...

  • 网页游戏策略

    今天我跟大家分享一下网页游戏我从3K冲击到1A的经验,时间有点久,希望大家认真观察我下的规律,最重要的还是心态,千万不要操之过急,有很多人都是败在了心魔这一块 操作方法 01 打开电脑,运行浏览器,输 ...

  • 网页游戏试玩如何赚钱?

    操作方法 01 首先我要介绍下,游戏试玩是网上兼职,网络兼职非常流行的一种网赚方式.本文就是介绍游戏试玩赚钱最快的方法.告诉你如何赚钱. 很多人会觉得这个问题很傻,试玩升级就赚钱了呗,还问什么啊?其实 ...

  • 抓住市场先机网页游戏出口形势一片大好

    2012年中国网页游戏海外出口收入为2.28亿美元,同比增79.5%,占总体收入40%.在总共177款进军海外市场的国产原创网络游戏中,网页游戏达103款,同比增长78.9%,比上一年多46款. 操作 ...

  • 《烈火战神》网页游戏的PK挑战活动

    操作方法 01 <烈火战神>是一款注重Pk的即时战斗网页游戏,<烈火战神>融入最新微端技术秒下载,<烈火战神>超炫翅膀,独特玩法,丰富副本,烈火战神>游戏画面 ...