我一直在用XNA做C#一年左右,我对2D游戏很满意。但经过一些阅读后,我担心XNA的未来,因为它不支持Windows 8等等。
所以我一直在考虑切换到Unity 3D? Unity相对于XNA / C#有什么好处,值得采取行动?如果没有,为什么? 我也对其他语言和引擎的建议持开放态度。
我目前正在上学并将游戏开发视为一种职业,所以我希望在一年左右的时间内不会死亡(据我们所知)并且会给我我需要的技能。还要考虑我以前使用C#编程知识。
谢谢大卫。
答案 0 :(得分:4)
<强> XNA 强>
XNA仍可在Windows 8上运行。问题是它们不支持Windows 8 Modern UI中基于XNA的游戏。 XNA仍适用于Windows 8桌面游戏。这个术语非常令人困惑。
XNA将在发布新的XBox控制台或将设计一些全新的东西时进行认真的改造。
<强>语言强>
如果您想为Windows 8 Modern UI创建游戏,例如Cut The Rope等,您需要使用C ++。我最后一次看到C ++是唯一支持DirectX和Windows 8模式的语言。 Windows 8的所有其他功能都可以通过C#。
<强> Unity3d 强>
如果你想制作视频游戏,你应该选择Unity3d或同等的游戏引擎和框架。许多视频游戏创作者遇到的问题是试图设计另一个游戏引擎。这已经完成了他们成为商品的程度。专注于游戏,而不是引擎。
Unity3d知识比使用XNA创建简单游戏更有价值。你应该仍然理解3D理论。
答案 1 :(得分:1)
MonoGame 是一个免费的XNA兼容库,允许您使用C#为WinRT,Windows应用商店应用和Windows Phone 8制作游戏,并在{{3}之上}工具也适用于iOS和Android。这适用于SharpDX,它是DirectX的优化托管包装器,因此您的游戏运行速度与XNA相同。
由于MonoGame是开源的,积极开发并针对所有当前平台,您可能不必担心它很快就会过时。它为您提供了一种很好的方法,可以使您的C#,基于XNA的代码库立即定位到Windows RT和Windows应用商店,如果您购买Xamarin工具,还可以扩展到其他移动平台。
所以没有理由将你的C#东西转移到C ++。
另一方面,Unity3D是一个完全不同的游戏框架,并不是一个简单的端口。但是你可以针对更多的平台(特别是游戏机,现在也是Flash),并且仍然用C#编写游戏的大部分内容。但这是一个完全不同的学习工具。