这可能听起来像一个愚蠢的问题,但是谁 XNA框架的目标受众?以下内容位于Microsoft XNA Game Sudio网站:
XNA Game Studio 3.1让爱好者, 学者和独立游戏 开发人员轻松创建视频 适用于Windows,Xbox 360和Windows的游戏 Zune数字媒体播放器使用 优化的跨平台游戏 基于.NET Framework的库 用C#编程语言。
读到这一点,我会觉得XNA 不用于严肃的游戏开发。这是真的吗?
其次,我的理解是XNA本质上是Direct X API的托管包装器。这是XNA与Direct X的唯一关系吗?微软在Windows和XBox上推动哪个平台进行视频游戏开发?
我的整体问题是,对于那些希望进入专业视频游戏开发的人来说,他们应该专注于XNA还是应该专注于其他事情?
答案 0 :(得分:10)
目标受众基本上是业余爱好者游戏开发社区,但是专业开发人员也可以使用XNA(包括这是将游戏放到XBox上的最简单方法之一) LIVE系统,虽然属于与LIVE Arcade分开的类别)
XNA是一个托管库,它本质上是一个包装器,如Managed DirectX(这是第一个基于DirectX的托管库)。它被限制为DirectX 9.0c,因为它与XBox 360交叉平台兼容,因为它具有永远不会改变的静态硬件(当然是在发布新的XBox控制台之前),因此显然停留在该版本上。
目前,微软正在大力推广XNA用于XBox开发,但它们也允许用它生产商用PC游戏,尽管在PC平台上没有像XBox LIVE Arcade这样简单的自动分发和支付模式。但是。
XNA是一个很好的学习工具,可以开始进入专业游戏开发,因为它允许访问“专业”游戏引擎或工具集,包括着色器,网络,音频硬件,游戏手柄设备等。它也是一个真正的如果您需要向任何人提供资金或只是为了看到您的想法在屏幕上看起来像什么,那么快速制作游戏原型的好工具。
整体XNA将是开始学习DirectX游戏开发的好地方,因为大多数概念直接从一个到另一个。如果你不想被卡在DirectX 9.0c支持上,我建议你看看SlimDX(http://www.slimdx.org),这是与XNA类似的概念,但映射到DirectX 9和10。
答案 1 :(得分:4)
商业游戏仍然主要是用C ++开发的(通常使用像Lua这样的脚本语言或用于部分游戏代码的Python),但这并不意味着XNA对于有兴趣学习游戏开发的人来说不一定是个坏选择。最终成为专业游戏开发者的观点。您将使用XNA学习的大多数概念将适用于专业游戏开发,并且它可能允许您在比您开始使用C ++和更低级别的图形和音频库更短的时间内覆盖更广泛的领域。
最终你可能需要熟练掌握C ++以便在专业游戏开发中工作,但是你对XNA的图形,AI和一般游戏开发的了解仍然有用。
答案 2 :(得分:2)
我同意mattnewport和mikeschuld关于XNA对业余爱好者有益的观点,或者甚至是那些希望进入游戏行业的人们的起点。我认为对于那些真正想要制作游戏引擎的人来说,这不是最好的事情,因为那是他们正在抽象的东西。我的意思是如果你真的想要玩游戏引擎编程,你应该自己动手。这是一个非常复杂和有启发性的体验,它真的可以帮助你欣赏商业游戏中的所有内容。
如果你只进入一个领域,或者想成为一个领域的专家,我认为XNA是一个很好的方式来集中精力。 AI,图形等等。
我认为,如果最终目标是进入游戏行业,那么向C ++的过渡是不可避免的。那么,你想成为AI专家还是游戏专家?你想写引擎功能吗?您是否想深入了解所涉及的核心系统如何作为一个整体协同工作?回答这些问题将有助于您决定是在C ++级别上直接进入,还是通过XNA了解事物。