一种基于客户端同步的Xbox平台多人游戏接入控制方法与流程

文档序号:14228338阅读:410来源:国知局

本发明涉及一种基于客户端同步的xbox平台多人游戏接入控制方法,属于数据同步技术领域。



背景技术:

xbox是微软创立的电子游戏品牌。它包括微软开发的从第六到第八世代的一系列电子游戏机,以及应用(游戏)、流服务,以及在线服务xboxlive。依据微软公司要求,在移植传统的pc平台上多人网络游戏到微软xbox系列游戏机上时,需要强制接入微软的xboxlive在线服务平台上的服务。

对于传统的pc平台网络游戏,一般开发者都会设有一个游戏服务器,并在此服务器上提供房间(以下简称“游戏房间”)、邀请功能。其中“游戏房间”功能的作用是将若干个玩家组织到一起进行游戏。邀请功能则是可以将不在此“游戏房间”内的其他在线玩家拉入“游戏房间”。将此类游戏产品移植到xbox上需要面临的两个问题是:

(1)微软要求强制接入的xboxlive在线服务平台上也提供了房间(以下简称“微软房间”)、邀请功能,并且有一套自己的房间、邀请机制。同时有xboxlive以及开发者自己服务器上的两套玩家状态会导致业务冲突,这样问题就涉及到游戏开发者的服务器上的房间、玩家状态等需要和微软的xboxlive服务器进行数据同步。然而开发者无法只同步自己服务器上玩家状态到xboxlive而不去维护xboxlive上玩家的后续状态,即一切数据状态以自己的服务器数据为准,而将xboxlive只作为一个状态记录的地方。如下第2点阐述了原因。

(2)微软要求xbox系列游戏机上的游戏,在a玩家邀请b玩家的时候,需要即使b玩家没有启动该游戏也可以收到来自a的邀请(以下简称“游戏外邀请”),并可以按下手柄控制器的相应按键以启动游戏并进入对应的“游戏房间”。这样的邀请功能只能依靠微软xbox系列游戏主机自身封闭的操作系统结合xboxlive实现,开发者无法自己去实现这样硬件/平台高度依赖的功能。

这意味着实现强制要求接入的xboxlive功能的数据基础――玩家在xboxlive上的状态,需要和开发者游戏服务器上的完全一致。对于独立开发者的轻量级网络游戏来说,只要使用微软的xboxlive服务不用自己去实现游戏服务器,就可以避免玩家状态数据冲突的问题。然而对于绝大多数现有的、完整的、经受过时间考验的商业化pc平台网络游戏解决方案来说,其服务器引擎基本上都会封装包含“游戏房间”功能。现有的方案在和xboxlive同步自己服务器上的数据会导致对成熟、稳定的服务器引擎修改,同时导致上层逻辑业务流程的修改。这会大大增加开发人员的负担、延长开发周期、增加生产成本。



技术实现要素:

本发明所要解决的技术问题是提供一种基于客户端同步的xbox平台多人游戏接入控制方法,采取客户端同步游戏服务器和xboxlive服务器上玩家状态,保证游戏运行准确率,提高游戏运行效率。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于客户端同步的xbox平台多人游戏接入控制方法,用于针对xboxlive平台与游戏服务器并存的情况,实现多人游戏接入控制;包括发起客户端邀请目标客户端共同游戏模式,其中,由发起客户端基于其在游戏服务器上的空闲状态,同步其在xboxlive平台上的状态,并先向xboxlive平台请求构建微软房间,再向游戏服务器请求构建游戏房间;然后由发起客户端经过xboxlive平台向目标客户端发送邀请请求,实现游戏外邀请,目标客户端基于其在游戏服务器上的空闲状态,同步其在xboxlive平台上的状态,先加入发起客户端的微软房间,再加入发起客户端的游戏房间,实现发起客户端与目标客户端的共同游戏。

作为本发明的一种优选技术方案,所述发起客户端邀请目标客户端共同游戏模式,包括如下步骤:

