在PC上进行XNA游戏的可行性


19

我和一个朋友正在做2D XNA游戏。到目前为止,该API看起来确实很酷,并且性能可以接受。我的问题更多是针对它的发布。至于其他开发人员如何制作游戏,他们在PC上为您做得如何(就下载,销售等而言)?我从个人的角度了解Xbox360的统计信息,但是我很好奇它们在PC上的成功程度如何?

Answers:


25

我没有任何统计数据可比较XNA和非XNA游戏销售之间的差异-我建议无法获得数据-但我想它会表明等效游戏没有差异。因此,让我通过在PC上(尤其是在线)分发XNA游戏所涉及的主要问题来回答您的问题:


首先:要运行XNA游戏,需要先安装系统:XNA Framework和.NET Framework。

XNA Framework是一个很小的下载文件,易于安装,但需要管理员权限-因此会导致UAC提示和EULA提示。该框架不兼容上下版本,但可以并排安装。(即:XNA 3.1游戏需要XNA 3.1,并且不能在XNA 4.0上运行)。

.NET Framework 2.0捆绑在Vista和更高版本上,因此我建议将其作为目标(项目属性->目标框架)。[更新:XNA 4需要.NET 4,因此它将不再起作用。]

.NET 3.5安装非常非常慢-我建议避免安装。我不确定完整的4.0安装如何,但是如果您需要更新的.NET功能,则4.0客户端配置文件的安装速度足够快(您可能不需要-您仍然可以在.NET 2.0中使用lambda扩展方法)。

安装.NET Framework当然会导致出现UAC和EULA提示。它还可能导致重新启动。


当前,分发XNA游戏的“标准”方法是使用ClickOnce。您可以进行在线安装-缺点是您的用户获得了一个小的“引导”安装程序可执行文件,该可执行文件从您的网站中提取所有宽松的游戏文件。或者,您可以将所有这些松散文件和安装程序分发为zip格式。这些都不是用户可以从大多数游戏中获得的独立的可执行文件。

ClickOnce的主要麻烦在于,它将显示有关下载未签名软件的警告,这看起来可能很吓人。

ClickOnce的另一个缺点是,您对诸如您所拥有的开始菜单项之类的东西没有太多控制权。

使用ClickOnce的好处是,它的设置非常容易,它将自动从Microsoft网站下载并安装所需的框架。

我的印象是,ClickOnce的这些问题可以通过改用MSI来解决-而且它仍然可以自动下载并安装所需的框架。恐怕我手头上没有具体的说明。


如果您自己进行安装,或者根本不进行安装,则需要注意的是,如果缺少所需的框架,您的游戏可执行文件将崩溃,并显示极其无用的错误消息!


哦,您的安装可能会更大(如果包括框架,则可能会很多)。如果您使用的是XNA内置的内容(为什么不这样,它在那里并且很容易),则用户可能需要下载更多内容,因为文件压缩得不如您自己处理时压缩(尤其是音频) 。


就是这样 安装游戏后,您与使用本机DirectX的任何其他游戏(即大多数游戏)的情况几乎相同。

(如果您正在执行CD-ROM分发之类的操作,而不是在线分发,则可能会遇到我所描述的一些问题-但您可以将所有其他需要下载的内容放到CD上,包括所需的框架。)

如果您正在下载可下载的共享软件,则基本上是在使用户从发现您的软件,播放演示到购买完整游戏这条链条上。XNA的缺点是,这使得该链中的安装步骤更难抛光-但仍然可行。

(IMO易于开发并具有与XBox兼容的优势是值得的。)

因此,将其带回您的问题:使用XNA可能会产生微小的变化-但不足以解决问题。因此,您发现的有关PC游戏销售的任何统计信息都应适用于PC上的XNA游戏。


酷,最后,我知道如何分发XNA 2.0游戏(是的,我在2.0刚发布时就制作了一个游戏,我进行了广泛的搜索,但找不到如何简化安装程序的安装过程,该安装程序可以下载它所需的所有内容而不会崩溃用户不佳...)
speeder 2010年

@speeder值得指出的是,ClickOnce功能是XNA 3.0的新增功能,请在此处查看此帖子:blogs.msdn.com/b/astebner/archive/2008/09/18/8957968.aspx 2.0的解决方法是-尽管我认为最简单的方法可能是从XNA 2.0升级到3.1。
安德鲁·罗素

