GitHub 上有个挺少见的项目:avoxelgame。它不是用 C++、Rust 或 C# 写体素游戏,而是用 Dyalog APL 20.0 和 SDL3 写了一个 3D 体素游戏引擎雏形。

这事有意思的地方不在“又一个游戏引擎出现了”。它目前约 24 个 stars、1 个 fork,MIT 许可证,主要语言是 APL。这个量级只能说明有人注意到了,不能说明它已经被采用。

我更在意的是另一件事:APL 这种以数组表达见长的小众语言,被放进了游戏循环、输入控制、体素渲染和图形后端适配里。这更像一次语言实验,不像一个准备给团队直接拿去立项的引擎。

它是什么:APL 写出来的体素游戏骨架

avoxelgame 的仓库说明里,项目起点是一个问题:APL 的记法,能不能让制作体素游戏更容易。

这句话基本给项目定了性。它不是在对标 Unity、Unreal Engine 或 Godot,也不是在交付完整编辑器、资产管线和插件生态。它是在试一件偏硬的事:用 APL 把 3D 体素游戏的关键环节跑起来。

从功能看,它已经不只是空仓库。

玩家可以用 W-A-S-D 移动,空格跳跃,鼠标控制视角,Q 退出。它还支持 I 显示渲染信息,F 开启快速 noclip 模式,L 锁定或解锁鼠标,并可用 1-5 选择不同方块进行放置。

对体素游戏来说,这些是最低限度的“能玩起来”。但最低限度不是工程成熟。

维度当前信息应该怎么理解
语言与运行时Dyalog APL 20.0看点在 APL 表达方式,不在主流引擎工具链
图形与窗口SDL3,并涉及 sdl3_ttf、sdl3_image依赖现代多媒体库,但仍要处理底层差异
图形后端Vulkan、DirectX12、Metal有跨平台目标,不等于各平台体验一致
仓库状态约 24 stars、1 fork属于小范围技术项目,不能解读为广泛采用
许可证MIT方便学习和改造,不代表可直接生产使用

APL 爱好者可以把它当作少见样本:看数组语言怎样组织游戏状态、输入和渲染数据。游戏引擎开发者则更适合把它当作对照物:同一类体素问题,换一种语言表达,哪些地方变短,哪些地方会被工程链条拖住。

能跑到什么程度:门槛主要在依赖和平台

从仓库说明看,macOS 和 Linux 用户需要安装依赖、克隆项目,并构建安装 LSE。完成后,本地 libs 目录会生成 libLSE.dylib 或 libLSE.so,再运行 main.apls。

部分 Linux 用户还要手动调整 main.apls 里的 dyalogscript 路径。这已经不是普通玩家会接受的安装方式,更像开发者自己搭实验环境。

Windows 路径更绕。项目建议使用 SDL3 releases 提供的开发库,再配合 cmake-gui 编译。仓库也提供 win32-x64 的 .dlls release,可放到 ./libs 目录。之后还需要在 Dyalog session 中切换目录、链接项目并运行 Play。

这对 APL 玩家或图形程序员不算离谱。可如果一个小团队想找体素引擎做原型,我的建议很直接:不要把它放进主开发链路。最多单独拉一个分支试跑,验证 APL 写法和渲染思路,不要让策划、美术或关卡流程依赖它。

这里的现实约束也不只在安装步骤。

SDL3 可以处理窗口、输入和一部分跨平台抽象,但 Vulkan、DirectX12、Metal 的差异不会自动消失。Shader 编译还会牵涉 DirectX Shader Compiler、glslc 和 spirv-cross。

换句话说,avoxelgame 的“跨平台”更接近目标和实验路线,不是下载后各平台稳定一致的产品体验。

限制在哪里:性能、稳定性和工程成熟度

仓库已经把风险写得很直白:项目高度实验性,而且有 bug。

已知问题里,最要紧的有几项。Windows 上存在明显性能回退。DirectX12 后端当前不支持 Windows。同一个 session 中不能多次游玩,并可能触发 syserror 999。作者还提到可能存在内存泄漏。

这些限制足以把它和“可用引擎”分开。

体素游戏不是只把方块画出来就结束。它要长期处理区块加载、网格生成、遮挡剔除、内存占用和 GPU 提交。成熟项目的难点,往往藏在这些不显眼的地方。

拿它和成熟引擎相比,差距主要不在“有没有创意”,而在工程保障。

对比项成熟游戏引擎通常要解决avoxelgame 当前更像什么
使用方式下载、建项目、导入资源、调试链路清晰手动配依赖和运行环境
平台支持尽量保证主要平台体验稳定后端和平台支持仍有明显缺口
性能表现需要长期优化和可复现测试Windows 已知有性能回退
稳定性能反复运行、调试、迭代多次运行和内存问题仍未稳住
适用场景产品原型或商业项目技术研究、语言实验、代码围观

所以最相关的两类人,动作应该不一样。

APL 爱好者可以下载研究,重点看代码组织和数组表达,不要把期待放在“开箱即玩”。体素渲染开发者可以把它当作参考案例,比较语言表达和图形后端成本。真正要做游戏原型的团队,最好继续用成熟引擎,把 avoxelgame 留在旁路实验里。

接下来也不用看太多虚的指标。最该看三件事:Windows 性能回退有没有缓解,DirectX12 后端能不能真正落到 Windows,内存泄漏和同 session 多次运行问题有没有修掉。

这三项不动,它就还是技术标本。三项开始稳定,才谈得上从语言实验走向可靠原型。