步骤a1.发起客户端根据游戏服务器对其所下发的状态信息,确认其在游戏服务器上的状态是否为空闲,是则进入步骤a2;否则发起客户端进入断线重连模式,然后重新执行步骤a1;

步骤a2.发起客户端重置其在xboxlive平台上的状态为空闲,若重置成功,则进入步骤a3;若重置失败,则结束共同游戏模式;

步骤a3.发起客户端向xboxlive平台请求创建微软房间,且微软房间的最大客户端数等于游戏服务器上单个房间的最大客户端数,若请求成功,则进入步骤a4;若请求失败,则结束共同游戏模式;

步骤a4.xboxlive平台创建微软房间,并将微软房间的微软房间号返回给发起客户端,若创建成功,则进入步骤a5;若创建失败,则结束共同游戏模式;

步骤a5.发起客户端记录所获微软房间号,并转发至游戏服务器,同时向游戏服务器请求创建游戏房间,若请求成功,则进入步骤a6;若请求失败,则发起客户端退出其微软房间,并重置其在xboxlive平台上的状态为空闲,然后结束共同游戏模式;

步骤a6.游戏服务器记录所获微软房间号,并创建游戏房间,同时将游戏房间的游戏房间号返回给发起客户端,若创建成功,则进入步骤a7;若创建失败,则发起客户端退出其微软房间,并重置其在xboxlive平台上的状态为空闲,然后结束共同游戏模式;

步骤a7.发起客户端向xboxlive平台发送邀请目标客户端的请求,并由xboxlive平台将此请求发送至目标客户端,若邀请请求发送成功,则进入步骤a8;若邀请请求发送失败,则xboxlive平台向发起客户端返回邀请请求发送失败信息,发起客户端根据需求,结束共同游戏模式;针对目标客户端,重新执行步骤a7;或者针对其他目标客户端,重新执行步骤a7操作;

步骤a8.目标客户端接收来自xboxlive平台所发送请求中的邀请,并向游戏服务器确认其在游戏服务器上的状态是否为空闲,是则进入步骤a9;否则目标客户端接收邀请的行为被游戏服务器拦截;

步骤a9.目标客户端向xboxlive平台请求加入发起客户端的微软房间,若请求成功,则进入步骤a10;若请求失败,则xboxlive平台向目标客户端返回请求失败信息;

步骤a10.待xboxlive平台将目标客户端加入至发起客户端的微软房间后,目标客户端向游戏服务器请求加入发起客户端的游戏房间,若请求成功,则进入步骤a11;若请求失败,则目标客户端退出发起客户端的微软房间,并重置其在xboxlive平台上的状态为空闲,并返回步骤a9;

步骤a11.待游戏服务器将目标客户端加入至发起客户端的游戏房间后,游戏服务器向目标客户端返回其所加入游戏房间的游戏房间号,实现发起客户端与目标客户端的共同游戏。

作为本发明的一种优选技术方案:所述步骤a3中,发起客户端向xboxlive平台请求创建微软房间,并设定该微软房间为公共可见。

作为本发明的一种优选技术方案,还包括多人分别邀请组队,并进行战队匹配游戏模式,其中,首先两个战队分别通过如下方式进行组队:

发起客户端基于其在游戏服务器上的空闲状态,向xboxlive平台请求构建微软房间,接着由发起客户端经过xboxlive平台向目标客户端发送邀请请求,实现游戏外邀请,目标客户端基于其在游戏服务器上的空闲状态,加入发起客户端的微软房间;

然后基于所组建的两个战队,通过如下方式匹配:

游戏服务器创建游戏房间,并随机选择两战队中一支战队的发起客户端作为游戏房间的房主,接着另一支战队的全体客户端先退出其所在微软房间,再加入游戏房间房主所在的微软房间,最后另一支战队的全体客户端加入游戏房间,实现两战队的匹配,并进行游戏。

作为本发明的一种优选技术方案,所述多人分别邀请组队,并进行战队匹配游戏模式,包括如下步骤:

步骤b.分别采用如下步骤b1至步骤b7的操作,分别实现两战队的组队,然后进入步骤c;

