XNA的目标受众

6
这可能听起来像一个愚蠢的问题,但XNA框架的目标受众是谁?以下内容位于Microsoft XNA Game Studio网站上:(链接)
XNA Game Studio 3.1使业余爱好者、学者和独立游戏开发者能够轻松创建基于.NET Framework和C#编程语言的优化跨平台游戏库,用于Windows、Xbox 360和Zune数字媒体播放器上的视频游戏。
阅读这个,我会得出这样的印象:XNA并不适合严肃的游戏开发。这是真的吗?
其次,我的理解是,XNA本质上是Direct X API的托管包装器。这是XNA与Direct X唯一的关系吗?微软正在推动哪个平台用于Windows和XBox的视频游戏开发?
我的总体问题是,对于想要进入专业视频游戏开发的人来说,他们应该专注于XNA还是应该专注于其他东西?
3个回答

10
目标受众主要是游戏爱好者开发社区,但也有很多专业开发人员可以使用XNA(包括它是将游戏轻松发布到XBox LIVE系统的最简单方法之一,尽管与LIVE Arcade分类分开)。
XNA是一个托管库,本质上是一个类似于Managed DirectX的封装器(它是DirectX上第一个托管库)。它被限制在DirectX 9.0c上,因为它具有与XBox 360跨平台兼容的功能,而XBox 360的硬件是静态的,永远不会改变(当然,直到发布新的XBox主机)。
目前,微软正在大力推广XNA用于XBox开发,但他们也允许使用它生产商业PC游戏,虽然目前没有像XBox LIVE Arcade平台那样的易于自动分发和付款模式。
XNA是一个非常好的学习工具,可以开始涉足专业游戏开发,因为它允许访问所有“专业”游戏引擎或工具集包括着色器、网络、音频硬件、游戏手柄设备等。如果你需要向任何人展示想法以获得资金支持或者只是想看看你的想法在屏幕上实际呈现的样子,它也是一个非常好的快速原型工具。
总的来说,XNA是学习DirectX游戏开发的好起点,因为大多数概念直接传递到另一个。如果你不想被限制在DirectX 9.0c支持上,我建议你看看SlimDX (http://www.slimdx.org) ,它是一个类似于XNA的概念,但映射到DirectX 9和10。

1
微软不允许使用XNA制作商业游戏的说法是不正确的。在http://msdn.microsoft.com/en-us/xna/aa937793.aspx的常见问题解答中明确表示:“XNA Game Studio可用于创建针对Windows平台的商业游戏”。虽然Windows上目前没有类似社区市场的平台,但您仍然可以使用XNA Game Studio开发和销售游戏。 - mattnewport
1
除了游戏开发,你甚至可以使用XNA开发需要可视化3D内容的商业应用程序。 - Peter Lillevold
啊,自从我上次研究使用XNA制作商业游戏时,那个常见问题解答和他们的商业惯例肯定已经更新了。我会更新帖子以反映这一点。 - mikeschuld

4
商业游戏仍然主要使用C++进行开发(通常使用像Lua或Python这样的脚本语言来处理部分游戏代码),但这并不意味着XNA对于有意学习游戏开发并最终成为专业游戏开发人员的人来说是一个不好的选择。使用XNA学习的大多数概念都适用于专业游戏开发,并且相比于使用C++和较低级别的图形和音频库,它可能允许您在更短的时间内涵盖更广泛的领域。
最终,您可能需要精通C++才能在专业游戏开发中工作,但您在XNA中学习的有关图形、AI和一般游戏开发的知识仍将证明非常有用。

2

我同意mattnewport和mikeschuld的观点,认为XNA适合业余爱好者或想要进入游戏行业的人作为起点。但如果你真的想要制作游戏引擎,那么XNA可能并不是最好的选择,因为它抽象了许多细节。如果你想深入了解游戏引擎编程,最好自己动手写一个。这是一次非常复杂而有启发性的经历,它真正帮助你欣赏商业游戏中所涉及的所有内容。

如果你只对某个领域感兴趣,或想成为某个领域的专家,我认为XNA是集中精力研究该领域的好方式。无论是AI、图形还是其他方面。

然而,如果最终目标是进入游戏行业,转向C++是不可避免的。那么,你想成为AI专家还是游戏玩法专家?你想编写引擎功能吗?你想深入了解核心系统如何整体协作吗?回答这些问题将帮助你决定是直接跳到C++层面还是先用XNA来熟悉情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接