可以使用XNA和C#创建商业上可行的PC / XBOX游戏吗?
这是使用C#创建3D游戏的最佳方法吗?如果没有,会是什么?
答案 0 :(得分:7)
实际上你可以做到这一点,但这有点棘手。
您需要通过“社区”(XNA Creators club Online用户)的审批流程。
您还需要支付Xbox真实帐户以及Xbox live developper许可证。
根据XNA FAQ:
我是否需要XNA Creators Club高级会员才能创建游戏? 您不需要高级会员资格来制作Windows或Zune游戏。但是,您必须是高级会员,并且在受支持的区域内为Xbox 360创建游戏,在Xbox LIVE上向社区游戏发布Xbox 360游戏,或者同行评审提交的游戏。
谁能同行评审XNA社区游戏? 创作者俱乐部的成员,其保费(付费)帐户信誉良好且是合法成人(对于我们目前服务的国家/地区,这意味着18岁或以上)。
和: 为什么我的游戏必须经过同行评审?为什么我不能把它发送到Xbox LIVE市场? 同行评审员帮助创作者编写更好的游戏,并保护游戏玩家免受高度攻击性或故障游戏的影响。如果出现以下情况,同行评审员将拒绝您的游戏:
您的游戏包含禁止的内容,这是Xbox LIVE服务不允许的内容
您歪曲游戏中或游戏宣传材料中的内容
您的游戏的宣传内容(例如,方框图,说明,横幅或标题)并不适合Xbox LIVE Marketplace上的所有年龄段
游戏崩溃,错误太多,或者技术上存在缺陷
常见问题解答可以阅读here
如果你想做得更简单,你可以直接使用DirectX,甚至可以使用SDL等其他库(2D游戏)。实际上C#非常适合各种各样的事情,并且随着时间的推移它会变得更好。
答案 1 :(得分:6)
对你的第一个问题的简短回答是,是的。使用XNA库完全可以创建任何类型的游戏。它可以用来制作简单的2D平台,或者模拟复杂的3D射击游戏 根据游戏的不同,您需要为游戏创建的逻辑数量可能会有所不同。
当然,在创建3D游戏时,您要么必须创建自己的3D引擎,要么开始预制。 XNA in和on本身并没有提供一个完全可以开箱即用的引擎。但是,它提供了各种各样的工具来帮助您制作自己的引擎。
答案 2 :(得分:3)
C#并不比C ++慢得多,但是C#的内存管理并不是游戏友好的(在AAA风格中)。从来没有更少的渲染基本相同,因为你将使用DirectX我猜,所以没有理由像C#这样的非常专业的游戏就像Gear of Wars一样(作为一个游戏开发我自己,我已经看过战争机器的源代码,可以直接告诉你)。但你需要伟大的艺术家。
真正的障碍,如果您的来源是C#,那么您刚刚将自己锁定在不是来自Microsoft的其他平台(Say Sony或任天堂),但GoW再次受到微软的束缚,ASFAIK。
至于XNA,最畅销的街机/社区游戏Braid,是用C ++编写的,但那是因为作者不想将自己锁定在其他平台之外,而且他有很多经验和已经基于C ++的大型代码库
答案 3 :(得分:3)
XNA主要致力于车库游戏,小型团队的小项目和业余爱好者。此外,它是一个非常好的游戏架构和3D编程学习工具。但对于商业应用,XLA和XDK之间存在明显的巨大差距。
使用XDK可以访问更深层次的硬件,如果性能问题,这绝对是必须的。此外,大多数商业游戏引擎是为与XDK(例如虚幻引擎)一起使用而开发的。 XDK的调试和分析系统也是一个令人惊叹的工具,使用XLA无法实现。
所以是的,技术上可以使用XNA制作商业游戏,但现实世界倾向于选择XDK。
答案 4 :(得分:1)
XNA为您节省了许多与制作游戏相关的低级别乏味。对于少数几个不需要将硬件推向极限的游戏来说,这可以节省大量时间;然而,大多数AAA游戏都需要少数人对硬件进行贬低和肮脏,以尽可能多地推动限制。
尽管如此,你的游戏绝不是AAA必须具有商业可行性或乐趣 - 人们甚至可以认为它的伤害超过了它的帮助。技术很少是制作好游戏的瓶颈。
答案 5 :(得分:0)
我怀疑你会用它创造下一个战争机器,但XNA适用于许多类型的游戏。 XBox Live上的大多数(全部?)社区游戏都是使用XNA创建的。