步骤b1.发起客户端作为战队队长,根据游戏服务器对其所下发的状态信息,确认其在游戏服务器上的状态是否为空闲,是则进入步骤b2;否则发起客户端进入断线重连模式,然后重新执行步骤b1;

步骤b2.发起客户端重置其在xboxlive平台上的状态为空闲,若重置成功,则进入步骤b3;若重置失败,则结束战队匹配游戏模式;

步骤b3.发起客户端向xboxlive平台请求创建微软房间,并设该微软房间为公共可见,且微软房间的最大客户端数等于游戏服务器上单个房间的最大客户端数,若请求成功,则进入步骤b4;若请求失败,则发起客户端退出其微软房间,并结束战队匹配游戏模式;

步骤b4.xboxlive平台创建微软房间,并将微软房间的微软房间号返回给发起客户端,若创建成功,则进入步骤b5;若创建失败,则结束战队匹配游戏模式;

步骤b5.发起客户端向xboxlive平台发送邀请目标客户端的请求,并由xboxlive平台将此请求发送至目标客户端,若邀请请求发送成功,则进入步骤b6;若邀请请求发送失败,则xboxlive平台向发起客户端返回邀请请求发送失败信息,发起客户端根据需求,结束共同游戏模式;针对目标客户端,重新执行步骤b5;或者针对其他目标客户端,重新执行步骤b5操作;

步骤b6.目标客户端接收来自xboxlive平台所发送请求中的邀请,并向游戏服务器确认其在游戏服务器上的状态是否为空闲,是则进入步骤b7;否则目标客户端接收邀请的行为被游戏服务器拦截;

步骤b7.目标客户端向xboxlive平台请求加入发起客户端的微软房间,由xboxlive平台将目标客户端加入至发起客户端的微软房间,若加入成功,则实现发起客户端与目标客户端之间的战队组合;若加入失败,则xboxlive平台向目标客户端返回请求失败信息;

步骤c.游戏服务器创建游戏房间,并针对两战队,随机选择一个战队的队长作为游戏房间的房主,相对游戏房间房主所在战队的另一个战队作为待加入战队,然后进入步骤d;

步骤d.游戏房间房主所在战队中的客户端不做任何操作,待加入战队中的全体客户端均向xboxlive平台请求退出其所在微软房间,并向xboxlive平台请求加入游戏房间房主所在的微软房间,然后进入步骤e;

步骤e.xboxlive平台将待加入战队中的全体客户端加入至游戏房间房主所在的微软房间后,待加入战队所在的微软房间销毁,待加入战队中的全体客户端均向游戏服务器请求加入游戏房间房主所在的游戏房间,然后进入步骤f;

步骤f.游戏服务器将待加入战队中的全体客户端加入至游戏房间,实现两战队的匹配,并进行游戏。

作为本发明的一种优选技术方案,还包括客户端掉线再上线控制方法,如下步骤所示:

步骤g.游戏中客户端掉线,游戏服务器上保留掉线客户端在游戏中最后时刻的状态,并开始计时,同时,若游戏结束之前掉线客户端上线,则进入步骤h;若游戏结束时,掉线客户端没有上线,则游戏服务器重置掉线客户端的状态为空闲,同时,根据掉线客户端在其对应xboxlive平台上状态为非空闲的时长,控制掉线客户端在xboxlive平台上的状态为空闲,掉线客户端再上线控制结束;

步骤h.掉线客户端向游戏服务器请求同步其在游戏服务器上的状态,并获取其在游戏中最后时刻所对应微软房间号,然后进入步骤i;

步骤i.判断自掉线客户端的掉线时刻起,至掉线客户端上线时刻,经过时长是否达到来自游戏服务器的预设缓存时长,是则进入步骤k;否则进入步骤j;

步骤j.掉线客户端根据从游戏服务器所获微软房间号,直接进入微软房间,并向xboxlive平台同步其状态,掉线客户端再上线控制结束;

