我正在做一个2D游戏,您可以用船降落在行星上,并且可以退出船并四处走动。
这些行星非常小(有时会想到约350像素半径),并且是从侧面看的。因此,您可以轻松地在屏幕上大致看到整个星球。
我使用A和D键分别逆时针和顺时针移动。问题在于,如果您位于行星的“顶部”(上半部分),这是有道理的:A向左移动,D向右移动。但是,如果您位于行星的“底部”(底部一半),则A向右移动,D向左移动。
关于如何使它变得更加用户友好的任何想法?
我正在做一个2D游戏,您可以用船降落在行星上,并且可以退出船并四处走动。
这些行星非常小(有时会想到约350像素半径),并且是从侧面看的。因此,您可以轻松地在屏幕上大致看到整个星球。
我使用A和D键分别逆时针和顺时针移动。问题在于,如果您位于行星的“顶部”(上半部分),这是有道理的:A向左移动,D向右移动。但是,如果您位于行星的“底部”(底部一半),则A向右移动,D向左移动。
关于如何使它变得更加用户友好的任何想法?
Answers:
我的第一个建议是坚持A=逆时针方向和D=顺时针方向运动。对于这样的轨道运动,它不是很混乱,几乎是“标准”(即最常见)的选择。
另一种方法是更改游戏的移动方式。与其在星球上移动播放器,不如说是旋转星球。这也是一个很常见的选择,但是如果屏幕上有多个行星,可能会迷失方向,因为除播放器外,所有物体都必须旋转。如果决定使用此方法,则可能仅显示行星的一部分以减少您的眼睛必须跟踪的移动物体的数量:
如果您可以自由使用鼠标,则可以始终使用鼠标单击来移动。单击某个位置将使玩家朝该点移动,并且它将自动选择最短的方向。圆圈是“点击”,箭头是最短的方向。
作为额外的好处,如果您也希望将游戏发布为应用程序,则也很容易转换为Mobile控件。
一种方法(通常在带有摇杆动作的第三人称游戏中也使用非静态照相机)是每次输入开始时(对于您的情况,当按键被按下时)建立动作的参考系并保持直到输入终止(释放键)为止。这意味着“ A”键始终会将字符“向左”移动,无论该字符是什么(如果它在圆圈的底部,则顺时针方向;否则,则为逆时针方向),直到释放该键。
不幸的是,由于您被限制在一个圆上,因此当角色处于或靠近圆的最左或最右范围时,此技术仍将消失。您可以通过任意选择进入哪个方向来简单地使其工作,但是用户可能会感到困惑。可能更令人困惑的是,仅坚持现有的现有“ A总是逆时针”方法。
我建议您看一下类似的概念,然后在3d中看:超级马里奥星系。
https://youtu.be/_8eJC4gIAm4?t=19m
在短暂的运动中,参考系保持不变,宇宙不动,超过一定的阈值,宇宙沿着/移动,因此参考系回到中间。
您可能希望在移动时“模糊运动”整个宇宙,使它看起来更自然,并且眼睛不会将注意力集中在移动部件移动的位置上。
我认为任天堂投入了很多研究,以使游戏尽可能流畅,而这正是他们所基于的。我一直喜欢看大型公司的想法,希望他们在研发方面投入一些资金,以最大程度地提高舒适性和可玩性。
使用A
/ D
将角色分别朝着行星的最左/最右点的方向移动,并使用W
/ S
将角色朝最上/最底的点移动。
这样,玩家总是在与输入动作相同的方向上移动角色 -例如,无论角色的位置如何D
,S
总是向右移动,总是向下移动。
在按住键的同时,游戏可以继续沿相同的时钟方向前进,或者将角色停止在限制点上。如果停止,这似乎不是一个大问题-玩家拥有一个完整的象限,如果他们想保持相同的时钟方向,可以更改其输入。
另外,圆形的W
- A
- S
- D
或W
- D
- S
- A
在行星,这似乎相当直观的环游的输入结果的图形。
按住多个键只会导致最近按下的键优先,或者您可以使用更复杂的行为,例如具有八个限制点。
这是许多游戏遇到的两个经典“心理模型”问题之一。
每个玩家都会为游戏控制如何映射到游戏动作开发一个“心理模型”。随着游戏随着时间的流逝越来越相似,人们开始期望他们建立的思维模型可以应用于新游戏,而不是为单独的游戏开发单独的模型。这样做会很好,除非不是每个玩家都对控件的工作方式有相同的思维模式。
例如,另一个经典的“心理模型”问题是按下操纵杆(通常是游戏手柄的正确模拟杆)是否意味着向上看,或者意味着向前倾斜(即向下看)。两种模型都不是正确的,但是大多数玩家只能将这两种可能的映射中的一种保留在脑海中,如果游戏所做的事情与他们个人期望的有所不同,则会被抛弃。
您的难题完全相同。这里的“心理模型”问题是在操纵杆上向右推动是“向角色的右侧移动”(如《生化危机》),还是“向屏幕右侧移动”(如在Mario中)。或在这种情况下,“顺时针移动”(如在Tempest中一样,当使用从拨杆到操纵杆控件的传统转换时)。
每个玩家都将拥有一个习惯于使用的内置模型,因此他们不愿意更改(或很难更改)。在任何此类“心理模型”问题中,您都有三种方法来处理该问题:
选项3(“重新设计游戏,以使心智模型不会彼此冲突”)在这种情况下将意味着与玩家一起旋转摄像机,因此玩家始终会竖立在屏幕上。这样,“向右意味着顺时针旋转”和“向右意味着向屏幕右侧移动”始终保持对齐;不再有冲突,玩家也不会因控制方式的思维模式而感到困惑。
选项2将意味着同时实现两种控制方式。一种是向右推将您带到屏幕右侧,另一种是向右推将您带到顺时针方向,还有一个选项屏幕,玩家可以在其中选择他们想使用的控件样式。
这里的任何选择都是有效的;不同的选项仅需要不同的工作量,并在您的游戏中施加不同的约束。如果出于主题或艺术原因,让玩家可见在行星的“底部”移动对于您来说确实很重要,那么您就不想使用选项3,而应该使用1或2。否,那么选项3可能是理想的选择。
关于“将操纵杆向右推意味着向屏幕右侧移动”控件样式的一个较小的实现注意事项:实施此控件样式时,应通过将操纵杆方向映射为顺时针/逆时针方向选择,然后保持相同的顺时针/逆时针方向的决定,直到操纵杆再次移动为止,即使玩家移动到行星的底部。也就是说,在星球顶上向右按下,或者在星球右侧向下按下,每个角色都会开始顺时针方向移动,然后角色将继续顺时针方向移动,甚至绕着行星底部,直到玩家移动为止即使操纵杆移到了行星的某个部分,该操纵杆的方向现在也将被解释为另一个方向。
这种技术通常称为“锁定”操纵杆控件,通常用于3D游戏中,当相机突然旋转(您不想让玩家突然改变方向)时,但在以下情况下也很有用在2D游戏中,如果摄像机移动否则会使玩家的未修改输入突然变得与以前有所不同。
如果您选择使用顺时针/逆时针运动,则可以做很多事情来使系统更容易为玩家所用。
如果角色是一半蓝色和一半红色,则方向变得容易让玩家记住。玩家不必识别“顺时针”或“逆时针”,而是沿蓝色方向或红色方向移动。如果角色始终朝着一个方向(最好是顺时针方向,以便在直立的同时动作最为直观),那就更好了,因为讲英语的人(以及其他使用从左到右语言的人)自然倾向于将“正确”与“前进”,加强了控件与运动方向之间的联系。
只要您移动角色,就很容易保持控件的方向。毕竟,继续朝着您所向的方向移动完全不会采取任何措施,并且在您想要反转方向时,只有另一个键可供选择。只有停止后再次开始移动时,您才有选择的余地。暂停时间越长,根据您之前的操作再次进行拾取的难度就越大。通过减少暂停频率和暂停时间,可以使玩家避免忘记移动的方式。
有多种解决方法。
1)我将如何处理这个问题,这将涉及到行星的各个部分:顶,左,右和底边(如果需要的话,更多)。因此,在用户按下方向后,角色将一直沿该方向前进,直到他们释放该按钮为止。因此,如果角色在左侧且用户按下,则角色将顺时针旋转直到释放。这样,您就不必担心角色移动时参考系中的变化,只需要稍后。
2)另一种方式是“危险时空的恋人”如何处理它。使用操纵杆,而不是使参照系取决于表面,而是使用操纵杆,因此操纵杆的角度是“角色”停在其上的理想位置。因此,他们的参照系位于他们“行星”的中心。我说的是人物和星球,但是它们在外部决定了它们去向的外部,即模块化的船舶零件,即,推进器指向哪个方向来移动船。
3)您现在的设计方式。它也可以得到一点使用,但是以前没有玩家见过。不过,您可以对其进行编辑,以使它看起来好像是行星在旋转,因此播放总是在“顶部”。