如果我打算比PC瞄准更多目标,是否应该考虑鼠标开发?


15

很简单的问题,但我不确定答案。

我应该开发使用鼠标的用户控件,还是完全忽略鼠标而仅使用按钮控件。

一个例子是:

单击某个项目以将其拾取,然后移至靠近该项目并按一个按钮以将其拾取。

您对此有何看法,特别是如果您想针对的平台不只是PC呢?


4
“单击一个项目以将其拾取与将其移近该项目并按一个按钮将其拾取。” 关于此的警告。尽管可以实现该功能,但《暗黑破坏神III》的开发人员没有这样做,因为它可以帮助用户感觉到他们所获得的战利品,但对用户而言却意味着一定的意义。这是要考虑的事情。
Vaillancourt

3
不要将鼠标输入强制为离散输入。极端地讲,典型的无赖游戏应该完全可以在没有鼠标的情况下播放。仅在需要精确输入的地方使用鼠标(例如:单击屏幕上一定范围的像素,将对象作为目标,...)。导航菜单选项和选择对话框选项应该与热键和箭头/选项卡导航一起提供,适合那些希望输入更快,更简单的人
KABoissonneault 17-10-30

Answers:


37

是的,当您想让游戏在PC上运行时,应该从设计的早期阶段就如何最好地利用鼠标进行思考。这同样适用于您考虑定位的所有其他平台的输入功能。

一个好的端口和一个到另一个平台的坏端口之间的主要区别之一是您投入了多少精力来适应不同的输入样式:

  • 控制台玩家使用游戏手柄。作为PC游戏玩家,他们如何用这些笨拙的指尖准确地指向事物始终是我的一个谜。但是标准游戏手柄上可用的所有不同模拟输入轴都提供了一些有趣的可能性。文本输入一直很烦人,但是人们想出了一些非常有趣的UI解决方案。
  • 有时 PC用户会有游戏手柄,但许多人却没有游戏手柄,或者更喜欢使用鼠标。当必须使用鼠标来导航菜单时,他们真的不喜欢它。他们还希望通过键盘快捷键可以执行常见操作。
  • 移动用户具有触摸屏。它们的精确度远不及鼠标输入,但提供了其他输入方法,例如压力感应,滑动和多点触摸手势。“虚拟游戏板”(即将您的游戏板按钮放在角落,并期望玩家按下它们)是一种非常懒惰的解决方法,它缺乏触觉反馈并减少了屏幕空间。

因此,当您想移植到其他平台时,需要重新考虑输入法。这通常意味着您需要从头开始重新设计用户界面。从开发的早期就可以减轻痛苦,并确保可以使用不同的输入方法正确实现所有游戏功能。


我一直等到我对此再次确认之前,才做出回应。感谢大家的所有答案。这解决了我的问题。我将为PC开发鼠标并针对不同平台调整输入。

以我的经验,大多数PC游戏玩家都有一个游戏手柄。那是我唯一的批评。
法拉普

@Pharap但是,根据游戏的不同,PC上的人们不希望使用控制器,而控制器设计在PC上时可能会令人发指。每当我想到此主题时,就会想到“遗忘和天际”库存系统。就键盘和鼠标而言,它是一个巨大的PITA,但就游戏手柄而言,它是有意义的。
TyCobb

3
作为PC游戏玩家,我想指出的是,我实际上更愿意在游戏适合的情况下不必使用鼠标。因此,请确保您允许设置键绑定。例如,我仅将键盘用于火箭联赛。这包括导航菜单
lucidbrot

1
@CGriffin我认为这取决于人们喜欢玩哪种游戏。如果某人主要玩暴力FPS游戏,视觉小说,指向和点击或RTS游戏,那么他们将不拥有或不希望拥有控制者是有道理的,但诸如第三人称动作游戏或平台游戏或某些解谜游戏之类的东西更有意义输入的控制器。不幸的是,我找不到关于此的任何统计信息,因此我将其归入YMMV。我并不是说游戏应该迫使用户需要一个游戏手柄,但我并不是说游戏玩家拥有一个游戏手柄并不罕见。
法拉普

6

是的你应该。

PC用户希望他们会有鼠标来玩游戏。如果您不使用它,您的游戏可能会被标记为“移动端口差”,特别是如果游戏中的某些操作应该更自然地用鼠标完成的话。