步骤k.掉线客户端根据从游戏服务器所获微软房间号,先进入微软房间,然后进入游戏房间,并向xboxlive平台同步其状态,掉线客户端再上线控制结束。

作为本发明的一种优选技术方案:所述步骤g中,在游戏结束时刻,掉线客户端没有上线,游戏服务器重置掉线客户端的状态为空闲的同时,根据掉线客户端在其对应xboxlive平台上状态为非空闲的时长,按如下方法,控制掉线客户端在xboxlive平台上的状态为空闲,掉线客户端再上线控制结束;

以掉线客户端在其对应xboxlive平台上状态为非空闲的时长,达到xboxlive平台上所预设最大单次游戏战斗时长之时的时间点,作为参照时间点,若该参照时间点掉线客户端在线,则由掉线客户端根据其在游戏服务器上的空闲状态,重置其在xboxlive平台上的状态为空闲;

若该参照时间点掉线客户端不在线,则xboxlive平台重置掉线客户端在xboxlive平台上的状态为空闲,掉线客户端再上线时,掉线客户端根据其在游戏服务器上的空闲状态,重置其在xboxlive平台上的状态为空闲。

作为本发明的一种优选技术方案:所述预设缓存时长为5分钟。

作为本发明的一种优选技术方案:所述客户端在开始游戏之前,均由客户端首先向xboxlive平台发送游戏开始事件,然后开始游戏;并且客户端在结束游戏之前,均由客户端首先向xboxlive平台发送游戏结束事件,然后结束游戏。

本发明所述一种基于客户端同步的xbox平台多人游戏接入控制方法的应用系统,采用以上技术方案与现有技术相比,具有以下技术效果:本发明所设计基于客户端同步的xbox平台多人游戏接入控制方法,实现xbox系列游戏机上多人网络对战游戏的游戏外邀请功能,解决玩家、房间状态数据在开发者游戏服务器与xboxlive服务器之间同步,导致打断原有业务流程的问题,使“游戏房间”和“微软房间”的功能融合并统一状态;避免修改游戏服务器引擎稳定的“游戏房间”功能,避免逻辑业务开发人员打乱原有的业务流程重新开发;能够快速地移植传统pc平台上的多人对战网络游戏到xbox平台,使得游戏产品符合微软强制要求,产品可以上线发布;增强了xboxlive平台对于传统pc平台多人对战网游快速移植的伸缩性;提高产品研发的效率、缩短开发周期、降低生产人力成本。

附图说明

图1是本发明基于客户端同步的xbox平台多人游戏接入控制方法的流程示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明设计了一种基于客户端同步的xbox平台多人游戏接入控制方法,用于针对xboxlive平台与游戏服务器并存的情况,实现多人游戏接入控制;包括发起客户端邀请目标客户端共同游戏模式,其中,由发起客户端基于其在游戏服务器上的空闲状态,同步其在xboxlive平台上的状态,并先向xboxlive平台请求构建微软房间,再向游戏服务器请求构建游戏房间;然后由发起客户端经过xboxlive平台向目标客户端发送邀请请求,实现游戏外邀请,目标客户端基于其在游戏服务器上的空闲状态,同步其在xboxlive平台上的状态,先加入发起客户端的微软房间,再加入发起客户端的游戏房间,实现发起客户端与目标客户端的共同游戏,实际应用过程当中,如图1所示,发起客户端邀请目标客户端共同游戏模式,具体包括如下步骤:

步骤a1.发起客户端根据游戏服务器对其所下发的状态信息,确认其在游戏服务器上的状态是否为空闲,是则进入步骤a2;否则发起客户端进入断线重连模式,然后重新执行步骤a1。

步骤a1中的设计,要保证xboxlive平台上此人的状态正确,否则其它一些xboxlive平台功能,例如别人邀请这个发起客户端,可能会因为此人状态不正确而收不到邀请,或者是别人在xboxlive平台中查看此人状态(微软状态)时,显示不正确。

步骤a2.发起客户端重置其在xboxlive平台上的状态为空闲,若重置成功,则进入步骤a3;若重置失败,则结束共同游戏模式。

