早鸽—汇聚行业精英
  • 联系客服
  • 帮助中心
  • 投诉举报
  • 关注微信
400-006-1351
您的问题早鸽都有答案
3000+专业顾问
搜索
咨询

游戏平台中房间的自动分裂的方法

  • 专利名称
    游戏平台中房间的自动分裂的方法
  • 发明者
    宏 姚, 涂旭平
  • 公开日
    2010年2月10日
  • 申请日期
    2009年7月21日
  • 优先权日
    2009年7月21日
  • 申请人
    武汉必联网络技术有限公司
  • 文档编号
    A63F13/00GK101642621SQ20091006324
  • 关键字
  • 权利要求
    1、游戏平台中房间的自动分裂的方法,按以下步骤进行(1)、当游戏平台中房间分裂启动后,启动定时器T1秒,周期性检测房间玩家总人数;(2)、如果达到房间玩家总人数上限Nmax人,并且持续时间为T1秒后,执行玩家选择算法获得被迁移玩家列表,否则转到第(1)步;(3)、判断执行玩家选择算法执行是否成功,如果成功,则执行玩家迁移房间算法,否则结束;(4)、执行玩家迁移房间算法的具体步骤为a房间进入临时迁移状态,向所有迁移玩家发送迁移告知;b等待迁移结束,c收到迁移成功汇报包,迁移总数计数增加1;d迁移总数达到预期或者迁移时间超时,迁移结束,否则转到b步2、 根据权利要求1所述的游戏平台中房间的一种自动分裂而避免拥挤 的方法,其特征在于所述的执行玩家选择算法获得被迁移玩家列表具体 步骤为a、开始并创建被迁移玩家列表In和临时备选玩家列表L2;b、被迁 移玩家列表人数达到最小房间人数阈值Nstay +^麵^吗?如果是结束迁移 玩家选择算法,否则转到c步;c、已经遍历完玩家列表吗?是转到h步, 否则转到d步;d、读耳又一个剩余玩家的游戏状态,此玩家正在游戏进行中 么?如果是转到e步,否则转到f步;e、加入此玩家到被迁移列表,迁移 列表大小S产S汁l,转到b步;f、此玩家处于空闲状态么?如果是,转到g 步,否则转到b步;g、加入此玩家到备选列表L2,备选玩家列表大小 S2=S2+l;h、 S丄〈Nstay +Nreduntancy - S2 如果是转到i步,否则转到j 步;i、迁移玩家列表构造失败结束;j、从"中选择Nstay +Nreduntaney - Sz个 节点加入到Li中,迁移玩家列表构造成功,结束
  • 技术领域
    本发明属于计算机网络多人游戏平台领域,涉及游戏平台中房间的一 种自动分裂而避免拥挤且积攒人气的方法
  • 背景技术
  • 专利详情
  • 全文pdf
  • 权力要求
  • 说明书
  • 法律状态
