分类
IDEA 游戏设计

IDEA:3D战棋游戏的UI设计

那天在公司胡扯的时候,说起了做一个三维空间的战棋游戏会是多么有意思。实际上现在很多的战棋游戏在视觉表现上都是有地形差的,有一些游戏还停留在只是视觉表现的程度(如《风色幻想》),有些游戏则已经将其内化为游戏机制的一部分了(如《魔界战记》),然而至今还依然没有诞生过一款完全3D空间化的战棋游戏——也可能是已经有了,但我没听说过。具体的机制设计暂且不谈,其实玩起来和2D棋盘的SLG区别也不是很大,但由于要显示3D的内容,想必在UI设计上会有很大的改变以适应这种操作方式。这里我的主要思路是参考两款我比较熟悉的即时战略游戏——《深海争霸》和《星际争霸2》的UI设计,看看能否实现3D战棋游戏的UI设计。

地形tile

第一个要考虑的问题是,棋盘的格子是四边形的还是六边形的。考虑到3D的战棋游戏增加了一个空间维度,空间会变的更为复杂,因而在二维层面上还是采取复杂度较低的四边形较为稳妥。

123

视角

若是2D游戏,那么首先要解决的是视角问题。由于要展现3D空间,我们可以采用常见的正等轴测图,这种投影图的好处是到任何一个方向绘制的长度都是一样的,即X,Y,Z三个轴的缩放比例一样,这样不论是从美术上还是程序上还是从玩家理解上来说都更方便。

123

 

高度表示

下面一个需要面对的问题就是高度的表示。这里所说的并不是地形的高度,由于我们采用了正等测视图,地形高度差的表现是不成问题的。这里说的是如何表示悬在空中的某个单位的高度。《深海争霸》与《星际争霸2》采用了不同的做法,《深海争霸》在选中单位后会专门有一个固定的UI区域显示其当前下潜深度,而《星际争霸2》的空中单位则有一条从单位垂直连至地面的线来表示其是空军,这有些类似于桌面战争游戏空中单位的做法。我觉得《星际争霸2》这种做法是可取的。使不同高度层面的单位的高度指示器的颜色不同,或者加上数字标示都是可行的作法。只要高度不是很高(如只有3至5层),这种做法是可行的。

123

高度指示器不一定是需要常显的。这也可以设置成一个全局选项供玩家更改。在游戏中其显示层级以及具体表现如何还需要进行测试才能知道。

选择范围指示器

传统的2D战旗会用地板颜色变化这种方式来表示范围选择,然而3D空间中这种做法对于可以对更高处的单位/空军进行攻击的就不合适了。我想到了一个比较简单的办法,用不透明的拐角与透明的线组合成一个几何体的方式来表示选区,见下图:

123

 

所有在选区中的单位也会有高亮或特殊的方式以表示其在选区中。这个几何体也可以有更多的方式,但总会遵循有线连接的点处特殊显示的规则就可以。

如果选择范围也是浮空的,怎么办?我们可以采用和单位同样的高度表示方法,但在垂直辅助线的位置、颜色和数量上需要作出调整,否则当有很多空中单位时,大量的高度指示器很有可能使得画面混乱。玩家需要高度指示器来表示选择范围是浮空的,同时还不能过度扰乱画面。