CN101642621A - 游戏平台中房间的自动分裂的方法 - Google Patents
游戏平台中房间的自动分裂的方法 Download PDFInfo
- Publication number
- CN101642621A CN101642621A CN 200910063241 CN200910063241A CN101642621A CN 101642621 A CN101642621 A CN 101642621A CN 200910063241 CN200910063241 CN 200910063241 CN 200910063241 A CN200910063241 A CN 200910063241A CN 101642621 A CN101642621 A CN 101642621A
- Authority
- CN
- China
- Prior art keywords
- migration
- player
- room
- players
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及游戏平台中房间的自动分裂的方法,步骤如下:(1)当游戏平台中房间分裂启动后,启动定时器T1秒,周期性检测房间玩家总人数;(2)如果达到房间玩家总人数上限Nmax人,并且持续时间为T1秒后,执行玩家选择算法获得被迁移玩家列表,否则转到第(1)步;(3)判断执行玩家选择算法执行是否成功,如果成功,则执行玩家迁移房间算法,否则结束;(4)执行玩家迁移房间算法的具体步骤为:a房间进入临时迁移状态,向所有迁移玩家发送迁移告知;b等待迁移结束,c收到迁移成功汇报包,迁移总数计数增加1;d迁移总数达到预期或者迁移时间超时迁移结束,否则转到b步。本发明将已经满的房间进行分裂操作,避免游戏房间的玩家人数不平衡。
Description
技术领域
本发明属于计算机网络多人游戏平台领域,涉及游戏平台中房间的一种自动分裂而避免拥挤且积攒人气的方法。
背景技术
随着计算机网络条件的逐步优化,多人游戏应用逐渐成为网络应用的新兴方向。除了游戏本身的可玩性之外,如何推广游戏和在平台上留住玩家为平台聚集人气成为被关注的重要问题。
目前的游戏平台组织,一般会引入“房间”概念。一个房间一般只有一种游戏,房间的人数会设置上限。这些限制是因为一个服务器进程服务能力有限,因此能够服务的人数也是有限制的。但是玩家都有一个心理,他们愿意在人多的房间里面游戏。因为房间人越多(人气越旺),可以供选择的游戏(由其他玩家创建)就越多。但是当一个房间已经进入的玩家人数达到的服务器容纳的上限时,就不能再接受新的玩家。此时,即使存在第二个空的房间,玩家也不原意进入此空房间玩游戏。因为即便他进入此房间,如果在一定的时间范围内没有足够多的玩家进入和他开始一场游戏,那么他可能会选择离开,或者会重新尝试那个已经达到人数上限的房间,因为满的房间里面的任意玩家可能会离开,会空出一个到两个位置。目前,大部分游戏平台系统,如腾讯游戏对战平台,浩方游戏对战平台等,都存在此种现象,即个别房间已满,但是大家都在此房间门口拥挤尝试登陆,而别的房间却只有很少的玩家甚至一个玩家也没有。这种现象导致玩家的体验降低,因为(1)、他必须耗费大量的时间尝试去尝试登陆人数多的房间。(2)、频繁的尝试本身对服务器资源是一种浪费。(3)、对于平台来说,坏的用户体验,也失去了聚集人数的功能,客观上流失了客户。因此一套自动的聚集人气的方法尤其重要。
发明内容
本发明为了克服上述现有技术存在的问题及缺点,提供游戏平台中房间的自动分裂的方法,本发明采用的方法是将已经满的房间进行分裂操作,从而避免游戏房间的玩家人数极度不平衡:一方面部分房间人数达到上限,存在一部分人还在不断的登陆这类房间,另一方面,部分房间人数非常少,达不到开始游戏的最低要求。
本发明技术方案为:
游戏平台中房间的自动分裂的方法,按以下步骤进行:(1)、当游戏平台中房间分裂启动后,启动定时器T1秒,周期性检测房间玩家总人数;(2)、如果达到房间玩家总人数上限Nmax人,并且持续时间为T1秒后,执行玩家选择算法获得被迁移玩家列表,否则转到第(1)步;(3)、判断执行玩家选择算法执行是否成功,如果成功,就执行玩家迁移房间算法,否则结束;(4)、执行玩家迁移房间算法的具体步骤为:a房间进入临时迁移状态,向所有迁移玩家发送“迁移告知”;b等待迁移结束,c收到迁移成功汇报包,迁移总数计数增加1;d迁移总数达到预期或者迁移时间超时,迁移结束,否则转到b步。
所述的执行玩家选择算法获得被迁移玩家列表具体步骤为:a、开始并创建被迁移玩家列表和临时备选玩家列表;b、被迁移玩家列表人数达到最小房间人数阈值Nstay+Nreduntancy吗?如果是,结束迁移玩家选择算法,否则转到c步;c、已经遍历完玩家列表吗?是转到h步,否则转到d步;d、读取一个剩余玩家的游戏状态,此玩家正在游戏进行中么?如果是转到e步,否则转到f步;e、加入此玩家到被迁移列表,迁移列表大小S1=S1+1,转到b步;f、此玩家处于空闲状态么?如果是,转到g步,否则转到b步;g、加入此玩家到备选列表L2,备选玩家列表大小S2=S2+1;h、S1<Nstay+Nreduntancy-S2?如果是转到i步,否则转到j步;i、迁移玩家列表构造失败结束;j、从L2中选择Nstay+Nreduntancy-S2个节点加入到L1中,迁移玩家列表构造成功,结束。
本发明自动将A房间中的人员分派一部分到房间A1中,另外一部分人员分派到A2中,其中A1与A2的房间人数相加为A的房间总人数。这样两个房间所拥有的玩家数量都可以独立的“留住玩家”,即每个房间所拥有的人员可以独立的增长,从而单独积聚人气,称这个能够留住玩家不离开的最小房间玩家数量为Nstay。
本发明具有以下优点:(1)自动性:整个分裂过程自动完成,包括人数达到一定的限制后,房间自动启动分裂过程。在玩家的简单配合下完成分裂,并且没有震荡特性;(2)玩家透明性:整个房间分裂过程,对玩家的影响非常小,首先,不会影响正在开始的游戏的完整性。其次对未开始游戏的玩家,尽量减少他与伙伴处于不同房间的概率。本发明避免某个游戏房间过于拥挤,而其他房间无玩家的方法。同时此方法提供为某些游戏房间积攒人气的方法。
附图说明
图1为本发明的总体流程示意图;
图2为被迁移到新房间的玩家选择算法示意图;
图3为迁移流程示意图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,房间的分裂算法启动后,本发明主要涉及两个子算法的运转,包括“被迁移玩家选择算法”和“迁移执行算法”。其中“被迁移玩家选择算法”的主要功能是根据玩家的当前游戏状态,以及用户的好友关系,选择一部分玩家进入到另外一个备份房间。在众多的玩家中,哪些玩家应该被选到另外一个房间呢?主要的评判的原则是:正在玩同一场游戏的玩家不要分处两个不同的房间,将来打算在同一场游戏中玩的玩家不要处于不同的房间。基于这两点考虑进行迁移玩家的选择。由于玩家会在游戏的状态发生改变时向房间服务器实时汇报。因此一个玩家的游戏状态基本上是与服务器上的游戏状态是同步的。一个玩家的游戏状态主要有:空闲状态:玩家没有进入游戏,也没有建立游戏。游玩状态:玩家正在某场游戏中。过渡状态:玩家刚刚进入一盘游戏,但是游戏并没有开始。处于游玩状态的玩家如果有打算和某些特定的玩家游戏的话,那么他们应该正在同一场游戏中,因此如果把这场游戏中的所有玩家同时迁移到另外一个房间是不会破坏玩家对于游戏的体验的,因为他唯一发现的区别是他在游戏结束后发现自己的房间号码变化了。如果所有的正在游玩状态的玩家总数如果不足以达到新房间的最低阈值的话,可以考虑从那些空闲状态的玩家里面选出部分玩家,加入到新房间中。那么如何避免将两个原本打算在同一场游戏中游玩的玩家分开到两个不同的房间呢?可以依据统计的方法来预测两个玩家将来是否打算加入到同一场游戏中。例如:某个用户曾经在一起打过游戏的次数越多,那么他们之间的关联就越大。通过统计用户之间的这种关联,进行预测也能够大大的减少拆散原本打同一场游戏的多个玩家。假定集合房间总人数为A,任意两个人之间的关联表示为他们之前打过的游戏的场数Nij,求集合A1,A2,使得A1+A2=A,|A1|=a,a为常量,任意人员i∈A1,j∈A2,∑Nij最小。
房间分裂算法见图1,描述为:
1.1当房间分裂算法启动后,启动定时器T1;
1.2周期检查房间总人数;
1.3如果达到房间总人数上限Nmax人,并且持续时间为T1秒后,T1一般为60秒,则转到(1.4),否则转到(1.2),
1.4执行玩家选择算法获得迁移玩家列表,如果执行成功转到(1.5),否则转到(1.6)
1.5执行玩家迁移房间选择算法;转到(1.2)
1.6结束。
被迁移玩家选择算法描述为:
2.1开始,并创建被迁移玩家列表L1和临时备选玩家列表L2;
2.2被迁移玩家列表人数达到最小房间人数阈值Nstay+Nreduntancy吗?如果是转到(2.12),否则转到(2.3);
2.3已经遍历完玩家列表?是转到(2.9),否则转到(2.4);
2.4读取一个剩余玩家的游戏状态;
2.5此玩家正在游戏进行中么?如果是转到(2.6),否则转到(2.7);
2.6加入此玩家到被迁移列表,迁移列表大小S1=S1+1,转到(2.2);
2.7此玩家处于空闲状态么?如果是,转(2.8),否则转到(2.2),
2.8加入此玩家到备选列表L2,备选玩家列表大小S2=S2+1,
2.9S1<Nstay+Nreduntancy-S2?如果是转到(2.10),否则转到(2.11)
2.10迁移玩家列表构造失败,转到(2.13);
2.11从L2中选择Nstay+Nreduntancy-S2个节点加入到L1中,转到(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”,房间人数上限为Nmax=2000人,房间分裂人数阈值为Nsplit=1980人,房间正反馈人数阈值Nstay=150,假设需要给出一个冗余值,以防止部分节点迁移失败,设冗余人数为Nredundance=20,则接受迁移指令的列表人数应该为:S1sizc=Nstay+Nredundance=170。如果房间人数达到最大值Nmax人,启动房间正反馈定时器T1=60,如果持续时间为60秒(在60秒内任意时刻房间总人数高于Nsplit人),则执行被迁移玩家选择算法,否则如果在60秒内任意时刻出现低于Nsplit人,定时器取消。
被迁移玩家选择算法,从当前的游戏玩家的列表中检查每个玩家的状态,对于那些正处于游玩状态和空闲状态的玩家加入到“被迁移玩家列表”中,作为备选玩家(选取顺序为:先游玩状态后空闲状态)。如果“被迁移玩家列表”的大小达到了Nstay+Nredundance,则停止选取,执行迁移算法。如果迁移列表的大小没有达到Nstay+Nredundance,迁移算法失败。否则房间服务器进入临时迁移状态,并启动定时器T2,T2=100秒,并向被迁移玩家发送房间迁移指令。被迁移玩家在执行迁移并成功后,会给出迁移成功或者失败响应。房间服务器统计迁移成功的节点数目达到Nstay=150则整体成功,否则迁移时间达到T2超时则失败。
Claims (2)
1、游戏平台中房间的自动分裂的方法,按以下步骤进行:(1)、当游戏平台中房间分裂启动后,启动定时器T1秒,周期性检测房间玩家总人数;(2)、如果达到房间玩家总人数上限Nmax人,并且持续时间为T1秒后,执行玩家选择算法获得被迁移玩家列表,否则转到第(1)步;(3)、判断执行玩家选择算法执行是否成功,如果成功,则执行玩家迁移房间算法,否则结束;(4)、执行玩家迁移房间算法的具体步骤为:a房间进入临时迁移状态,向所有迁移玩家发送迁移告知;b等待迁移结束,c收到迁移成功汇报包,迁移总数计数增加1;d迁移总数达到预期或者迁移时间超时,迁移结束,否则转到b步。
2、根据权利要求1所述的游戏平台中房间的一种自动分裂而避免拥挤的方法,其特征在于:所述的执行玩家选择算法获得被迁移玩家列表具体步骤为:a、开始并创建被迁移玩家列表L1和临时备选玩家列表L2;b、被迁移玩家列表人数达到最小房间人数阈值Nstay+Nreduntancy吗?如果是结束迁移玩家选择算法,否则转到c步;c、已经遍历完玩家列表吗?是转到h步,否则转到d步;d、读取一个剩余玩家的游戏状态,此玩家正在游戏进行中么?如果是转到e步,否则转到f步;e、加入此玩家到被迁移列表,迁移列表大小S1=S1+1,转到b步;f、此玩家处于空闲状态么?如果是,转到g步,否则转到b步;g、加入此玩家到备选列表L2,备选玩家列表大小S2=S2+1;h、S1<Nstay+Nreduntancy-S2?如果是转到i步,否则转到j步;i、迁移玩家列表构造失败结束;j、从L2中选择Nstay+Nreduntancy-S2个节点加入到L1中,迁移玩家列表构造成功,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910063241 CN101642621A (zh) | 2009-07-21 | 2009-07-21 | 游戏平台中房间的自动分裂的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910063241 CN101642621A (zh) | 2009-07-21 | 2009-07-21 | 游戏平台中房间的自动分裂的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101642621A true CN101642621A (zh) | 2010-02-10 |
Family
ID=41654778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910063241 Pending CN101642621A (zh) | 2009-07-21 | 2009-07-21 | 游戏平台中房间的自动分裂的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101642621A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105657475A (zh) * | 2016-03-15 | 2016-06-08 | 武汉斗鱼网络科技有限公司 | 一种直播网站中将用户进行分组的方法及装置 |
CN107427721A (zh) * | 2015-03-07 | 2017-12-01 | 索尼互动娱乐美国有限责任公司 | 使用连接质量历史来优化用户体验 |
-
2009
- 2009-07-21 CN CN 200910063241 patent/CN101642621A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107427721A (zh) * | 2015-03-07 | 2017-12-01 | 索尼互动娱乐美国有限责任公司 | 使用连接质量历史来优化用户体验 |
CN107427721B (zh) * | 2015-03-07 | 2020-12-04 | 索尼互动娱乐美国有限责任公司 | 使用连接质量历史来优化用户体验 |
CN105657475A (zh) * | 2016-03-15 | 2016-06-08 | 武汉斗鱼网络科技有限公司 | 一种直播网站中将用户进行分组的方法及装置 |
CN105657475B (zh) * | 2016-03-15 | 2018-08-24 | 武汉斗鱼网络科技有限公司 | 一种直播网站中将用户进行分组的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11794116B2 (en) | System and method for enhancing participation in online multiplayer sessions | |
WO2022062147A1 (zh) | 一种游戏副本展示方法以及装置、计算机程序、介质 | |
US9498722B2 (en) | User organizing apparatus, user organizing method, and cloud computing system | |
CN110120931A (zh) | 一种信息交互方法、装置及存储介质 | |
CN104254372A (zh) | 用于为另一用户保留模拟内的位置的方法和设备 | |
CN102984144B (zh) | 一种手机游戏撮合竞技比赛的自由撮合方法 | |
CN103729558A (zh) | 一种场景切换方法 | |
CN111450531B (zh) | 虚拟角色控制方法、装置、电子设备以及存储介质 | |
WO2023093389A1 (zh) | 赛事弹窗的显示方法、装置、设备、介质及程序产品 | |
CN104623898A (zh) | 一种进入游戏副本场景的方法和游戏服务器 | |
CN106506560B (zh) | 一种权限管理方法,及装置 | |
JP2003199977A (ja) | ゲーム情報、情報記憶媒体、およびサーバシステム | |
CN103475659A (zh) | 一种基于即时战略游戏的战斗方法及系统 | |
CN105903193A (zh) | 一种实现游戏跨区分布式比赛的方法及系统 | |
JP6217492B2 (ja) | 情報処理装置、プログラム、情報処理システム | |
CN112138409A (zh) | 游戏结果的预测方法、装置及存储介质 | |
CN101642621A (zh) | 游戏平台中房间的自动分裂的方法 | |
CN112843675B (zh) | 一种游戏玩法的匹配方法、装置、计算机设备及存储介质 | |
CN116583328A (zh) | 信息处理装置、数据同步程序、数据同步方法、数据同步系统以及终端装置 | |
CN109582389B (zh) | 消息处理方法、装置、存储介质、处理器及终端 | |
CN102196193A (zh) | 一种实现多种球类体育赛事的字幕播出方法 | |
JP2002066139A (ja) | ゲームシステム、ゲームプログラムが記憶された記録媒体 | |
CN110743167A (zh) | 一种交互功能的实现方法和装置 | |
Aucinas et al. | Energy efficient mobile M2M communications | |
Hsu et al. | The design of multiplayer online video game systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100210 |