关键信息

创作者 Lukas Vogel 开发了 SQLDoom,这是一个在以性能为导向、兼容 Postgres 的关系数据库管理系统 CedarDB 中运行 1993 年游戏的项目。前端通过 Python 处理图形、声音和输入,充当外围设备,而所有数学计算都在数据库内进行。

转换该项目需要 5900 行 SQL 代码用于核心游戏循环,1300 行代码用于图形渲染器,跨越 89 个不同的表。Vogel 指出,Doom 包文件中的数据具有高度关联性,允许地图关卡轻松复制到简单的数据库表中。

Vogel 发现 SQL 通过用并行执行的单个 UPDATE 语句替换迭代循环来简化各种操作,尽管他提到地板和天花板渲染器无法完美映射,因为它们依赖于泛洪填充算法。

多人游戏功能受益于数据库环境,其中事务命令会自动同步各表之间的状态。感兴趣的用户可以通过其 GitHub 存储库下载或探索 SQLDoom,或阅读 Vogel 的博客文章。

更多详细内容请参阅原文。