1

我正在将第一人称射击游戏作为一个有趣的副项目来工作,并开始考虑营销该游戏,并为模组添加脚本支持。我想知道是否应该使用传统的脚本语言,如 LUA、Javascript 或 Python,或者是否应该使用 C#/.NET。众所周知,C# 是一种“更快”的语言,因为它是经过编译的,而上面提到的语言则不是。(我也可以添加对另一个框架的依赖,比如 Java)。该游戏是为 Windows 编写的,我想知道期望最终用户安装 .NET 框架是否“太过分”,或者这是否是一个合理的要求。

我想补充一点,可以使用 Microsoft.CSharp.CSharpCodeProvider 接口在游戏中完成编译 C# 代码(就像 LUA、Python 和 JavaScript)。

4

3 回答 3

3

如果您想使用 .NET,可以很安全地假设最终用户已经安装了相当新的版本。Windows Vista 内置了 .NET 3.0;Windows 7 附带 .NET 3.5。当然,最近有许多流行的游戏(Magicka、Terraria、Bastion 等)完全用 .NET 编写,因此游戏社区已经证明他们并不特别反对安装的想法/使用它。将其添加到游戏的安装程序中应该是相当不显眼的。

请记住,这是将您与 Windows 平台捆绑在一起的另一件事,因此,如果您将来决定将游戏移植到其他操作系统,您将不得不想出一个替代品(或者看看 Mono 是否是足以满足您的需求)。

于 2012-07-26T18:26:07.393 回答
0

这实际上取决于您的具体情况,但是期望用户安装 .NET(至少 .NET 2.0)绝对不是太多。大多数 XP 用户已经安装了 .NET,因为他们可能需要它来做其他事情,或者它是由 Windows 更新自动安装的。Windows 7 默认具有 .NET。

于 2012-07-26T18:26:50.767 回答
0

我是IronPython的忠实粉丝,并在我所有的脚本驱动项目中使用它。首先是因为我喜欢这种语言(用于脚本,而不是用于应用程序开发),其次是因为使用 IronPython,您可以直接访问和使用 .NET 对象而无需任何奇怪的语法(不像 Lua for .NET 需要混合语法)。嵌入到您的应用程序中也非常简单。

于 2012-07-26T19:35:20.027 回答