我一直在开发 Visual Gasic —— 一种真正的编程语言(.vg 文件),它作为 GDExtension 集成到 Godot 4.6 中。你仍然可以使用 Godot 的场景树、节点、导出管线以及 2D/3D 工具;游戏逻辑可以用一种比 GDScript 更接近 VB6/QB 风格的结构化 BASIC 语法编写。

既然 Godot 已经有 GDScript,为什么还要费这个劲?

主要是为了可读性和审查速度——尤其是当你(或 AI)生成了大量代码,并且想快速审计它们时:

  • 显式块结构:Sub / End SubIf … Then … End If
  • 声明类型:Dim score As Long
  • 按名称绑定事件处理程序:Sub btnStart_Click()Sub tmrGame_Timer()
  • 控件属性使用熟悉的名称:CaptionLeftTopWidthHeightVisibleEnabled

如果你曾经做过基于表单的游戏 UI,下面这个例子应该会让你感觉很自然:

Sub btnPlay_Click()
    If lblScore.Caption = "" Then
        lblScore.Caption = "0"
    End If
    tmrGame.Enabled = True
End Sub
Sub tmrGame_Timer()
    Dim score As Long
    score = CLng(lblScore.Caption) + 1
    lblScore.Caption = CStr(score)
End Sub

底层是一个用 C++ 实现的字节码虚拟机 + 优化器,不是一个解释型玩具。在我们发布的微基准测试中,它在计算/绘制负载上优于 GDScript(详情见仓库——请以通常的基准测试谨慎态度看待)。

你今天能获得什么

  • 通过 GDExtension 的 Godot 4.6.1+ 插件
  • Linux + Windows 安装程序;像其他项目一样通过 Godot 导出
  • 编辑器内的 AI 伙伴(Narcea),能以这种风格编写 .vg 代码——定位是可审计的代码,而非黑盒代码生成
  • 演示画廊:平台跳跃游戏、太空射击游戏、AGCK(无代码街机工具包)、实用工具等
  • 约 6 分钟的展示视频(中心世界 + 多个演示,使用 VG 制作):https://youtu.be/FUw8zgbn_tU

诚实的测试版注意事项

公开测试版(5.4.x)。实验性的表单设计器目前不是主要路径——当前的工作流程是 Godot 编辑器 + 节点上的 VG 脚本标签。已知存在一些粗糙边缘(已在 GitHub 上记录)。我不会声称这能取代每个 Godot 团队的 C#;它服务于那些希望在现代化引擎上编写可读、逐行游戏逻辑的人。

链接

向 r/gamedev 提问:如果你已经在使用 Godot——你是否希望在编辑器内用第二种语言编写游戏逻辑,还是“只用 GDScript/C#”对你来说是一条硬性界线?什么会促使你尝试:性能、可读性、AI 审查、VB 怀旧感,还是其他?