专利名称:游戏平台中房间的自动分裂的方法随着计算机网络条件的逐步优化,多人游戏应用逐渐成为网络应用的 新兴方向。除了游戏本身的可玩性之外,如何推广游戏和在平台上留住玩 家为平台聚集人气成为^皮关注的重要问题。目前的游戏平台组织, 一般会引入"房间"概念。 一个房间一般只有一 种游戏,房间的人数会设置上限。这些限制是因为一个服务器进程服务能 力有限,因此能够服务的人数也是有限制的。但是玩家都有一个心理,他 们愿意在人多的房间里面游戏。因为房间人越多(人气越旺),可以供选择 的游戏(由其他玩家创建)就越多。但是当一个房间已经进入的玩家人数 达到的服务器容纳的上限时,就不能再接受新的玩家。此时,即使存在第 二个空的房间,玩家也不原意进入此空房间玩游戏。因为即侵_他进入此房 间,如果在一定的时间范围内没有足够多的玩家进入和他开始一场游戏, 那么他可能会选择离开,或者会重新尝试那个已经达到人数上限的房间, 因为满的房间里面的任意玩家可能会离开,会空出一个到两个位置。目前, 大部分游戏平台系统,如腾讯游戏对战平台,浩方游戏对战平台等,都存 在此种现象,即个别房间已满,但是大家都在此房间门口拥挤尝试登陆, 而别的房间却只有很少的玩家甚至一个玩家也没有。这种现象导致玩家的 体验降低,因为(1)、他必须耗费大量的时间尝试去尝试登陆人数多的房间。(2)、频繁的尝试本身对服务器资源是一种浪费。(3)、对于平台来说,坏 的用户体验,也失去了聚集人数的功能,客观上流失了客户。因此一套自 动的聚集人气的方法尤其重要。
本发明为了克服上述现有技术存在的问题及缺点,提供游戏平台中房 间的自动分裂的方法,本发明采用的方法是将已经满的房间进行分裂操作, 从而避免游戏房间的玩家人数极度不平衡 一方面部分房间人数达到上限, 存在一部分人还在不断的登陆这类房间,另一方面,部分房间人数非常少, 达不到开始游戏的最^氐要求。本发明技术方案为游戏平台中房间的自动分裂的方法,按以下步骤进行(1)、当游戏平 台中房间分裂启动后,启动定时器L秒,周期性检测房间玩家总人数;(2)、 如果达到房间玩家总人数上限Nmax人,并且持续时间为1秒后,执行玩家 选择算法获得被迁移玩家列表,否则转到第(l)步;(3)、判断执行玩家选择 算法执行是否成功,如果成功,就执行玩家迁移房间算法,否则结束;(4)、 执行玩家迁移房间算法的具体步骤为a房间进入临时迁移状态,向所有 迁移玩家发送"迁移告知,,;b等待迁移结束,c收到迁移成功汇报包,迁 移总数计数增加l;d迁移总数达到预期或者迁移时间超时,迁移结束,否 则转到b步。所述的执行玩家选择算法获得被迁移玩家列表具体步骤为a、开始并 创建被迁移玩家列表和临时备选玩家列表;b、被迁移玩家列表人数达到最 小房间人数阈值Nsuy十Nwy吗?如果是,结束迁移玩家选择算法,否则 转到c步;c、已经遍历完玩家列表吗?是转到h步,否则转到d步;d、 读取一个剩余玩家的游戏状态,此玩家正在游戏进行中么?如果是转到e 步,否则转到f步;e、加入此玩家到被迁移列表,迁移列表大小S产S一1,转 到b步;f 、此玩家处于空闲状态么?如果是,转到g步,否则转到b步;g、 加入此玩家到备选列表L2,备选玩家列表大小S2=S2+l;h、 S, Nstay +Nreduntancy - S2 如果是转到i步,否则转到j步;i、迁移玩家列表构 造失败结束;j、从L2中选择Nstay +Nreduntancy - S2个节点加入到L冲,迁移 玩家列表构造成功,结束。本发明自动将A房间中的人员分派一部分到房间&中,另外一部分人 员分派到A2中,其中A!与A2的房间人数相加为A的房间总人数。这样两个 房间所拥有的玩家数量都可以独立的"留住玩家",即每个房间所拥有的人 员可以独立的增长,从而单独积聚人气,称这个能够留住玩家不离开的最 小房间玩家数量为Nstay。
本发明具有以下优点(1)自动性:整个分裂过程自动完成,包括人 数达到一定的限制后,房间自动启动分裂过程。在玩家的简单配合下完成 分裂,并且没有震荡特性;(2)玩家透明性整个房间分裂过程,对玩家 的影响非常小,首先,不会影响正在开始的游戏的完整性。其次对未开始 游戏的玩家,尽量减少他与伙伴处于不同房间的概率。本发明避免某个游 戏房间过于拥挤,而其他房间无玩家的方法。同时此方法提供为某些游戏 房间积攒人气的方法。


图1为本发明的总体流程示意图;图2为被迁移到新房间的玩家选择算法示意图; 图3为迁移流程示意图。

