麦享科技9月12日消息,近日,一位程序员利用“纯SQL”构建了一款类似《Doom》的多人第一人称射击游戏,名为DOOMQL。
该游戏仅用约150行Python代码实现,虽然在软件架构上有所限制,但运行效果令人惊喜,帧率可达约30FPS。
DOOMQL的灵感来源于Patrick Trainer的DuckDB-DOOM项目,后者同样尝试用SQL构建类似《Doom》的游戏,但使用了JavaScript进行渲染和输入处理。
相比之下,DOOMQL实现了真正的“纯SQL”游戏,不仅支持多人模式,还用SQL处理渲染和输入,分辨率可达128×64像素。
开发者Lukas Vogel表示,DuckDB-DOOM中使用JavaScript的部分“感觉像是作弊”,而他自己的作品在性能上也更为出色,帧率远高于DuckDB-DOOM的8FPS。
Vogel还是数据库性能公司CedarDB的联合创始人,他在一个月的育儿假期间完成了DOOMQL的开发。
游戏的架构简洁而巧妙:状态存储在数据库表中,渲染通过SQL视图实现射线投射和精灵投影,游戏循环由一个小型shell脚本驱动,每秒执行SQL文件约30次,而客户端则由约150行Python代码组成,负责输入轮询和查询数据库以获取3D视图。
目前,DOOMQL的代码已在GitHub上开源,玩家可以使用Docker和Python在本地运行游戏。Vogel计划在未来对游戏进行改进,包括添加强化道具、多种武器、优化精灵细节层次系统、改进客户端以及加入AI对手等。