可以使用XNA和C#创建商业上可行的PC/XBOX游戏吗?
这是用C#创建3D游戏的最佳方法吗?如果没有,会是什么?
实际上你可以做到这一点,但它有点棘手.
您需要通过"社区"(XNA Creators club Online用户)的审批流程.
您还需要支付Xbox Live帐户以及Xbox live developper许可证.
根据XNA FAQ:
我是否需要XNA Creators Club高级会员才能创建游戏?您不需要高级会员资格来制作Windows或Zune游戏.但是,您必须是高级会员并且在受支持的区域内为Xbox 360创建游戏,在Xbox LIVE上向社区游戏发布Xbox 360游戏,或者同行评审提交的游戏.
谁可以同行评审XNA社区游戏?创作者俱乐部的成员,其保费(付费)帐户信誉良好且是合法成人(对于我们目前服务的国家/地区,这意味着18岁或以上).
并且:为什么我的游戏必须经过同行评审?为什么我不能把它发送到Xbox LIVE市场?同行评审员帮助创作者编写更好的游戏,并保护游戏玩家免受高度攻击性或故障游戏的影响.在以下情况下,同行评审员将拒绝您的游戏:
您的游戏包含禁止的内容,这是Xbox LIVE服务不允许的内容
您歪曲了游戏中的内容或游戏的宣传材料
您的游戏的宣传内容(例如,盒子艺术,描述,横幅或标题)不适合Xbox LIVE市场上的所有年龄段
游戏崩溃,它有太多的错误,或者在某种程度上在技术上有缺陷
常见问题解答可以在这里阅读
如果你想做得更简单,你可以直接使用DirectX,甚至可以使用SDL等其他库(2D游戏).实际上C#对于各种各样的东西非常好,并且随着时间的推移它变得更好.
对你的第一个问题的简短回答是肯定的.使用XNA库完全可以创建任何类型的游戏.它可以用来制作简单的2D平台,或者模拟复杂的3D射击游戏.
根据游戏的不同,您需要为游戏创建的逻辑数量可能会有所不同.
当然,在创建3D游戏时,您要么必须创建自己的3D引擎,要么开始预制.XNA in和on本身并没有提供一个完全可以开箱即用的引擎.但是,它提供了各种各样的工具来帮助您制作自己的引擎.