Godot 中使用的语言

2024 年 8 月 29 日 | 阅读 3 分钟

Godot 中的“主要”语言是 GDScriptVisual Script。选择它们的主要原因是与 Godot 引擎的集成程度,因为它使体验更流畅;两者都有编辑器集成,而 C#C++ 在单独的 IDE 中编辑。如果我们是静态类型语言的忠实粉丝,请选择 C#C++ 而不是 GDScript

GDScript

GDScript 是 Godot 中使用的主要语言。与游戏的其他语言相比,它具有许多优点,因为它与 Godot 的高度集成

  • 它简单、优雅,并且旨在让不同语言(例如 PythonLuasquirrel 等)的用户熟悉。
  • 它加载和编译的速度非常快。
  • 编辑器集成非常方便使用,具有节点、信号和场景中已编辑的其他项目的代码完成功能。
  • 它内置了向量类型,使其对线性代数的重度使用非常有效。
  • 它有效地支持多线程,类似于静态类型语言——这是我们避免使用 VM(如 LuaSquirrel 等)的限制之一。
  • 它不使用垃圾收集器,因此它牺牲了一小部分的自动化(大多数对象都通过确定性计数)。
  • 它的动态特性使得在 C++ 中优化一部分代码变得容易,如果需要更高的性能,所有这些都不需要重新编译引擎。

如果我们还没有决定并且有编程经验,尤其是动态类型语言,那么就选择 GDScript 吧!

VisualScript

3.0 开始,Godot 提供了 Visual Scripting。它是一个“块和连接”语言的实现,但已适应 Godot 的工作方式。

Visual Scripting 是非程序员或有经验的开发人员的绝佳工具,他们希望使部分代码更容易被其他人访问,例如游戏设计师和艺术家。

程序员可以使用它来构建状态机或自定义可视节点工作流程。

例如,一个对话系统

ASP.Net/C#

微软的 C# 在游戏开发人员中很受欢迎,我们为其添加了官方支持。C# 是一种成熟的语言,其中编写了大量代码,并且得到了微软的慷慨捐赠的支持。

它在性能和易用性之间取得了很好的平衡,尽管需要注意垃圾收集器。

对于公司来说,C# 是最佳选择。大量程序员熟悉它,可以花费更少的时间学习 Godot,而将更多的时间用于编程。

Godot 使用 Mono,.net 运行时,任何用于在 Godot 中编写脚本的第三方 .Net 库或框架,以及任何符合通用语言基础结构的编程语言,例如 F#、Boo 或 ClojureCLR。但是,实际上,C# 是唯一官方支持的 .Net 选项。

GDNative/C++
3.0 版本的最亮眼的新增功能之一:GDNative 允许在 C++ 中编写脚本,而无需重新编译 Godot。

使用任何 C++ 版本,混合编译器品牌和为生成的共享库进行发布可以完美运行,以使用内部 C API Bridge。

这种语言是性能的最佳选择,并且不像其他部分那样在整个游戏中使用,这些部分可以用 GDScript 和 Visual Script 编写。但是,Godot 实际上是 C++ API。

GDNative 接口可以提供更多语言,但请记住,我们没有对它们提供官方支持。