返回

文章详情

用APL编写的3D体素游戏引擎

Hacker News2026年6月21日 08:04

这最初是一个我与自己打的赌,即APL符号将为制作体素游戏提供更简单的方法。这是高度实验性的,且存在许多错误。控件:W-A-S-D移动,空格跳跃,鼠标移动摄像机,Q退出,I切换渲染信息,F进入快速无夹击模式,L在游戏中锁定和解锁鼠标,1-5选择不同的方块进行放置。 要求:Dyalog APL 20.0,C编译器,CMake,Vulkan、DirectX12或Metal图形是必需的。有关更多信息,请查看这里 sdl3、sdl3_ttf 和 sdl3_image (MacOS使用brew)。 说明:在MacOS或Linux上运行 在安装依赖并克隆后,请确保构建并安装LSE。 例如: cd lse mkdir build cd build cmake .. make make install 这应该在macOS上安装libLSE.dylib,在Linux上安装libLSE.so于./libs/目录下,并与相关的SDL3库文件一起。 之后,您应该能够通过 ./main.apls 运行。 一些Linux用户可能会在不同目录下找到dyalogscript。如果是这种情况,main.apls中的shebang应替换为通过which dyalogscript指定的路径。 在Windows上运行 在Windows上编译一切会更棘手,最好是找到在libsdl3发布版本中提供的SDL3开发库与cmake-gui一起使用。这里提供了.dll文件,可以放置在该存储库目录下的 ./libs 文件夹中。之后,可以通过Dyalog会话玩游戏,如下所示: ]cd <ROOT DIRECTORY> ]link . create # ./avg 执行状态 . Play 编译着色器 编译为不同着色器格式的源代码位于 ./shaders/glsl,着色器与此库捆绑在一起。然而,如果您想修改它们,请编辑glsl着色器并运行 ./compile_shaders.sh。请注意,这需要DirectX着色器编译器、glslc和spirv-cross。 已知问题 在Windows上存在显著的性能退化,正在处理。Windows上当前不支持DirectX12后端。您目前无法在同一会话中多次玩耍。已知会导致系统错误999!可能某个地方存在内存泄漏! 鸣谢 纹理由Madeline Vergani(@RubenVerg)提供。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