← 返回信息流
AI 资讯Hacker News·3 天前

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、粒子系统等功能。

快速开始方式

  1. 从 Releases 页面下载对应操作系统的 moonbasic-<tag>-ide-... 压缩包。
  2. 解压到任意永久目录。
  3. 运行 START-IDE.bat(Windows)或 chmod +x 后执行 ./START-IDE.sh(Linux/macOS)。
  4. 在编辑器中打开或新建 .mb 文件。IDE 会自动检测同目录下的 moonbasicmoonrun。侧边栏的“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.languageServerPathmoonbasic.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 游戏教育与业余开发领域的一个有力工具。

查看原文 →github.com