步骤a3.发起客户端向xboxlive平台请求创建微软房间,并设定该微软房间为公共可见,以及微软房间的最大客户端数等于游戏服务器上单个房间的最大客户端数,若请求成功,则进入步骤a4;若请求失败,则结束共同游戏模式。

在步骤a3中,设定微软房间为公共可见的原因是:默认情况下微软的sdk中会设置为只有好友可见,那么其他和发起客户端不是xboxlive平台上好友的人,都不能加入,而绝大多数对战网游,都有这么一个需求:当组队匹配的时候(即本专利后面提到的多人分别邀请组队,并进行战队匹配游戏模式),己方队伍和另一队里的人可能都不是发起客户端的xboxlive平台好友,那么我还要能让他们突破xboxlive平台上好友的限制可以一起玩。这点虽然在国内网游里很常见,但是在xboxlive平台上,在国外并不常见,国外更倾向于只有好友才能一起玩。即这里设定微软房间为公共可见的原因,使得不是xboxlive平台好友的人,也要能加入一起玩。

步骤a4.xboxlive平台创建微软房间,并将微软房间的微软房间号返回给发起客户端,若创建成功,则进入步骤a5;若创建失败,则结束共同游戏模式。

步骤a5.发起客户端记录所获微软房间号,并转发至游戏服务器,同时向游戏服务器请求创建游戏房间,若请求成功,则进入步骤a6;若请求失败,则发起客户端退出其微软房间,并重置其在xboxlive平台上的状态为空闲,然后结束共同游戏模式。

步骤a6.游戏服务器记录所获微软房间号,并创建游戏房间,同时将游戏房间的游戏房间号返回给发起客户端,若创建成功,则进入步骤a7;若创建失败,则发起客户端退出其微软房间,并重置其在xboxlive平台上的状态为空闲,然后结束共同游戏模式。

步骤a7.发起客户端向xboxlive平台发送邀请目标客户端的请求,并由xboxlive平台将此请求发送至目标客户端,若邀请请求发送成功,则进入步骤a8;若邀请请求发送失败,则xboxlive平台向发起客户端返回邀请请求发送失败信息,发起客户端根据需求,结束共同游戏模式;针对目标客户端,重新执行步骤a7;或者针对其他目标客户端,重新执行步骤a7操作。

步骤a8.目标客户端接收来自xboxlive平台所发送请求中的邀请,并向游戏服务器确认其在游戏服务器上的状态是否为空闲,是则进入步骤a9;否则目标客户端接收邀请的行为被游戏服务器拦截。

步骤a9.目标客户端向xboxlive平台请求加入发起客户端的微软房间,若请求成功,则进入步骤a10;若请求失败,则xboxlive平台向目标客户端返回请求失败信息。

步骤a10.待xboxlive平台将目标客户端加入至发起客户端的微软房间后,目标客户端向游戏服务器请求加入发起客户端的游戏房间,若请求成功,则进入步骤a11;若请求失败,则目标客户端退出发起客户端的微软房间,并重置其在xboxlive平台上的状态为空闲,并返回步骤a9。

步骤a11.待游戏服务器将目标客户端加入至发起客户端的游戏房间后,游戏服务器向目标客户端返回其所加入游戏房间的游戏房间号,实现发起客户端与目标客户端的共同游戏。

将上述所设计发起客户端邀请目标客户端共同游戏模式技术方案,应用到实际当中的测试结果是:玩家a、b在xboxlive平台及游戏服务器上的玩家状态同步,游戏服务器上的游戏业务逻辑功能正常,xboxlive平台上依赖玩家状态的服务如“游戏外邀请”、游戏状态、activity、herostatus等皆工作正常。xboxlive平台自带的房间功能和游戏业务逻辑成功融合,不需要改动游戏服务器引擎代码、上层逻辑开发人员不需要考虑网络异步操作以致打断游戏业务流程,可以快速进行移植适配,提高了研发效率,减少了开发周期,从而降低了生产的人力成本。

