游戏地图镜像对称方法与系统与流程

文档序号:18897530发布日期:2019-10-18 21:28阅读:974来源:国知局
游戏地图镜像对称方法与系统与流程

本发明涉及手机游戏技术领域,特别涉及一种游戏地图镜像对称方法与系统。



背景技术:

随着主机端多人在线战术竞技游戏(multiplayeronlinebattlearena,简称moba)游戏的火热,这种热潮也延伸到了手机游戏市场。许多手机游戏厂商纷纷推出自己的moba手游,因为鼠标和触屏操作方式的不同,主机端的游戏视角是非锁定的,可以很轻松地通过鼠标进行移动切换视角。而moba类手游的游戏视角基本都是锁定式的,并且为了极大提高玩家的游戏体验,都设置成以俯视倾斜的方式,实时锁定并跟随人物运动。

然而,发明人经研究发现,如图1所示,现有技术中这种第三人称俯视倾斜视角带来的好处是视角是非对称的,玩家控制的人物并不在视野正中心,而是偏左下位置,离相机更近,从而使得人物在画面中更加饱满,观感也会更加舒服。同时它让左下阵营的玩家能看到更多地右上角的视野区域即危险区域,但同时也减少了左下角的视野区域即安全区域;同理,右上阵营的玩家能看到更多的右上角的视野区域即安全区域,同时也减少了左下角的视野区域即安全区域。然而,在这种机制下,由于不可避免的视野差,这样的双方在交战时,处于左下阵营的玩家就存在优势,而处于右上阵营的玩家就存在劣势。

在不改变第三人称俯视倾斜视角的前提下,又要保证游戏平衡性,目前大多数手机游戏采用的折中方案是将右上阵营地图进行180度的旋转,同时保持相机偏移量不变。由于地图翻转180度后,仍然是对称的,同时右上阵营的玩家的右上视野从安全变为危险,左下视野从危险变为安全,和左下阵营的玩家的视野是保持一致的,这就不存在视角差带来的优劣势了。但是其同时又带来了另外一个问题,如图2所示,翻转后右上阵营的玩家眼中所认为的下路其实是左下阵营的玩家眼中认为的上路,这就使得在英雄出发分路问题上产生了矛盾,例如,moba游戏中的1号位和5号位选择走下路,4号位选择走上路。未翻转前,双方的1号位和5号位都走下路,双方正常交战,这是合理的情况。但是翻转后,右上阵营的玩家的1号位和5号位,却遇上了左下阵营的玩家的4号位,这就使得玩家在分路问题上产生了矛盾。



技术实现要素:

基于此,为解决现有技术中的技术问题,特提出了一种游戏地图镜像对称方法。

本发明提供一种游戏地图镜像对称方法,包括如下步骤:

步骤1,根据客户端地图资源的网格数据输出二进制文件,将所述二进制文件提供给服务器端作为服务器端人工智能单位移动和寻路文件,以保证客户端以及服务器端在移动和寻路处理上保持同步;

步骤2,将游戏资源载入游戏进程中,并根据数据配表将人物和野怪放置于指定的地点;所述游戏资源包括游戏地图、游戏人物模型、野怪模型;

步骤3,在游戏进程中加载虚拟摇杆,所述虚拟摇杆的x轴正方向对应于游戏人物的x轴正方向,所述虚拟摇杆的y轴正方向对应于游戏人物的z轴正方向;游戏玩家通过操作虚拟摇杆控制游戏人物的x/z轴移动,使得其操作的游戏人物在游戏地图上行走;

步骤4,在游戏进程中加载相机模块并设置参数,从配表中读取位置偏移量、欧拉角度以及视野范围对相机模块进行初始化,使得相机每帧都跟随玩家操控的游戏人物进行移动;

步骤5,设置相机为正交投影相机,并且设置位置偏移量数据,包括x/y/z轴的偏移量、绕y轴旋转的角度值、视野范围值;

步骤6,判断当前游戏玩家所处的阵营位置;当游戏玩家位于左下阵营时,结束当前操作;当游戏玩家位于右上阵营时,执行以下步骤;

步骤7,在当前游戏玩家客户端中的相机模块执行渲染前,将相机位置翻转至当前游戏玩家的游戏地图左下角,将相机模块的世界转相机矩阵乘以镜像矩阵,并开启底层图形接口的反转剔除;

步骤8,所述相机模块进行渲染,在相机模块渲染完成后重置相机模块的世界转相机矩阵,重置相机位置,关闭底层图形接口的反转剔除,从而使得相机模块恢复至渲染前的起始状态,以便于下一帧渲染时重新绘制相机画面;

步骤9,将当前游戏玩家的客户端中所述虚拟摇杆的x轴正方向修改为对应于游戏人物的x轴反方向,将所述虚拟摇杆的y轴正方向修改为对应于游戏人物的z轴反方向;结束当前操作。

