为什么有时基于Windows专有的跨平台引擎构建的游戏?


99

如果某个引擎支持Windows,OS X和Linux,为什么有时我们会看到使用这些引擎的游戏,例如Space Hulk:Deathwing,仅限于Windows?


25
这意味着它可以跨平台构建,并不意味着它不需要任何额外的努力。
沼泽

原因很简单,这类游戏绝大多数都在PC上。
Fattie

Answers:


150

技术原因:

  • 专门针对游戏平台的平台:当某些开发人员制作游戏时,他们有时会依赖平台特定的功能。尽管游戏引擎可以为多个平台构建游戏,但非游戏特定的代码可能会进行Windows特定的调用,而该调用可能在其他平台上不存在,或者需要重新制作游戏的困难部分(许可服务,文件保存系统等)。
  • 缺少功能强大的计算机:长期以来,大多数Apple计算机没有足够的图形功能来运行大多数游戏。那么,为什么要在用户很可能只会体验不好的地方发布游戏呢?由于集成了更好的图形,这种情况正在慢慢改变,但仍可能是某些人仅使用Windows的原因。
  • 插件/库兼容性:游戏开发人员可能会使用第三方库来帮助加快开发速度,或者使用行业标准/经过验证的代码(SSL,序列化库等)。如果这些都不支持平台X,则游戏很可能无法在其上可靠运行,因此将其排除在外。
  • 不断提高的质量保证:在游戏开发过程中,团队的一小部分确保没有错误,并且游戏符合性能标准。一旦添加了平台,游戏就必须进行两次测试!游戏的通用部分可以单独使用,但是在发布之前还有很多测试要做。根据平台(Apple,Xbox,PlayStation,电话等),这不仅会导致额外的时间,而且会导致专用硬件的增加,从而导致成本增加。
  • 支持增加:随着游戏的发行,它们会出现错误(某些游戏比其他游戏更多)。随着您添加更多平台,开发人员必须提供的发布后支持数量也将增加。特定于平台的错误必须以一种针对已损坏的平台进行修复的方式进行修复,并且不影响那些不受影响的平台。如果平台更改为Windows 7到8或OSX迭代,则必须进行一定级别的质量检查,以确保新版本上没有错误。而且,如果有的话,那是另一个必须与旧版本一起支持的平台。这可能会对成本产生巨大影响,尤其是在游戏发布后(发布游戏后赚了很多钱)(发布后3-6个月)。

非技术原因:

  • 发布者协议:一些开发人员将与平台持有者达成协议,专门在其平台上发布。尽管这种情况更多发生在控制台上,但PC平台(例如Windows)也可能出现这种情况。
  • 第一方开发者:某些开发者归平台持有者所有,不允许在特定平台上发布游戏。您可能在PS4上看不到Halo,在Mac上看不到Forza。
  • 缺乏受众:开发人员在特定平台上拥有大量有关消费者趋势的统计信息,尤其是在拥有大型发布商且具有大量可用数据的情况下。如果他们掌握了90%的目标受众在Windows上的信息,则他们可能不会费心在其他平台上发布内容,以尝试减少潜在的错误或/和保持营销材料的重点。
  • 不满足平台要求:某些平台(例如Apple的App Store)对布局和设计有严格的要求,必须遵循这些要求才能发布。如果某个游戏不满足特定发行平台的这些要求,那么在没有足够的预期销售量的情况下,可能就不值得花费工程时间来修改游戏并发布。
  • 缺乏平台经验:如果开发人员仅使用Windows(并且很少/没有其他系统经验的人),那么学习细微的差异可能会花费很多工作,这些细微的差异可能会导致开发或开发的后期问题。可能没有足够的预算聘请新员工来负责Linux / OSX构建。
  • 营销成本:如果两个平台的受众或年龄组明显不同,则一个平台的营销材料可能无法达到另一个,这意味着必须在营销上花费更多的钱。如果两个小组需要不同的市场营销,则必须在牢记新的目标受众的情况下重新创建所有这两个群体。营销可能会变得极其昂贵,尤其是发布大版本时,需要营销的平台越多,成本增加得越快。

我敢肯定还有更多。这些只是我脑海中的一部分。希望这可以帮助。


26
这是一个很好的答案,但我认为您还错过了另一个重要因素:测试/质量检查成本。跨平台引擎永远无法完美地隐藏平台差异,因此在所有目标平台上进行测试至关重要。可能存在仅在一个平台上出现的错误,或与不同平台上的不同实现相关的重大性能差异。在应该跨平台的功能中也可能存在行为差异。您需要增加质量检查时间,并为测试人员提供额外的硬件。一些开发人员将需要额外的硬件和软件。
mattnewport

2
我以为我在“缺乏经验”部分中介绍了这一点....但是我可以添加它:)总是更好,尽管
user3797758

5
我同意@mattnewport的说法,这里的成本被低估了-为多个平台进行开发,构建,测试,调试,冲洗,重复可能会非常耗费人力。很难针对单个平台针对各种硬件配置进行正确的测试!
AC

3
而且,“支持”有时会大大夸大。许多引擎“支持” Windows,但是实际上您必须安装Visual Studio和Python,Perl,Cygwin和Msys以及5种口味的MinGW和GB的库才能真正使用它。
AndreKR

2
“开发人员在特定平台上有大量有关消费者趋势的统计数据”-当然,使用它来确定技术上要支持哪些平台是一个永不过时的预言。
OR Mapper

