用DuckDB-WASM构建基于SQL的Doom克隆游戏

2025-04-22
用DuckDB-WASM构建基于SQL的Doom克隆游戏

作者突发奇想,尝试使用DuckDB-WASM数据库引擎构建一个基于SQL的3D游戏引擎。他以一个简易的文字版Doom游戏为目标,将游戏地图、角色位置、敌人都存储在DuckDB表格中,通过SQL语句控制游戏逻辑和渲染。令人惊奇的是,他利用SQL的递归CTE实现了光线追踪和三维场景渲染,JavaScript则负责键盘输入、游戏循环和精灵绘制。虽然过程中遇到了许多挑战,例如WASM加载、SQL方言差异、查询规划器问题和异步操作的竞态条件,但他最终成功地运行了一个6-7 FPS的Doom克隆游戏,这展现了SQL在非传统用途上的强大能力以及DuckDB-WASM的出色性能。