1
.Net 4.0 总是会导致我的计算机重新启动-请注意这一点。
乔纳森·迪金森

将框架捆绑到CD上来发行自己的产品,是否存在某种许可问题?
比尔

1
@Bill:否:“ XNA Framework可再发行文件下载为游戏开发人员提供了XNA Framework运行时库,他们可以将其包含在产品中以在Windows平台上进行再发行。” 参考
Andrew Russell

5

自创建该主题以来已有一年多了,自那时以来,XNA方面已有许多发展。例如,下面列出了一些流行的XNA游戏,这些游戏已经为PC发行,目前正在Steam上出售:

...而且这些只是我碰巧购买的,并且注意到它们使用了XNA运行时-我确定还有更多我不知道的东西。

而且,如果您不了解它们,Terraria会售出惊人数量的副本(如果您不能从上面链接的“售出超过一百万份副本”免责声明中得知),则可以长期保留在Steam的畅销书列表中。而堡垒 ...好几天前刚刚获得了三项Spike VG奖(包括年度最佳可下载游戏)

我也敦促您检查其他游戏。Chime是一款出色的休闲/音乐游戏,提供了极为轻松的禅宗体验。Sequence是DDR和RPG的真正原始组合(Ronald Jenkees为一些认识他的人提供了一些音乐)。最后,Magicka是类似于《暗黑破坏神》的动作RPG,也很酷。

我想应该说一下使用XNA开发PC游戏的可行性。


1
另外,另一个值得注意的更新是代码重用。如今,诸如MonoGame之类的项目将使开发人员能够保留其大部分XNA代码库(如果不是全部)并能够运行该游戏的跨平台版本。一个很好的例子是在Chrome(可在Chrome网上应用店中找到)中运行的堡垒。
达伦·里德

1
@Layoric关于这一点,我非常兴奋这个(只是听说了前几天)。:)
David Gouveia

3
+1显示XNA的位置。但是,正如大多数开发人员所意识到的那样,XNA已经过时了,它仍在运行DX9,并且没有太多关于它的开发信息。我建议您看一下ANX,它使您可以简单地更改名称空间并使用其系统。这样做的好处是您可以获得一个在Sharpdx上运行的开源不断更新的框架。opengl系统也在开发中,它允许动态更改渲染器。anxframework.codeplex.com
FrenchyNZ 2011年

1
@Twitchy是的,但是我不希望这样长久。关于XNA的未来/ Windows 8的Andrew Russell的博客文章(andrewrussell.net/2011/11/predictions-on-xna-in-windows-8)解释了DX9使用的原因,并提供了充分的理由,这表明较新版本的XNA可以支持DX10-11可能已经在开发中。
达伦·里德

@Twitchy有趣,在我也将其链接后,您如何提到ANX!我真的很期待在它变得稳定后对其进行检查。但是也非常欢迎新的XNA版本。
David Gouveia

1

实际的统计不知道,但它可能是值得seing如果你能找到任何东西蓝莓园船队。两者均使用XNA编写,并且均可在Steam上使用。Flotilla甚至内置了一些Steamworks(我相信只是朋友列表)支持


太好了 我不知道Steam会接受XNA游戏。
Corv1nus

如果用户未安装.NET,会发生什么?
伊恩

2
您可以编写安装程序来检查.NET和XNA。对于XNA发行的几乎所有小型游戏,我都做到了
Jeff

1
Steam支持检查并安装依赖项,我认为impulse具有类似的系统。
Cubed2D

1

通过使用XNA创建游戏,您不会对销售造成太大影响。(当然,Mac / Linux上的用户将无法播放)。更大的因素是广告,预告片,演示和实际游戏。

大多数Windows用户将拥有玩游戏所需的一切。如果您真的要谨慎一点,可以让安装程序检查诸如.net,xna运行时,directX等的要求,并提示他们安装。

本质上,不要认为通过使用XNA,纯DirectX或Direct3D会获得更大的销售额。您确实获得了更大的受众,但这并不等同于销售。

专注于制作一款出色的游戏,在广告上投入一些资金(创建一个Facebook粉丝页面,看看是否可以在其中创建一些嗡嗡声),花时间制作一个出色的预告视频,并且最重要的是制作一个有趣的演示。

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.