下面结合附图对本发明作进一步说明。
如图1所示,房间的分裂算法启动后,本发明主要涉及两个子算法的 运转,包括"被迁移玩家选择算法,,和"迁移执行算法"。其中"被迁移玩 家选择算法"的主要功能是根据玩家的当前游戏状态,以及用户的好友关 系,选择一部分玩家进入到另外一个备份房间。在众多的玩家中,哪些玩 家应该被选到另外一个房间呢?主要的评判的原则是正在玩同一场游戏 的玩家不要分处两个不同的房间,将来打算在同 一场游戏中玩的玩家不要 处于不同的房间。基于这两点考虑进行迁移玩家的选择。由于玩家会在游 戏的状态发生改变时向房间服务器实时汇报。因此一个玩家的游戏状态基 本上是与服务器上的游戏状态是同步的。 一个玩家的游戏状态主要有空 闲状态玩家没有进入游戏,也没有建立游戏。游玩状态玩家正在某场 游戏中。过渡状态玩家刚刚进入一盘游戏,但是游戏并没有开始。处于 游玩状态的玩家如果有打算和某些特定的玩家游戏的话,那么他们应该正 在同 一场游戏中,因此如果把这场游戏中的所有玩家同时迁移到另夕l、一个 房间是不会破坏玩家对于游戏的体验的,因为他唯一发现的区别是他在游 戏结束后发现自己的房间号码变化了。如果所有的正在游玩状态的玩家总 数如果不足以达到新房间的最低阈值的话,可以考虑从那些空闲状态的玩 家里面选出部分玩家,加入到新房间中。那么如何避免将两个原本打算在 同 一 场游戏中游玩的玩家分开到两个不同的房间呢?可以依据统计的方法 来预测两个玩家将来是否打算加入到同 一场游戏中。例如某个用户曾经 在一起打过游戏的次数越多,那么他们之间的关联就越大。通过统计用户 之间的这种关联,进行预测也能够大大的减少拆散原本打同 一 场游戏的多 个玩家。假定集合房间总人数为A, 任意两个人之间的关联表示为他们之 前打过的游戏的场数Nu ,求集合Ai, A2,使得人1 + A2 = A, |AJ = a, a 为常量,任意人员i6A,jKA2, SNij最小。
房间分裂算法见图1,描述为
1. 1当房间分裂算法启动后,启动定时器L;
1.2周期检查房间总人数;
1. 3如果达到房间总人数上限Nmax人,并且持续时间为L秒后,L一 般为60秒,则转到(1.4),否则转到(1. 2 ),
1.4执行玩家选择算法获得迁移玩家列表,如果执行成功转到(1.5),否则转到(1.6)
1.5执行玩家迁移房间选择算法;转到(1.2)
1. 6结束。
被迁移玩家选择算法描述为
2. 1开始,并创建被迁移玩家列表L和临时备选玩家列表L2;
2.2被迁移玩家列表人数达到最小房间人数阔值Nstay十Nwy吗?如 果是转到(2.12),否则转到(2.3);
2. 3已经遍历完玩家列表?是转到(2.9),否则转到(2.4); 2. 4读耳又一个剩余3元家的游戏状态;
2. 5此玩家正在游戏进行中么?如果是转到(2.6),否则转到(2.7); 2.6加入此玩家到被迁移列表,迁移列表大小S产S一1,转到(2. 2); 2. 7此玩家处于空闲状态么?如果是,转(2. 8),否则转到(2.2), 2. 8加入此玩家到备选列表U,备选玩家列表大小S2=S2+1, 2.9 S, Nstay +NrcdunUncy - S2 如果是转到(2.10),否则转到(2.11) 2. 10迁移玩家列表构造失败,转到(2.13);
2. 11从L2中选4奪Nstay +Nreduntancy — S2个节点力口入到中,转到 (2. 12);
2. 12迁移玩家列表构造成功,转到(2.13);
2. 13结束。
被选择玩家迁移房间算法
3. 1开始;
3. 2房间进入临时迁移状态,向所有迁移玩家发送迁移告知;
3. 3等待迁移结束;
3. 4收到迁移成功汇报包;
3. 5迁移总数计数增加1;
3.6迁移总数达到预期或者迁移时间超时,如果是转到(3.7),否则 转到(3. 3 ); 3. 7结束。 实例
假设当前房间名称为"华中地区魔兽1. 22",房间人数上限为N iax=2000 人,房间分裂人数阈值为N—严1980人,房间正反馈人数阈值N阔 =150, 假设需要给出一个冗余值,以防止部分节点迁移失败,设冗余人数为 Nwce = 20,则接受迁移指令的列表人数应该为Slsizc = Nstay + Nredundancc =170。如果房间人数达到最大值N,人,启动房间正反馈定时器1>60,如果持续时间为60秒(在60秒内任意时刻房间总人数高于N一it人),则执行
被迁移玩家选择算法,否则如果在60秒内任意时刻出现低于Nspnt人,定时
器取消。
被迁移玩家选择算法,从当前的游戏玩家的列表中检查每个玩家的状 态,对于那些正处于游玩状态和空闲状态的玩家加入到"被迁移玩家列表" 中,作为备选玩家(选取顺序为先游玩状态后空闲状态)。如果"被迁移 玩家列表"的大小达到了 Nstay + Nw,则停止选取,执行迁移算法。如 果迁移列表的大小没有达到Nstay + N^unda_,迁移算法失败。否则房间服务 器进入临时迁移状态,并启动定时器T2, T产100秒,并向^^迁移玩家发送 房间迁移指令。被迁移玩家在执行迁移并成功后,会给出迁移成功或者失 败响应。房间服务器统计迁移成功的节点数目达到Nstay = 150则整体成功, 否则迁移时间达到T2超时则失败。


本发明涉及游戏平台中房间的自动分裂的方法,步骤如下(1)当游戏平台中房间分裂启动后,启动定时器T<sub>1</sub>秒,周期性检测房间玩家总人数;(2)如果达到房间玩家总人数上限Nmax人,并且持续时间为T<sub>1</sub>秒后,执行玩家选择算法获得被迁移玩家列表,否则转到第(1)步;(3)判断执行玩家选择算法执行是否成功,如果成功,则执行玩家迁移房间算法,否则结束;(4)执行玩家迁移房间算法的具体步骤为a房间进入临时迁移状态,向所有迁移玩家发送迁移告知;b等待迁移结束,c收到迁移成功汇报包,迁移总数计数增加1;d迁移总数达到预期或者迁移时间超时迁移结束,否则转到b步。本发明将已经满的房间进行分裂操作,避免游戏房间的玩家人数不平衡。



查看更多专利详情