设计回合制战棋类游戏的棋盘时,正方形的地图和六角形地图各有哪些优劣?

正方形网格上衡量距离有几种常用的方式:

欧几里得距离对应单位可以万向移动;曼哈顿距离对应单位只能沿上下左右移动;切比雪夫距离对应单位除了上下左右以外,还能斜向45°移动。

「切比雪夫式」移动类似国际象棋里“王”的移动(可以上下左右或斜向移动一格)。在战棋设计中,如果允许玩家操作单位以这种方式移动,看似玩家的选择更多了,但实际上容错率反而会低一些,因为斜向移动的数量会有一个下限。在上图的例子中,从A点移动到B点需要7步,这其中必须包含至少3步斜向移动(可以更多,比如到B左下方再折返回来,但不能更少),此外其他的移动必须竖直向上,否则会使得需要移动的总步数增加。假如玩家操作不慎,比如先向正左方移动了,虽然直观上这么做仍然能缩短与B点的距离,但到达B点的总步数将会增加。

也可以理解成,相比水平方向的距离,竖直方向的距离更远,那么每一步移动都必须包含竖直方向的分量(进而缩短竖直方向距离):

另外,切比雪夫式移动在画面表现上有时会觉得怪怪的。比如A点周围围满了其他单位,只有左上角是空地。从A点向左上角移动,单位仿佛就要从两个方格对角位置的缝隙里“挤”过去。如果单位本身比较庞大,占据了格子的大部分面积,而设定又是地面单位(比如方形的坦克),那它挤过去的时候就要碾过其他单位了。

「曼哈顿式」移动比较直观,也方便对应键盘、手柄的方向按键。容错率相比切比雪夫式移动稍高一些。只要玩家是在缩短与目的地的距离,不刻意绕弯路,总的移动步数是恒定的:

「欧几里得式」移动在战棋中比较少,更多的是出现在单位并非固定于整数格点的即时战略游戏中,因为中途它会经过许多非整数格点的位置,操作方式也更多是使用鼠标直接点击目的地。在这种方式里,单位走了少许弯路,只要大方向差别不大,总的移动距离只会少量增加:

几种移动方式下,相同距离的目的地形成的「等距线」也不一样:

曼哈顿距离可以将横纵坐标差值相加得到,计算简单。但单位向斜方向移动的能力显得太弱了。如图中突出显示的位置,需要8步才能到达,但直观看上去它和原点的距离完全没有那么远。

切比雪夫距离可以取横纵坐标差值的较大值得到,计算也很简单。但单位在斜方向上移动能力又太强了。8步能移动到角落处,直观看上去这里远不止“8格”距离。

欧几里得距离算是两者的折中,可以让横纵方向的距离作为直角边,用勾股定理计算得到,计算量稍大一些(涉及开方)。虽然战棋中也可以用,但它又不利于玩家一眼迅速判断两格之间的距离。

六边形网格在计算机中的坐标表示、距离计算会稍微麻烦一些。可能不得不用分数来表示网格坐标,计算距离也需要单独编写。但六边形比起正方形更接近圆一些,距离显得直观很多,它的等距线总是一圈一圈围着原点向外扩展:

如今一些战棋游戏似乎更倾向于采用六边形网格,比如太空帝国5,就从前作的正方形网格换成了六边形网格。文明VI、三国志等也是如此。当然也有不少游戏更钟情于正方形网格,算是各有所爱吧。


有人提到在正方形网格中允许45°斜向移动,但消耗的步数不为整数的情况,比如根号2、1.5之类。我也稍做了些研究,在这里分享一下结果吧。

以横竖方向上移动消耗1步为准,假设斜向移动消耗的步数是k:

k的合理范围是区间[1, 2]。以上图为例:

如果k大于2,那么从A点移至C点,走A-B-C的路径比直接A到C更节省步数,就没有必要选后者了。

如果k小于1,那么从A点移至D点,走A-C-D比A-B-D更节省步数,变成了「沿45°蛇皮走位比直达更快」,也不合理。

k越小,表明单位沿斜向移动的能力越强。k=1时就是切比雪夫式移动,而k=2则是曼哈顿式移动。k在(1, 2)范围内意味着「A-C比A-B更远,但比A-B-C拐弯更近」。此时单位移动到某个位置所需的最少步数(两点的距离)可以这样计算得到:

距离(k) = max(横坐标差值, 纵坐标差值) + (k-1) × min(横坐标差值, 纵坐标差值)

曼哈顿式移动,k=2:

距离(曼哈顿)= max(横坐标差值, 纵坐标差值) + min(横坐标差值, 纵坐标差值),它等于 横坐标差值+纵坐标差值

切比雪夫式移动,k=1:

距离(切比雪夫) = max(横坐标差值, 纵坐标差值)

根据距离(k)可以画出类似的「等距线」,它是内角随k变化的八边形。k取不同的值,对单位斜方向上的移动能力有显著影响:

k为根号2时它是正八边形(蜘蛛网有木有),这是允许单位在8个方向移动的情况下最贴近正圆的k值了:

k等于1.5时,八边形在斜方向上再稍收缩一些:

这些不为整数的k值,让斜向的移动更符合对距离的直观感受(更接近欧几里得距离)。在游戏中可能要考虑用特别的方法处理,比如玩家的“移动力”不再是整数,而是一个模糊数值的“移动力条”;或者对两点距离舍入或向上/向下取整等等。


有意思的是,《红色警戒2》虽然是即时战略,但也用了正方形网格,只不过对它进行了一些旋转变形,让玩家的视角更像是向下45°俯瞰战场:

经过旋转后,网格内的斜向移动在画面上体现为横竖方向移动。而网格又在竖方向上压缩了,结果就是,坦克上下走的时候感觉很慢,水平方向上跑得飞起……

来源:知乎 www.zhihu.com

作者:中等难度的贪吃蛇

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 20 个回答,查看全部。
延伸阅读:
哪些战棋类游戏系统设计的是不错的?

战棋类游戏中有哪些强大到近乎于 BUG 的技能?