在一种实施例中,所述虚拟摇杆具有分为内外两圈的双圆形区域;游戏玩家通过手指的按压滑动来控制内圈的移动,所述内圈限制在外圈内移动;以外圈的中心建立xy坐标系;其中,所述虚拟摇杆的x轴的取值范围为[-1,1],所述虚拟摇杆的y轴的取值范围为[-1,1];

在一种实施例中,所述数据配置表中读取的位置偏移量为(0,14,-8.5),欧拉角度为(45,0,0),视野范围为45°;在初始化相机时设置相机角度为读取的欧拉角度、视野范围,通过每帧处理使得相机位置等于游戏人物位置加上位置偏移量,从而保证相机以俯视效果实时跟随人物运动;

在一种实施例中,所述游戏地图为矩形,游戏阵营分为左下阵营和右上阵营,每个游戏阵营分为上中下三条游戏线路;将左下阵营和右上阵营分割开的中间斜对角线为河道;不同游戏线路之间的区域为野区,所述野区会在游戏进程中的确定时间、确定地点出现野怪;

在一种实施例中,在相机执行渲染前将相机的世界转相机矩阵乘以镜像矩阵,从而将游戏地图上的物体沿着所述游戏地图的中间斜对角线进行翻转;所述镜像矩阵为:

在相机模块执行渲染前将相机位置坐标(x,y,z)翻转成为(-z,y,-x),即沿着游戏地图的中间斜对角线(河道)进行了翻转,因为此时右上阵营的游戏人物已经被翻转到了游戏地图的左下角;

此外,为解决现有技术中的技术问题,特提出了一种游戏地图镜像对称系统。

资源加载模块,所述资源加载模块用于加载游戏资源至游戏进程内;所述游戏资源包括游戏地图、人物模型、野怪模型;

虚拟摇杆控制模块,所述摇杆控制模块用于游戏玩家利用客户端控制游戏人物在地图上的移动,并实现二维坐标到三维坐标的映射;

地图缩略模块,所述地图缩略模块用于通过三维立体空间到二维平面空间的转换算法将三维地图实时显示到二维地图图像上,以方便游戏玩家查看二维地图图像上的战局情况;

相机模块,所述相机模块用于渲染和显示游戏地图组件以及当前游戏地图上的战斗单位;

服务器端寻路网格模块,所述服务端寻路网格模块用于输出客户端地图网格,供服务器端进行人工智能单位的移动和寻路运算。

实施本发明实施例,将具有如下有益效果:

不采用翻转对称而是镜像对称,这样就会保证右上阵营的玩家的视野既能和左下阵营的玩家一致,同时也能保证右上阵营的玩家所看到的上中下路和左下阵营的玩家所看到的上中下路是一致的。充分解决视野差带来的游戏平衡性问题,也能解决翻转对称带来的分路问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为现有技术中游戏地图显示的示意图;

图2为现有技术中游戏地图沿中心点逆时针翻转180度显示的示意图;

图3为本发明中游戏地图沿中间斜对角线镜像对称显示的示意图;

图4为本发明中游戏地图镜像对称方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明公开了一种地图镜像对称的方法与系统,基于镜面反射的原理,首先制作一张三维矩形地图,该地图是以斜对角完全对称的。载入该地图到游戏进程中,再对相机模块投影矩阵,相机模块的转矩阵进行相关转换,以及对可渲染的元素进行反转剔除。

本发明提供一种游戏地图镜像对称系统,包括:

资源加载模块,所述资源加载模块用于加载游戏资源至游戏进程内;所述游戏资源包括游戏地图、人物模型、野怪模型;

虚拟摇杆控制模块,所述摇杆控制模块用于游戏玩家利用客户端控制游戏人物在地图上的移动,并实现二维坐标到三维坐标的映射;

地图缩略模块,所述地图缩略模块用于通过三维立体空间到二维平面空间的转换算法将三维地图实时显示到二维地图图像上,以方便游戏玩家查看二维地图图像上的战局情况;

相机模块,所述相机模块用于渲染和显示地图组件以及当前地图上的战斗单位;

服务器端寻路网格模块,所述服务端寻路网格模块用于输出客户端地图网格,供服务器端进行人工智能单位的移动和寻路运算。

本发明还提供一种游戏地图镜像对称方法,包括如下步骤:

步骤1,根据客户端地图资源的网格数据输出二进制文件,将所述二进制文件提供给服务器端作为服务器端人工智能单位移动和寻路文件,以保证客户端以及服务器端在移动和寻路处理上保持同步;

步骤2,将游戏资源载入游戏进程中,并根据数据配表将人物和野怪放置于指定的地点;所述游戏资源包括游戏地图、游戏人物模型、野怪模型;

步骤3,在游戏进程中加载虚拟摇杆,所述虚拟摇杆的x轴正方向对应于游戏人物的x轴正方向,所述虚拟摇杆的y轴正方向对应于游戏人物的z轴正方向;游戏玩家通过操作虚拟摇杆控制游戏人物的x轴及z轴移动,使得其操作的游戏人物在游戏地图上行走;

