Someone got Doom in an SQL database
摘要
开发者Lukas Vogel发布SQLDoom项目,利用SQL数据库渲染Doom游戏。该项目通过Python客户端处理输入输出与画面显示,后端使用CedarDB数据表追踪游戏几何与状态,并以约1300行SQL查询、89个公共表表达式实现游戏逻辑,每秒生成35帧位图画面。相比其此前基于光线投射的灰度ASCII项目DoomQL,SQLDoom可输出640x480
"Rendering Doom in a database is obviously a bad idea," Lukas Vogel writes in a lengthy blog post explaining how exactly he managed to render Doom using an SQL database.
OK, that's not entirely accurate. The SQLDoom project uses a small Python client to handle input and output, drive the game's timing, and display each frame to the screen. Behind that, a series of CedarDB tables tracks the game geometry and state, while about 1,300 lines of SQL queries spread across 89 common table expressions implement the game logic and generate 35 bitmap framebuffers per second.
In this, SQLDoom is a major improvement over Vogel's previous DoomQL project, which last year set out to build "a multiplayer Doom-like shooter entirely in SQL." Unfortunately, that effort ended up with raycasting-based, grayscale ASCII graphics that were more akin to the simplistic 90-degree-angled maps of Wolfenstein 3D. The newer SQLDoom, on the other hand, generates full-color 640x480 frames that look like they could have come from the original Doom executable.
转载信息
评论 (0)
暂无评论,来留下第一条评论吧