本发明涉及游戏技术领域,更具体地说,它涉及移动终端网页游戏技术,尤其涉及一种基于移动终端的网页游戏实时对战的实现方法。
背景技术:
移动终端网页游戏是基于移动终端的web网页浏览器的网络游戏,无需下载客户端,主要是指基于html5的网页游戏,游戏的实体是网页形式,主要是移动终端的网页浏览器或者像微信这一类软件微信的内置浏览器来显示与进行游戏。
目前html5的网页游戏比如说“见缝插针”、“找你妹”等html5的网页游戏,都是单机游戏,玩家不能与其他玩家一起实时对战,只能在未进行游戏时通过查询玩家排行榜来获知其他玩家的战绩。这就造成目前的html5网页游戏,玩家之间没有实时互动,游戏体验差。
技术实现要素:
针对现有技术存在的不足,本发明的目的在于提供一种基于移动终端的网页游戏实时对战的实现方法,利用该方法可以实现html5的网页游戏玩家之间的实时对战互动。
为实现上述目的,本发明提供了如下技术方案:
一种基于移动终端的网页游戏实时对战的实现方法,包括如下步骤:
s1、将各个玩家的客户端与服务器建立长连接;
s2、由一名玩家在客户端上的网页端创建游戏房间,其他玩家在各自的网页端上根据房间id查询服务器并进入该游戏房间内;
s3、由创建游戏房间的玩家在网页端发起开始游戏,其他玩家也同时开始游戏;
s4、当游戏玩家有分数产生时,网页端通过客户端将分数上传至服务器,服务器将接收到的玩家分数发送至各个客户端,各个网页端对玩家分数实时显示。
采用上述方案,在游戏进行的过程中,在同一个游戏房间内的玩家有分数产生时,该玩家的客户端将分数上传至服务器,服务器再将该分数发送至该房间内的其他客户端,其他客户端上的网页端就能显示该分数,这样玩家可以看到其他玩家的实时对战分数。该方法增强了玩家间的互动性,提高了游戏的趣味性。
作为优选方案:所述客户端与服务器建立长连接是靠发送心跳包实现的。
作为优选方案:所述房间id是由服务器根据玩家id和时间戳生成的。
采用上述方案,可以保证服务器生成的房间id为唯一的id,防止出现相同的房间id,保证各个玩家能找到指定的房间。
作为优选方案:在创建房间的玩家发起开始游戏后,服务器会将该玩家的id与当前房间id进行比对,以验证该玩家是否为当前房间的房主,只有在验证成功时,才能发起房间内所有玩家开始游戏。
采用上述方案,在房主发起开始游戏的命令时,服务器对其身份进行验证,确定其确实为当前房间的房主后才会通知该房间内的其他玩家开始游戏,这样能保证游戏的安全性,避免外挂。
与现有技术相比,本发明的优点是:本发明在传统的html5网页游戏的基础上加入了玩家间实时对战的功能,颠覆了传统的html5的网页游戏玩法,增强了html5网页游戏的趣味性,并且使网页游戏有了竞技性、互动性。
附图说明
图1为客户端与服务器建立连接的交互流程图;
图2为创建房间和加入房间的交互流程图;
图3为玩家之间实时对战的交互流程图。
具体实施方式
本发明是通过以下技术方案实现:
玩家通过客户端上的装载的浏览器,访问网页游戏网站,打开网页游戏。
客户端和服务器端建立长连接通信,长连接建立之后,客户端需要向服务器发送心跳包,保持两者之间的长连接一直存在,并且能正常进行通信,如图1所示。
参照图2和图3,玩家需要在客户端的网页游戏中建立一个游戏房间,服务器会根据玩家的id和时间戳生成一个唯一的房间id,其他的玩家通过手中的客户端打开网页游戏,并在网页游戏界面输入房间id点击查询或是在游戏的房间列表中点击已经创建的房间列表,点击就可以进入游戏房间。
建立房间的客户端点击开始游戏之后,服务器收到房主的开始游戏命令后,会对房主信息进行检测,如果房主id和房间id一致,则判断发起开始游戏的确实是该房间的房主,此时,服务器会给房间内所有的玩家发送开始游戏命令,房间内的所有成员收到开始游戏命令后,客户端会调用浏览器内核打开网页游戏进行游戏实时对战。
客户端玩网页游戏产生分数时,网页端通过javascript接口,调用web端即时通信技术,通过客户端的浏览器内核把分数发送至客户端,客户端得到分数之后,将分数上传至服务器,服务器将该分数发送至该房间内的其他客户端,其他客户端收到分数之后,又调用javascript接口,通过客户端的浏览器内核把分数传给网页端,这样所有玩家在网页端都知道了别人的实时分数,达到了实时对战的目标。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。