本发明设计的一种基于客户端同步的xbox平台多人游戏接入控制方法,除了包括发起客户端邀请目标客户端共同游戏模式,还包括多人分别邀请组队,并进行战队匹配游戏模式,其中,首先两个战队分别通过如下方式进行组队:

发起客户端基于其在游戏服务器上的空闲状态,向xboxlive平台请求构建微软房间,接着由发起客户端经过xboxlive平台向目标客户端发送邀请请求,实现游戏外邀请,目标客户端基于其在游戏服务器上的空闲状态,加入发起客户端的微软房间。

然后基于所组建的两个战队,通过如下方式匹配:

游戏服务器创建游戏房间,并随机选择两战队中一支战队的发起客户端作为游戏房间的房主,接着另一支战队的全体客户端先退出其所在微软房间,再加入游戏房间房主所在的微软房间,最后另一支战队的全体客户端加入游戏房间,实现两战队的匹配,并进行游戏。

上述多人分别邀请组队,并进行战队匹配游戏模式,实际应用当中,具体包括如下步骤:

步骤b.分别采用如下步骤b1至步骤b7的操作,分别实现两战队的组队,然后进入步骤c。

步骤b1.发起客户端作为战队队长,根据游戏服务器对其所下发的状态信息,确认其在游戏服务器上的状态是否为空闲,是则进入步骤b2;否则发起客户端进入断线重连模式,然后重新执行步骤b1。

步骤b2.发起客户端重置其在xboxlive平台上的状态为空闲,若重置成功,则进入步骤b3;若重置失败,则结束战队匹配游戏模式。

步骤b3.发起客户端向xboxlive平台请求创建微软房间,并设该微软房间为公共可见,且微软房间的最大客户端数等于游戏服务器上单个房间的最大客户端数,若请求成功,则进入步骤b4;若请求失败,则发起客户端退出其微软房间,并结束战队匹配游戏模式。

步骤b4.xboxlive平台创建微软房间,并将微软房间的微软房间号返回给发起客户端,若创建成功,则进入步骤b5;若创建失败,则结束战队匹配游戏模式。

步骤b5.发起客户端向xboxlive平台发送邀请目标客户端的请求,并由xboxlive平台将此请求发送至目标客户端,若邀请请求发送成功,则进入步骤b6;若邀请请求发送失败,则xboxlive平台向发起客户端返回邀请请求发送失败信息,发起客户端根据需求,结束共同游戏模式;针对目标客户端,重新执行步骤b5;或者针对其他目标客户端,重新执行步骤b5操作。

步骤b6.目标客户端接收来自xboxlive平台所发送请求中的邀请,并向游戏服务器确认其在游戏服务器上的状态是否为空闲,是则进入步骤b7;否则目标客户端接收邀请的行为被游戏服务器拦截。

步骤b7.目标客户端向xboxlive平台请求加入发起客户端的微软房间,由xboxlive平台将目标客户端加入至发起客户端的微软房间,若加入成功,则实现发起客户端与目标客户端之间的战队组合;若加入失败,则xboxlive平台向目标客户端返回请求失败信息。

步骤c.游戏服务器创建游戏房间,并针对两战队,随机选择一个战队的队长作为游戏房间的房主,相对游戏房间房主所在战队的另一个战队作为待加入战队,然后进入步骤d。

步骤d.游戏房间房主所在战队中的客户端不做任何操作,待加入战队中的全体客户端均向xboxlive平台请求退出其所在微软房间,并向xboxlive平台请求加入游戏房间房主所在的微软房间,然后进入步骤e。

步骤e.xboxlive平台将待加入战队中的全体客户端加入至游戏房间房主所在的微软房间后,待加入战队所在的微软房间销毁,待加入战队中的全体客户端均向游戏服务器请求加入游戏房间房主所在的游戏房间,然后进入步骤f。

步骤f.游戏服务器将待加入战队中的全体客户端加入至游戏房间,实现两战队的匹配,并进行游戏。