另外,请记住,某些PC用户也希望使用键盘完成更多的基本游戏。

我建议您尽可能地利用目标设备的输入功能,以取悦移动和PC用户。


5

视情况而定。

什么类型?你有多少钱/时间?您是否开发应用程序来赚钱?

通常,用户通常会惊讶于利基游戏中不良的输入控制(例如,独立开发商的JRPG),但是如果您想销售更多产品,更好的输入控制仍然是一个加号。

如果您的预算非常紧张并且没有直接从销售中获利(例如,慈善基金向您支付固定的时间来开发教育软件),明智的做法是坚持一种输入法-做好多种输入法需要花费大量时间。

如果您想以合理的价格($ 20 +)出售游戏并希望吸引相当多的购买者(50,000'000 +),则绝对应牢记*鼠标,键盘,触摸屏和鼠标的不同要求游戏手柄设备从一开始就是如此。无法简单地“改造”鼠标/键盘游戏上的游戏手柄输入,反之亦然。

*在考虑如何使游戏具有触摸感,游戏手柄和鼠标友好性时,您可能会发现实际上并没有一个好的解决方案。这种情况非常普遍(实时策略游戏很少跨平台)。在这种情况下,通常的解决方案是仅在支持游戏所需输入形式的设备上发布。


1

这完全取决于工作日的发展状况。

3D游戏
如果您看大多数第一人称游戏,则鼠标仅用于环顾四周。当移植到控制台时,将使用模拟摇杆和按钮,而在移动设备上,通过滑动即可查看屏幕上的其他按钮。为了更好地进行比较,请观看Minecraft不同版本的视频。

2D游戏
适用于互动在2D空间中的游戏。然后可以使用您所描述的鼠标交互方式;但是要考虑的最重要的事情是您必须多久一次将手从键盘移动到鼠标并向后移动一次。在移动设备上,您别无选择,因为您可能要使用的所有按钮都必须在屏幕上。尽管您可以考虑让按钮仅在移动设备上需要时才显示,例如:当您接近某个项目时,仅当有可能捡起按钮时,该按钮才可以在屏幕上显示。在2D游戏中,点斧在PC和移动设备上都能很好地工作,但由于可能会使用模拟摇杆,因此在控制台上可能有些笨拙。

但是,对于您的问题,在多平台PC上进行开发时要考虑的最重要的事情是,与其他平台相比,您拥有的按钮拥有更多的财富。因此,如果您只需要最少的按钮数量(对于PC而言),请确保一只手Chan放在鼠标上,一只手放在键盘上,那么将游戏控件打印到其他平台上不会出现问题。


1

是的你应该。但是,我将针对抽象的输入类或接口进行开发,然后根据硬件类型,实现用户可与之交互的各种方式。

我不特别了解您的游戏,但是举个例子,使用诸如

bool lookingUp();
bool shooting();

然后在一个具体的类中实现它们,例如:

bool lookingUp() {
    return mouseIsMovingUp(); // e.g. PC
}

bool lookingUp() {
    return isTrianglePressed(); // e.g. Gamepad
}

bool shooting() { // e.g. phone
    return screenPressedAt(10, 10);
}

然后在您的游戏中,根据硬件类型创建具体的类。这将使您的代码更整洁,并且您可以轻松地迎合不同的平台。


总体思路是正确的,但是通常在游戏中,您会对输入事件做出反应,而不是不断检查状态。
Rotem

@Rotem通常都取决于所使用的框架或库。我通常将两者结合使用,例如,在事件发生时获取“拍摄”事件并将其存储在bool中,并在游戏循环的每次迭代中检查bool。这也避免了多线程问题。
史蒂夫·史密斯

-3

我要扮演魔鬼的拥护者。我最近从根源角度报告了问题,与PC相比,更多的人使用蜂窝应用程序。没错,不仅移动设备被接管,而且移动应用程序的总数已经超过了台式机用户。

话虽如此,消费者喜欢方便,他们可能需要使用鼠标的设备。只是一个想法。


那么...如果他们计划比PC瞄准更多目标,OP应该在开发鼠标时牢记吗?
Vaillancourt

我不确定这如何回答问题。
布赖恩H.17年

作为对这个问题的评论,这更好些
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.