APP下载
报价宝  ›  科技  › 

有人把Doom搬进SQL数据库 全彩60帧

报价宝 来源:baojiabao.com 发布时间:2026-10-03 07:18:00 10月03日更新
报价宝综合消息有人把Doom搬进SQL数据库 全彩60帧

SQLDoom与原版画面对比

“用数据库渲染 Doom 显然是个坏主意。”开发者 Lukas Vogel 在博客里这样开头,然后用了约 1300 行 SQL 把它变成了现实。这个名为 SQLDoom 的项目,把 1993 年的《毁灭战士》完整跑在 SQL 数据库里:全彩 640×480 画面、Ryzen 7 笔记本上约 60 帧,复杂场景也能守住 35 帧。

它的架构相当激进:一个小巧的 Python 客户端只负责输入、计时和把每帧画到屏幕上,其余一切——游戏几何、怪物状态、渲染管线——全部交给 CedarDB 的表。原版 Doom 的关卡本来就是由顶点、线段、扇区组成的,转成关系表意外地顺手;连大名鼎鼎的 BSP 树都能化解成预先计算好的 sort_key,每帧一个 ORDER BY 就决定了哪些墙面要画、哪些直接剔除。

真正的硬骨头是地板和天花板:原游戏靠“visplanes”逐列渲染的技巧在 SQL 里无法照搬,Vogel 只能用他自嘲“相当 hacky”的有序面板遍历来顶替。比起他去年的 DoomQL 项目——灰度 ASCII、还停留在 Wolfenstein 式的 90 度走廊视角——这次的画面已经看不出与原版可执行文件的明显区别。

Vogel 认为,这场硬核炫技并不只是好玩:数据库稳定的“参考快照”和内建的并发控制,恰好是多人游戏服务器最头疼的部分。用数据库做权威状态源,就“没有部分应用的更新、没有物理 bug,也不会再争论火箭到底打没打中”。

想自己跑一套的话,项目已在 GitHub 开源(cedardb/sqldoom),需要一份 CedarDB、一个 Doom 的 WAD 文件即可本地运行,官方还提供了免费的在线演示对局。从手表、Excel 到数据库,“它能不能跑 Doom”这个近 30 年的梗,又被程序员们往离谱的方向推进了一步。

编译自 Ars Technica,原标题:"Someone got Doom in an SQL database"

文章标签: SQLDoom Doom SQL CedarDB 数据库 游戏渲染 CTE 开源 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 数码相机价格 汽车价格 小米手机价格 耳机价格