文章摘要
这是一个用Dyalog APL和SDL3编写的体素游戏项目,托管在GitHub上,由用户namgyaaal创建。
文章总结
这是一个名为“avoxelgame”的开源项目,托管在GitHub上,由用户namgyaaal创建。该项目使用Dyalog APL和SDL3库开发了一款体素游戏(类似《我的世界》)。项目最初源于作者的一个自我挑战:验证APL语言是否能让体素游戏的开发更简单。目前游戏仍处于高度实验性阶段,存在不少漏洞。
游戏支持WASD移动、空格跳跃、鼠标控制视角、Q键退出、I键切换渲染信息、F键开启快速穿墙模式、L键锁定/解锁鼠标、数字键1-5选择不同方块。运行环境需要Dyalog APL 20.0、C编译器、CMake,以及Vulkan、DirectX12或Metal图形接口,并依赖SDL3、SDL3ttf和SDL3image库。
在macOS或Linux上,需先构建并安装LSE组件,然后通过./main.apls运行。Windows上的编译较为复杂,建议使用SDL3开发库和cmake-gui,并将提供的.dll文件放入./libs文件夹,之后通过Dyalog会话执行特定命令启动游戏。着色器源代码位于./shaders/glsl,如需修改可编辑后运行./compile_shaders.sh,但需安装DirectX Shader Compiler、glslc和spirv-cross。
已知问题包括:Windows上存在显著性能下降、DirectX12后端暂不支持Windows、同一会话中无法多次游玩(可能因内存泄漏导致系统错误999)。游戏纹理由Madeline Vergani(@RubenVerg)提供,采用MIT许可证,主要编程语言为APL(占83.3%),另有C、GLSL、Shell和CMake代码。
评论总结
根据评论内容,主要观点如下:
对APL游戏引擎的认可(评论1,评分无):
- 认为APL游戏引擎是“不寻常的事物”,对开发过程和挑战感兴趣。
- 赞赏项目README的诚实态度,不夸大其词,称其为“buggy passion project”。
- 关键引用:"APL game engine is indeed an unusual thing" / "APL游戏引擎确实是个不寻常的东西";"The ReadMe file doesn't try to sell this project as something more than it actually is" / "README文件没有试图将项目吹嘘得比实际更好"。
自我推广与反馈请求(评论2,评分无):
- 作者自荐其体素编辑器项目,用于创建装饰小生物家园的体素,类似《模拟人生》。
- 关键引用:"shameless plug, been working a a voxel editor" / "厚颜无耻地自荐,一直在开发一个体素编辑器";"if anyone has some feedbacks, would be happy to take them" / "如果有人有反馈,很乐意听取"。
体素世界与APL的关联(评论3,评分无):
- 认为体素世界是APL的“很好的卖点”,因为APL的奇特之处在于符号而非模型。
- 关键引用:"A voxel world is a pretty good sales pitch for APL" / "体素世界是APL的一个很好的卖点";"the weird-looking part is the notation, not the model" / "看起来奇怪的部分是符号,而不是模型"。
总结:评论主要围绕APL游戏引擎的独特性、项目诚实性、体素编辑器推广,以及体素世界作为APL优势的体现。观点平衡,无显著冲突。