MoonBASIC: A modern BASIC for building 2D and 3D games
AI 深度解读
背景
BASIC 语言在计算机发展史上扮演过重要角色,从早期的家用电脑到现代教育编程,其简洁易学的特性一直受到青睐。然而,随着游戏开发和图形编程日益复杂,传统的 BASIC 方言往往缺乏对 2D/3D 图形、物理引擎和现代工具链的支持。MoonBASIC 的诞生正是为了填补这一空白:它提供一种现代、可读的 BASIC 方言,同时内置丰富的图形、音频、物理、网络和 UI 功能,让开发者无需安装 Go、C 编译器或 Node.js 等额外工具,就能直接编写和运行 2D 与 3D 游戏。
核心内容
MoonBASIC 是一个面向 2D 和 3D 游戏开发的现代 BASIC 语言及配套工具链。用户只需编写 .mb 源文件,下载预编译的二进制文件,即可运行游戏,无需在本地安装 Go、C 编译器或任何构建工具。项目托管在 GitHub 上(github.com/CharmingBlaze/moonbasic),最新发布版本为 v1.2.27。
下载包提供三种核心组件:
- moonrun:游戏运行器,用于直接执行
.mb脚本。 - moonbasic:语言编译器/检查器,可检查代码、编译为
.mbc中间字节码,并内置语言服务器(Language Server)支持。 - moonBASIC IDE(可选):一个桌面编辑器,集成完整的文档,适合新手快速上手。
引擎底层捆绑了 Raylib(图形/音频)、Box2D(2D 物理)和 Jolt(3D 物理),并通过 40 多个命名空间(如 WINDOW.*、ENTITY.*、PHYSICS3D.*、GUI.*、NET.* 等)提供 4200 多个内置命令,涵盖图形、音频、2D/3D 物理、网络、地形、UI、粒子系统等功能。
快速开始方式:
- 从 Releases 页面下载对应操作系统的
moonbasic-<tag>-ide-...压缩包。 - 解压到任意永久目录。
- 运行
START-IDE.bat(Windows)或chmod +x后执行./START-IDE.sh(Linux/macOS)。 - 在编辑器中打开或新建
.mb文件。IDE 会自动检测同目录下的moonbasic和moonrun。侧边栏的“Documentation”包含BEGIN_HERE.md、指南和完整命令参考。
如果只下载了完整运行时(不含 IDE),也可以使用命令行:
moonrun --version # Windows: moonrun.exe --version
moonbasic new MyGame
cd MyGame
moonrun main.mb
运行示例(需克隆或下载本仓库的 examples 目录):
moonrun examples/spin_cube/main.mb
moonrun examples/guides/game_loop.mb
VS Code 扩展安装:完整运行时解压后,执行 moonbasic install-vscode,或双击 INSTALL-VSCODE.bat(Windows)/运行 ./INSTALL-VSCODE.sh,即可自动安装扩展并设置 moonbasic.languageServerPath 和 moonbasic.moonrunPath。之后打开任何 .mb 文件即可获得自动补全、悬停帮助、Ctrl+F5 运行、Ctrl+Shift+C 检查、Alt+H 光标处帮助。
示例代码片段:
APP.OPEN(960, 540, "Hello moonBASIC")
WHILE NOT APP.SHOULDCLOSE()
RENDER.CLEAR(20, 24, 32)
RENDER.FRAME()
WEND
APP.CLOSE()
注意:APP.* 是 WINDOW.* 的别名,两者指向同一引擎,但教程中 APP.* 更清晰。
项目采用 MIT 许可证。引擎源代码位于 github.com/CharmingBlaze/moonbasic-compiler。
关键要点
- MoonBASIC 是一种现代 BASIC 方言,专为 2D/3D 游戏开发设计,无需安装 Go、C 编译器、Node.js 或 Raylib 等依赖。
- 下载即用,提供 Windows、Linux 和 macOS(Apple Silicon)的预编译二进制文件。
- 核心工具有三个:
moonrun(运行器)、moonbasic(编译器/检查器/语言服务器)和可选的moonBASIC IDE(桌面编辑器,内嵌完整文档)。 - 引擎包含 Raylib(图形/音频)、Box2D(2D 物理)和 Jolt(3D 物理),通过 40+ 命名空间提供 4200+ 内置命令。
- 支持 VS Code 扩展,安装后可直接在 VS Code 中编写、运行和调试
.mb文件。 - 提供了
APP.*作为WINDOW.*的别名,使教程更清晰。 - 示例代码和文档均随仓库发布,但示例不包含在预编译的 release 压缩包中,需单独克隆或下载。
- 许可证为 MIT,允许自由使用和修改。
意义与影响
MoonBASIC 降低了现代游戏开发的门槛,尤其适合编程初学者、教育场景以及需要快速原型验证的开发者。它结合了 BASIC 的易读性与现代游戏引擎的丰富功能,无需配置复杂的环境即可开始创作。对于想要学习游戏编程但又不想被 C++、Rust 或大型引擎(如 Unity、Unreal)的编译和构建流程吓退的人来说,MoonBASIC 提供了一个极简的入口。同时,其内置的语言服务器、VS Code 扩展和 IDE 支持,也保证了专业开发者的体验。该项目采用 MIT 协议,鼓励社区贡献和二次开发,有望在未来成为 2D/3D 游戏教育与业余开发领域的一个有力工具。
