The invention discloses a method for realizing an online game of thousands of people on the same screen, which comprises the following steps: 1 using AOP technology to collect real-time client crosscutting pressure information; step 2: classification of loading resources, and in accordance with the plan of the game scheduled for priority classification, a classification number related; step 3: establish loading file cache, corresponding to the specific classification of resources and reference counting, according to the user when the machine is running the actual memory capacity of LIFO processing; step 4: character animation by action frame sequence cache and index in accordance with the direction of; step 5: comprehensive combination of resources, in accordance with the hierarchy and then press the size and sound long to do segmentation; step 6: according to the pressure related information screening to leave the necessary part of the collection to the optimized playback level, rendering graphics batch submission. The invention uses the idea of AOP crosscutting to manage and optimize the resources horizontally, so that the game client realizes thousands of people and the screen.
【技术实现步骤摘要】
一种在线游戏千人同屏的实现方法以及客户端
本专利技术涉及在线游戏的客户端设计领域,尤其是大型多人在线网络游戏的客户端设计领域。具体说是涉及如何设计大型多人在线网络游戏的客户端,使其能够在硬件配置不高的计算机终端实现多用户在同一地图地点范围登录。游戏,即实现大型多人在线游戏的千人同屏。
技术介绍
大型多人在线角色扮演游戏(MassiveMulti-playerOnlineRole-PlayingGame,简称MMORPG)是网络游戏的一种,玩家扮演一个虚构角色,控制该角色进行相应的游戏活动。MMORPG具有一个持续的虚拟世界,该虚拟世界由运营商提供的主机式服务器运行,并不断演进。MMORPG分为客户端和服务器两部分,玩家从客户端通过互联网连接,登陆服务端后才能进行游戏。大型多人在线网络游戏在运行时,用户在客户端地图上可以任意活动,运行人数会远远超过fps、moba等类型游戏,同城竞技时往往会集中在某个地点pk,比如限时活动时点击某个npc,或争夺某个固定的据点,此时有超过一千人同时存在一个屏幕的需求,cpu计算压力、内存容量压力、显存绘制压力可能达到饱和,如果客户端处理不完善,应用程序就会崩溃闪退。现有技术将一个场景切分成矩形网格区域,玩家只与场景所处位置的九宫格范围内玩家进行消息同步,以减少交互对象个数、保证游戏流畅运行。但由于场景内的角色由玩家自由控制,大量的角色可能聚集在同一个九宫格范围内,角色显示的上限不可控,仍然有可能超客户端运算能力特别是对某些硬件配置不高的用户,可能直接闪退出客户端。
技术实现思路
为了解决现存的大型多人在线网络游戏客户端存在的上述 ...
【技术保护点】
一种在线游戏千人同屏的实现方法,其包括:步骤1:采用AOP横切技术实时收集客户端压力点信息;步骤2:对资源进行分类加载,并按照策划对游戏的定于进行优先级分类,建立相关的分类号;步骤3:对具体分类号对应的资源建立文件加载缓存、并作引用计数,根据用户机器运行时实际可用内存量做LIFO处理;步骤4:角色动画按动作帧序列缓存,并按照方向做索引;步骤5:综合产生组合的资源,按照层级划分后再按面积大小、声音时长再做细分;步骤6:根据收集到的相关压力点信息筛选留下必要的部分,优化播放的层级,批量提交显卡进行渲染。
【技术特征摘要】
1.一种在线游戏千人同屏的实现方法,其包括:步骤1:采用AOP横切技术实时收集客户端压力点信息;步骤2:对资源进行分类加载,并按照策划对游戏的定于进行优先级分类,建立相关的分类号;步骤3:对具体分类号对应的资源建立文件加载缓存、并作引用计数,根据用户机器运行时实际可用内存量做LIFO处理;步骤4:角色动画按动作帧序列缓存,并按照方向做索引;步骤5:综合产生组合的资源,按照层级划分后再按面积大小、声音时长再做细分;步骤6:根据收集到的相关压力点信息筛选留下必要的部分,优化播放的层级,批量提交显卡进行渲染。2.根据权利要求1所述的在线游戏千人同屏的实现方法,其中步骤1中收集的客户端压力点信息包括:内存、显存、内存到显卡的带宽、CPU等相关硬件资源的占用率。3.根据权利要求1中所述的在线游戏千人同屏的实现方法,其中步骤2中对资源进行分类加载,具体为:可将各种资源分类为实时资源,延时加载资源、特效、界面等,然后按照策划对游戏的定义做优先级分类,例如实时资源的优先级高于延时资源,特效的优先级低于延时加载资源等;实时资源要在主线程中加载并加入缓存,延时资源要在子线程中加载并在结束时回调通知主线程,线程同步根据业务环境选取互斥、事件、信号量、临界区;资源处理按队列顺序进行,所有操作都封装为自定义事件,不能直接调用函数。4.根据权利要求1或2所述的在线游戏千人同屏的实现方法,其中步骤3具体为:对相关分类资源的引用进行计数,对于从未被引用计数为0、或者长时间不用的资源进行清理,释放缓存,并在峰值时释放部分人物以外的资源。5.根据权利要求1或2所述的在线游戏千人同屏的实现方法,其中步骤4中角色上绑定的武器、头发、首饰、染色区等要同角色一起做动作帧缓存。6.根据权利要求1或2所述的在线游戏千人同屏的实现方法,其中步骤6具体为根据收集到的客户端显内、内存到显存之间的带宽信息等对缓存中相关的需要绘制资源进行筛选/优化处理,并且选择覆盖模式和丢弃模式提交绘制。7.如权利要求6所述的在线游戏千人同屏的实现方法,所述的筛选/优化处理具体包括:采用绘制队列对渲染对象进行排序,下层的角色可适当不绘制;DipZone(底区)可以适当裁剪边缘区域,留下必要的区域信息进行绘制;特效部分,当地图某个地点出现多个特效时,按提交顺序后者将覆盖前者,那么只提交后者若干次特效,前者就可以不提交不绘制;批量提交绘制时,要根据硬件环境设定的容量,当一个批次中绘制顶点达到限定后直接提交给显卡,或在未满情况下延迟30ms提交;同时可以将同一角色放在同一图集(atlas)中,以减少调用接口进行绘制(DrawCall)的次数。8.一种实现在线游戏千人同屏的客户端,采用AOP横切技术实时监测压力点信息,并根据监测到的相关压力点信息进行绘制资源筛选、优化,...
【专利技术属性】
技术研发人员:谭哲锋,
申请(专利权)人:盛趣信息技术上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。