我正在制作第一人称射击游戏作为一个有趣的侧面项目,并开始考虑营销游戏,并为模型添加脚本支持。我想知道我是否应该使用传统的脚本语言,如LUA,Javascript或Python,或者如果我应该使用C#/ .NET。 C#被称为“更快”的语言,因为它被编译,而上面提到的语言不是。 (我还可以添加对Java等其他框架的依赖)。该游戏是针对Windows编写的,我想知道期望最终用户安装.NET框架是否“太多”,或者这是否是一个合理的要求。
我想补充一点,编译C#代码可以使用Microsoft.CSharp.CSharpCodeProvider接口在游戏中完成(就像LUA,Python和JavaScript)。
答案 0 :(得分:3)
如果您想使用.NET,可以非常安全地假设最终用户已经安装了相当新版本。 Windows Vista附带了.NET 3.0; Windows 7附带.NET 3.5。当然,最近有一些流行的游戏(Magicka,Terraria,Bastion等)完全用.NET编写,因此游戏社区已经证明他们并不特别反对安装的想法/使用它。将它添加到游戏的安装程序应该是相当不引人注目的。
请记住,这是将您与Windows平台联系起来的另一件事,所以如果您决定将游戏移植到其他操作系统,那么您将不得不想出一个替代品(或者看看)如果Mono足以满足您的需求)。
答案 1 :(得分:0)
这实际上取决于你的情况细节,但是期望用户安装.NET(至少是.NET 2.0)绝对不是太多。大多数XP用户已经安装了.NET,因为他们可能需要它用于其他东西,或者它是由Windows Update自动安装的。 Windows 7默认使用.NET。
答案 2 :(得分:0)
我是IronPython的忠实粉丝,并在我的所有脚本驱动项目中使用它。首先是因为我喜欢这种语言(用于编写脚本,而不是用于应用程序开发),其次是因为使用IronPython,您可以直接访问和使用.NET对象而不需要任何奇怪的语法(不像Lua for .NET需要混合语法)。嵌入您的应用程序也非常简单。