我目前正在使用 Visual Studio Express 2012 学习 C#,并且我对未来有一些游戏想法。我只是不知道如何开始(我 15 岁),我想知道什么样的游戏引擎适合这种游戏。
3 回答
XNA 将是完美的,但如果你想使用 .NET 4.5,你将不得不经历一些小麻烦才能让它在 Visual Studio 2012 和 .NET 4.5 中运行
另一个(我认为更好)的替代方案是 SharpDX。SharpDX 主要是一个构建良好的托管 DirectX API,直接从本机 DirectX 的头文件构建。SharpDX 包括一个名为“Toolkit.{namespace name here}”的附加程序集的集合,它们提供了 XNA 提供的内容,但在大多数情况下,更理想。应该注意的是,工具包类的设计是基于 XNA 框架的结构。SharpDX 将要求您了解 DirectX 以充分利用它的功能,但您在任何其他托管 DirectX 包装器中都找不到这么多的功能。期间(是的,这也包括 SlimDX)。
Monogame(Mono 的 XNA 版本是另一种解决方案,目前它甚至支持移动设备和 Windows 8)。Monogame 有一个很好的好处:它对跨平台开发有很好的支持。然而,这个好处也是它的缺点。由于它的内部结构,与其他选项相比,它的性能很差。
正如评论中提到的,Unity 是另一个受欢迎的选择。您使用 c# 编写并支持 javascript。就个人而言,我看到了 Unity 的很多未来潜力。
如果您走那条路,请注意有关 XNA 的信息:XNA 已死。我相信他们说微软明年之后不会支持它。老实说,c# 中的 windows 8 游戏开发目前在某种程度上被冷落了(除了 Mono 的 XNA 版本)。不过请注意 Mono,虽然它运行良好,但从功能上讲,它的性能是可怕的(尽管单声道爱好者会说)。如果您不相信我,请自己检查它的源代码。
另一个新兴的流行选择是 HTML5 和 javascript。严重地。您可以在 html5 画布上使用诸如three.js 之类的库来制作一些绝对令人惊叹的javascript 图形。比我对脚本语言的预期要多得多。
最后一点,旧的尝试和真正的 c++ 和 DirectX/OpenGL。C++ 是迄今为止最强大的编程语言,因此它在游戏开发中使用最多。不幸的是,它也是最难提高效率的,而且创建全功能游戏所涉及的概念甚至可能需要数年时间才能掌握。更正,这将需要数年时间。然而,这是最终最有价值的选择。
XNA 和 Unity 绝对是新程序员学习游戏编程的必经之路。
还要注意你在学校学习的基本算法和数据结构。在我的时代,另一种学习游戏编程的常用方法是下载、编辑和运行 MUD。
您已经进入游戏开发领域真是太棒了!