开发者用SQL数据库运行《毁灭战士

开发者 Lukas Vogel 发布 SQLDoom,在数据库中运行《毁灭战士》。项目通过 Python 前端与 1300 行 SQL 代码,实现每秒 35 帧的全彩 640x480 画面渲染,视觉效果接近原版游戏。

开发者 Lukas Vogel 近日发布长文,详细介绍了其 SQLDoom 项目——一个完全在 SQL 数据库中运行的《毁灭战士》(Doom)游戏实现。尽管在数据库中运行游戏看似违背常规,但该项目通过独特的架构实现了这一目标。

SQLDoom实现640x480全彩渲染

SQLDoom 并非单纯依靠数据库逻辑驱动画面,而是采用了一个轻量级的 Python 客户端作为前端,负责处理用户输入、输出显示以及维持游戏时序。核心的游戏状态与几何数据由一系列 CedarDB 表进行追踪。据 Vogel 介绍,游戏逻辑主要分布在 89 个公用表表达式中,涉及约 1,300 行 SQL 查询代码。这些查询以每秒 35 帧的速度生成位图帧缓冲区,从而呈现出流畅的游戏画面。

相较于 Vogel 此前开发的 DoomQL 项目,SQLDoom 在图形表现上有了显著提升。DoomQL 始于去年,旨在构建一个完全基于 SQL 的多人射击游戏,但最终受限于技术实现,仅能提供类似《沃尔夫斯坦 3D》风格的灰度 ASCII 射线投射图形,且视角局限于简单的 90 度角度地图。而最新的 SQLDoom 则能够渲染出全彩色的 640x480 分辨率画面,视觉效果已接近原版 Doom 可执行文件。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读