似乎世界上大多数流行的游戏都是使用C ++开发的。但微软的游戏平台XNA Studio基于C#编程,我找不到任何使用XNA开发的流行游戏。您在XNA上找到的电子书也较少,即使谷歌搜索问题也不会给您太多帮助。
人们不会将XNA用作游戏平台吗?是否值得学习XNA进行游戏开发,还是应该考虑其他平台?
答案 0 :(得分:6)
了解如何开发游戏。语言和平台就是语言和平台。如果您了解制作游戏需要做什么,可以轻松将其移植到任何平台。
此外,如果游戏是在Xbox Live Arcade上,那么它是用XNA开发的。 XBLA是推出独立游戏的绝佳平台,所以对于初学者(我假设)是一个小团队,我推荐它。
答案 1 :(得分:3)
我有一个理论 - 诚然我不能用数据或经验来支持它 - C#和XNA是C ++和DirectX的一个很好的“垫脚石”。
好的C#代码在结构上与优秀的C ++代码非常相似。良好的XNA图形代码在操作上与良好的Direct3D代码类似。
在C#/ XNA中用脚射击自己并编写错误代码的方法要少得多。如果你从C#开始,你将不必花时间学习,然后忽略C ++使得可能的坏习惯。在你学习的过程中,你不会被困在尽可能多的讨厌的低级问题上。
一旦你学会了如何编写“正确”的方式,以及游戏/图形编程如何工作,那么使用C ++和DirectX提供的原始功能应该相当简单。
此外,为了反驳你的指控,XNA几乎没有参考资料:这简直是不真实的。在线有一个庞大的XNA社区,MSDN上有很好的参考资料,还有很多教程。而第一方samples on App Hub是首屈一指的。
还有很多着名的XNA游戏。可以肯定的是,它们不是AAA游戏 - 但是你不会选择“C ++和DirectX”作为平台来制作其中的一些游戏。您可以选择虚幻引擎或源引擎或类似引擎。
答案 2 :(得分:1)
不要学习XNA。学习C#,使用XNA作为踏脚石。它现在是游戏开发最有前途的高级语言。它可用于Unity(所有平台,但Linux和WP7),XNA(所有Microsoft平台),Silverlight(Windows 8,Web和WP7,可能很快就是Xbox),PlayStation Suite(PS3,Vita,Xperia)以及适用于所有人的Mono其余的部分。 很少有语言现在提供这么多选项,而不需要学习C ++。
XNA可以作为游戏开发中常见问题的良好参考,可以处理低级图形编程或常见资产管理等令人讨厌的问题。它也很容易与脚本语言(IronPython,Lua)集成,这在现代游戏中很常见。
答案 3 :(得分:0)