4

我已经用 XNA 做 C# 一年左右了,我对 2D 游戏非常满意。但经过一番阅读,我担心 XNA 的未来,因为 Windows 8 和类似的东西不支持它。

所以我一直在考虑切换到 Unity 3D?Unity 与 XNA/C# 相比有哪些优势,值得一试吗?如果不是,为什么?我也愿意接受其他语言和引擎的建议。

我目前正在上学并将游戏开发视为一种职业,所以我想要一些不会在一年左右(据我们所知)内死去的东西,并且会给我我需要的技能。还要考虑到我以前有 C# 的编程知识。

谢谢,大卫。

4

2 回答 2

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 理论。

于 2012-11-17T19:16:28.600 回答
1

MonoGame是一个免费的 XNA 兼容库,允许您使用 C# 为 WinRT、Windows 应用商店应用程序和 Windows Phone 8 制作游戏,并在Xamarin工具之上还适用于 iOS 和 Android。这在 SharpDX(DirectX 的优化托管包装器)之上运行,因此您的游戏运行速度与使用 XNA 几乎相同。

由于 MonoGame 是开源的、积极开发的并针对所有当前平台,您可能不必担心它很快就会过时。它为您提供了一种很好的方式来保持您的基于 C#、基于 XNA 的代码库现在以 Windows RT 和 Windows 应用商店为目标,并且如果您购买 Xamarin 工具,还可能扩展到其他移动平台。

所以没有理由将你的 C# 东西转移到 C++。

另一方面,Unity3D 是一个完全不同的游戏框架,并且不是一个简单的移植。但是您可以针对更多平台(尤其是控制台,现在也包括 Flash),并且仍然使用 C# 编写大部分游戏的脚本。但这是一个完全不同的学习工具。

于 2012-11-17T19:32:27.830 回答