将上述所设计多人分别邀请组队,并进行战队匹配游戏模式技术方案,应用到实际当中的测试结果是:玩家a、b、c、d在xboxlive平台及游戏服务器上的玩家状态同步,游戏服务器上的游戏业务逻辑功能正常,xboxlive平台上依赖玩家状态的服务如“游戏外邀请”、游戏状态、activity、herostatus等皆工作正常。xboxlive平台自带的房间功能和游戏业务逻辑成功融合,不需改动过多的业务流程即可快速移植传统pc平台多人网络对战游戏到xbox系列平台,增强了xboxlive平台对于传统pc平台多人对战网游移植的伸缩性。

本发明设计的一种基于客户端同步的xbox平台多人游戏接入控制方法中,除了包括发起客户端邀请目标客户端共同游戏模式,以及多人分别邀请组队,并进行战队匹配游戏模式外,本发明还设计包括了客户端掉线再上线控制方法,如下步骤所示:

步骤g.游戏中客户端掉线,游戏服务器上保留掉线客户端在游戏中最后时刻的状态,并开始计时,同时,若游戏结束之前掉线客户端上线,则进入步骤h;若游戏结束时,掉线客户端没有上线,游戏服务器重置掉线客户端的状态为空闲的同时,根据掉线客户端在其对应xboxlive平台上状态为非空闲的时长,按如下方法,控制掉线客户端在xboxlive平台上的状态为空闲,掉线客户端再上线控制结束;

以掉线客户端在其对应xboxlive平台上状态为非空闲的时长,达到xboxlive平台上所预设最大单次游戏战斗时长之时的时间点,作为参照时间点,若该参照时间点掉线客户端在线,则由掉线客户端根据其在游戏服务器上的空闲状态,重置其在xboxlive平台上的状态为空闲;

若该参照时间点掉线客户端不在线,则xboxlive平台重置掉线客户端在xboxlive平台上的状态为空闲,掉线客户端再上线时,掉线客户端根据其在游戏服务器上的空闲状态,重置其在xboxlive平台上的状态为空闲。

步骤h.掉线客户端向游戏服务器请求同步其在游戏服务器上的状态,并获取其在游戏中最后时刻所对应微软房间号,然后进入步骤i。

步骤i.判断自掉线客户端的掉线时刻起,至掉线客户端上线时刻,经过时长是否达到来自游戏服务器的预设缓存时长,是则进入步骤k;否则进入步骤j;其中,预设缓存时长为5分钟。

步骤j.掉线客户端根据从游戏服务器所获微软房间号,直接进入微软房间,并向xboxlive平台同步其状态,掉线客户端再上线控制结束。

步骤k.掉线客户端根据从游戏服务器所获微软房间号,先进入微软房间,然后进入游戏房间,并向xboxlive平台同步其状态,掉线客户端再上线控制结束。

本发明设计的一种基于客户端同步的xbox平台多人游戏接入控制方法中,在执行上述发起客户端邀请目标客户端共同游戏模式,多人分别邀请组队,并进行战队匹配游戏模式,以及客户端掉线再上线控制方法的同时,所述客户端在开始游戏之前,均由客户端首先向xboxlive平台发送游戏开始事件,然后开始游戏;并且客户端在结束游戏之前,均由客户端首先向xboxlive平台发送游戏结束事件,然后结束游戏。

上述技术方案所设计基于客户端同步的xbox平台多人游戏接入控制方法,实现xbox系列游戏机上多人网络对战游戏的游戏外邀请功能,解决玩家、房间状态数据在开发者游戏服务器与xboxlive服务器之间同步,导致打断原有业务流程的问题,使“游戏房间”和“微软房间”的功能融合并统一状态;避免修改游戏服务器引擎稳定的“游戏房间”功能,避免逻辑业务开发人员打乱原有的业务流程重新开发;能够快速地移植传统pc平台上的多人对战网络游戏到xbox平台,使得游戏产品符合微软强制要求,产品可以上线发布;增强了xboxlive平台对于传统pc平台多人对战网游快速移植的伸缩性;提高产品研发的效率、缩短开发周期、降低生产人力成本。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1