我一直在开发 Visual Gasic —— 一种真正的编程语言(.vg 文件),它作为 GDExtension 集成到 Godot 4.6 中。你仍然可以使用 Godot 的场景树、节点、导出管线以及 2D/3D 工具;游戏逻辑可以用一种比 GDScript 更接近 VB6/QB 风格的结构化 BASIC 语法编写。
既然 Godot 已经有 GDScript,为什么还要费这个劲?
主要是为了可读性和审查速度——尤其是当你(或 AI)生成了大量代码,并且想快速审计它们时:
- 显式块结构:
Sub/End Sub,If … Then … End If - 声明类型:
Dim score As Long - 按名称绑定事件处理程序:
Sub btnStart_Click(),Sub tmrGame_Timer() - 控件属性使用熟悉的名称:
Caption、Left、Top、Width、Height、Visible、Enabled
如果你曾经做过基于表单的游戏 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#;它服务于那些希望在现代化引擎上编写可读、逐行游戏逻辑的人。
链接
- GitHub(发布版、演示、语料库、基准测试):https://github.com/xgreenrx-star/VisualGasic
- Godot 资源库:https://store.godotengine.org/asset/visual-gasic/visual-gasic/
向 r/gamedev 提问:如果你已经在使用 Godot——你是否希望在编辑器内用第二种语言编写游戏逻辑,还是“只用 GDScript/C#”对你来说是一条硬性界线?什么会促使你尝试:性能、可读性、AI 审查、VB 怀旧感,还是其他?
评论 (0)