在一种实施例中,所述虚拟摇杆具有分为内外两圈的双圆形区域;游戏玩家通过手指的按压滑动来控制内圈的移动,所述内圈限制在外圈内移动;以外圈的中心建立xy坐标系;其中,所述虚拟摇杆的x轴的取值范围为[-1,1],所述虚拟摇杆的y轴的取值范围为[-1,1];

步骤4,在游戏进程中加载相机模块并设置参数,从配表中读取位置偏移量、欧拉角度以及视野范围对相机模块进行初始化,使得相机每帧都跟随玩家操控的游戏人物进行移动;

在一种实施例中,所述数据配置表中读取的位置偏移量为(0,14,-8.5),欧拉角度为(45,0,0),视野范围为45°;在初始化相机时设置相机角度为读取的欧拉角度、视野范围,通过每帧处理使得相机位置等于游戏人物位置加上位置偏移量,从而保证相机以俯视效果实时跟随人物运动;

步骤5,设置相机为正交投影相机,并且设置位置偏移量数据,包括x/y/z轴的偏移量、绕y轴旋转的角度值、视野范围值;

如图3所示,在一种实施例中,所述游戏地图为矩形,游戏阵营分为左下阵营和右上阵营,每个游戏阵营分为上中下三条游戏线路;将左下阵营和右上阵营分割开的中间斜对角线为河道(l);不同游戏线路之间的区域为野区,所述野区会在游戏进程中的确定时间、确定地点出现野怪;

多人在线战术竞技游戏通过游戏人物的英雄属性可分为5类,包括射手、战士、辅助角色、法师和刺客。所述5类游戏人物在游戏战斗开始时进行分路,所述射手和所述辅助角色选择下路,所述法师选择中路,所述战士选择上路,所述刺客选择上路;

如果游戏玩家位于左下阵营,通过上述的相机模块设置,游戏玩家会得到很好的视角体验,因为其能看到更多右上视角的危险区域,从而能够更快地看到敌方阵营的游戏动态;

然而,如果右上阵营的游戏玩家的相机模块也进行同样设置,明显对于右上阵营的游戏玩家是不公平的,因此需要对位于右上阵营的游戏玩家的地图进行镜像处理,即右上阵营的游戏玩家在客户端上也能显示出和左下阵营的游戏玩家一样的视角,从而保证双方的游戏体验是一致的,保证游戏的公平性和平衡;

步骤6,判断当前游戏玩家所处的阵营位置;当游戏玩家位于左下阵营时,结束当前操作;当游戏玩家位于右上阵营时,执行以下步骤;

步骤7,在当前游戏玩家客户端中的相机模块执行渲染前,将相机位置翻转至当前游戏玩家的游戏地图左下角,将相机模块的世界转相机矩阵(worldtocameramatrix)乘以镜像矩阵,并开启底层图形接口的反转剔除(invertculling);

在一种实施例中,在相机执行渲染前将相机的世界转相机矩阵乘以镜像矩阵,从而将游戏地图上的物体沿着所述游戏地图的中间斜对角线(河流)进行翻转;所述镜像矩阵为:

在相机模块执行渲染前将相机位置坐标(x,y,z)翻转成为(-z,y,-x),即沿着游戏地图的中间斜对角线(河道)进行了翻转,因为此时右上阵营的游戏人物已经被翻转到了游戏地图的左下角;

在游戏进程中,为了提高性能效率,在gpu进行渲染时通常只渲染物体的正面;相机看到的为正面,看不到的为反面;而通过上述步骤设置后,相机看到的是游戏地图上的所有可渲染物体的反面。因此需要设置反向剔除(invertculling)为开启状态,以通知gpu实行物体反面的渲染;

步骤8,所述相机模块进行渲染,在相机模块渲染完成后重置相机模块的世界转相机矩阵,重置相机位置,关闭底层图形接口的反转剔除,从而使得相机模块恢复至渲染前的起始状态,以便于下一帧渲染时重新绘制相机画面;

步骤9,将当前游戏玩家的客户端中所述虚拟摇杆的x轴正方向修改为对应于游戏人物的x轴反方向,将所述虚拟摇杆的y轴正方向修改为对应于游戏人物的z轴反方向;结束当前操作。

由于右上阵营玩家的游戏地图进行了镜像处理,其虚拟摇杆相应地也需要进行镜像处理;当游戏玩家是左上正营的时候,虚拟摇杆的x/y轴分别对应于游戏人物的x/z轴;当游戏玩家是右上阵营时,由于游戏地图经过了镜像处理,虚拟摇杆的x/y轴分别对应于游戏人物的z/x轴。

至此,左下阵营和右上阵营的游戏玩家,在游戏客户端上看到其各自操作的游戏人物都位于左下角,而敌方均位于右上角。

实施本发明实施例,将具有如下有益效果:

相比现有技术中的moba手游的游戏地图和地图翻转对称的方法相比,本发明提出的游戏地图镜像堆成方法及系统能完全保证游戏双方的视角是一致的,不会因为视角差别带来的游戏平衡性问题,也不会存在游戏玩家在游戏地图的路径选择上发生分歧的问题。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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