30

因为可用并不意味着免费和即时。

以最简单的形式支持另一种操作系统意味着另一种为其提供技术支持的平台。

您支持的平台越多=您需要支持的平台越多=在支持上花费更多的时间=浪费了本可以用来改善游戏的工作时间。

支持平台全归功于您的游戏能否在该目标平台上吸引足够的玩家基础的信心,因此可以弥补您为平台提供支持所花费的时间。


2
市场开发(应用商店,Steam,Google Play)和特定于平台的集成(尤其是在社交部门中)也失去了更多工作。(朋友,共享,身份验证)
CostelloNicho

18

到目前为止,有很好的答案,但让我们开始讨论。

根据Steam的2017年6月硬件调查,抽样的用户中有96.24%使用Windows。Windows用户中,有87.37%是Windows 10或7、64或32位。OSX变体占用户的2.95%,Linux变体合计0.72%。

时间就是金钱。除非您的市场是利基市场,并且专门针对OSX或Linux,否则您必须在不到4%的市场值得您之前就出售大量游戏,尤其是因为游戏开发人员通常需要时间来使产品功能完善。


3
...并且这还假设所有这些用户平均为游戏支付可比的费用。我记得Android与Windows Phone的统计数据,尽管Android在设备上的份额要大得多,但直接(非广告)收入却几乎相同-与iOS相比都很小。如果您要出售游戏,则需要知道人们愿意支付多少。在很少购买游戏的0.7%市场中制造游戏绝对是傻瓜:D即使引擎完全是多平台的(在不同平台上也没有怪异的陷阱),这可能是不值得的。
a安

1
@Luaan根据Humble Bundle的报道,尽管Mac的流行程度是Mac的三倍,但Linux的收入仅略低于Mac。也许可以通过以下事实来解释:高端Linux计算机往往比同等价格的Mac具有更好的图形卡,这是因为这些机器的取舍还在于其他地方。
stommestack

1
@JopV。由于捆绑因素,谦虚捆绑有点棘手。如果我只关心捆绑游戏中的一款游戏,我不会倾向于仅仅因为我得到了一些我不会玩的额外游戏(或以前已经付费,有时是多次付费的游戏;而已,我有点疯狂:P)。直到最近,Linux在游戏方面仍被广泛忽略,因此可能会有影响,因此拥有Mac或Win计算机的人可能已经拥有某些游戏,而这可能是Linux的第一个发行版。也许。他们也有Humble商店的统计资料吗?
a安

2
@Luaan每次有一个不起眼的独立捆绑包时,在页面底部附近都会有一些统计信息,包括每个OS捐款的总数和平均金额。它们在每个捆绑中保持相当一致。
stommestack

14

这里的其他答案很好,但是这里没有提到。

我现在遇到这个问题-我的团队即将发布使用Unity for Windows / Mac制作的游戏。关于我们的游戏为什么不在移动设备上,我们有很多疑问。有两个主要答案:

1)手机的功能不足以跟上游戏的发展。也许我们可以降低艺术品的保真度(模型中的多边形较少,纹理中的像素较少等),但这只能做到这一点。大部分游戏都需要重写,以便对手机进行充分优化。我们确实尝试过,但是每秒只能得到0.5帧。显然,不可玩。

2)输入。整个用户界面都是使用鼠标设计的,而游戏的一部分取决于在任何给定时间都知道鼠标在哪里。我们必须重写整个输入机制,以使游戏在不知道鼠标在哪里的情况下仍能正常工作,并将屏幕上的各种“触摸”动作转换为“鼠标”动作以获得相同的功能。就像他们的答案中提到的user3797758一样,这将需要重写内容,以便“鼠标”和“触摸”输入可以输入到同一系统中,并且其中一个错误不会影响另一个,而该错误的修复也不会影响对方。这需要比我的团队目前拥有更多的资源。

在user3797758的答案中也提到过,我们甚至没有Linux支持,因为我们的软件包之一在Linux机器上崩溃了,但是在Windows / Mac上可以工作。仅仅因为引擎是跨平台的,并不意味着使用它的一切都是如此。


1
我的手机可以正常播放GTA Vice City。听起来您的渲染引擎效率低下!:)
轻轨赛将于

2
无论如何,这个答案更多是关于将游戏移植到不同的硬件平台/范例上,而不是关于PC上的OS的问题
Lightness Races in Orbit

2
@LightnessRacesinOrbit很好,它是Unity。。。尽管如此,实际上,我们有一种对游戏至关重要的特效,而且效率很低。编写它的人不见了,我们还没有找到使它更好的方法。这就是生活……
科迪

3
@JopV。嗯不 历史是一个很小的复杂多了一点。但是在这里讨论这一点实际上没有任何意义。我只是注意到OpenGL是3D渲染API。DirectX的范围要广得多。如果您需要进行无意义的辩论,请至少将OpenGL与Direct3D进行比较:) OpenGL是专为专业3D工作而设计的(“开放”专有的IrisGL)。当时还有哪些其他平台支持OpenGL?没有“阻碍跨平台开发”的问题-Windows具有本机OpenGL支持。OpenGL从未打算用于高端专业工作。
a安

2
手机GPU的性能甚至不及英特尔显卡,因为它们具有散热和尺寸限制。也有很多人拥有不支持opengl es 3.0的手机,因此只有少数人可以使用您的应用程序,除非您为原始的opengl es 2.0重写游戏
Suici Doga
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.