我们把原版 Doom 移植到了 SQL

We ported the original Doom to SQL

我们把原版 Doom 移植到了 SQL

去年我发布了 DOOMQL,但大家指出那更像 Wolfenstein 3D。这次,我真正将 1993 年原版 Doom 的游戏逻辑和渲染器完整移植到了 SQL 中,并在数据库内运行。游戏循环保持原版的 35 FPS,渲染器能在我的笔记本电脑上以高达 60 Hz 生成 320x200 的帧缓冲区。Python 仅负责计时、读取键盘和显示位图,甚至连多人死亡竞赛也完美支持。从加载 WAD 文件到复杂的怪物 AI 状态机,一切都在 SQL 查询中完成。这不仅证明了 SQL 处理复杂游戏逻辑的能力,也让我对实体组件系统(ECS)模式有了全新的理解。

与其逐个遍历敌人,不如直接编写一个简单的更新语句,让数据库自动并行处理。
  1. soltanov

    代码行数比原版 C 更少,却滥用查询规划器充当状态机,这简直是工程反模式的巅峰。我爱了。

  2. paul-vernon

    > 游戏逻辑只有约 5900 行 SQL。虽然听起来很多,但肯定比原版 C 源码少,原版做同样的事大概要 9000 行!

    不错

  3. smalltorch

    太离谱了,我爱死这个了。右下角的视觉效果是个绝佳的演示。

同日更多故事

2026-10-05