网易首页 > 网易号 > 正文 申请入驻

用SQL跑《毁灭战士》?这群人真把游戏塞进了数据库

0
分享至

你大概从没想过,一个用来查数据、做报表的数据库语言,能跟一款三十多年前的射击游戏扯上关系。但有人真的这么干了——把初代《毁灭战士》整个搬进了SQL里。

对大多数非技术背景的人来说,SQL就是个管理大型数据集的工具。这确实是它被设计出来的用途。可它骨子里仍然是一门编程语言,带着C或Python这类通用语言才有的不少特性。它本来不是为通用任务准备的,但真拿它去做一些程序员意想不到的事,它居然也能扛下来。


他们到底做了什么

来自CedarDB的一个团队,把初代《毁灭战士》移植到了SQL上。这既是在展示SQL的能力,某种程度上也是在秀一把他们玩SQL的手艺。

项目把WAD数据——基本上就是除引擎之外的所有东西——存进了一系列表里。跟项目其余部分比起来,这一步还算简单。真正麻烦的地方在于两件事:一是管理把游戏锁在35 fps上的时序,二是渲染画面。

他们的渲染过程用了1300行SQL,分布在89个公共表表达式(CTE)里。对这门语言来说,这已经算是相当进阶的用法了。项目剩下的部分还有4000行SQL,另外配了一点Python,用来处理键盘输入、时序,以及显示生成的位图。

为什么偏偏是《毁灭战士》

说来有点反直觉,《毁灭战士》可能恰恰是最适合跑在SQL上的游戏。

它诞生在一个还没有专用显卡的年代,而且它并不是真正的3D。为了让它看起来像3D,当年的程序员不得不做大量取巧的处理。这些处理带来了很多数据变换,而这些变换恰好特别适合用SQL来做。

几乎可以说,《毁灭战士》最初的渲染器,就像是一个对SQL了如指掌的人写出来的。

想自己试试的话

这个项目的源代码已经放在GitHub上,感兴趣的人可以去找来跑跑看。

如果你对《毁灭战士》的各种奇葩移植版本有兴趣,还有别的选择:

  • 一个用正则表达式实现的版本
  • 一个跑在Microsoft Word里的版本

一款老游戏,一门老语言,凑在一起反而让人重新看了一眼那些被我们默认了用途的工具。SQL不只是查数据的,它还能做很多你以为它做不到的事——只是大多数人没往那个方向想过。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
岳母每天给我炖甲鱼汤,有天我喝不下喂了狗,次日看到小狗我愣住了

岳母每天给我炖甲鱼汤,有天我喝不下喂了狗,次日看到小狗我愣住了

温情邮局
2025-08-08 13:56:56
刘欢妻子卢璐曾拜托窦文涛辟谣:媒体说刘欢“没脖子”品味低下,跟刘欢结婚不是对方“丑却有才华”,“人家一开始就是帅哥”

刘欢妻子卢璐曾拜托窦文涛辟谣:媒体说刘欢“没脖子”品味低下,跟刘欢结婚不是对方“丑却有才华”,“人家一开始就是帅哥”

极目新闻
2026-09-26 14:17:09
张展硕亚运7金多次逆转日本队,为何日本选手反应如此强烈?

张展硕亚运7金多次逆转日本队,为何日本选手反应如此强烈?

林子说事
2026-09-26 06:57:25
一个人能无耻到啥程度?网友:朋友之间千万不能借钱,借了就没朋友了

一个人能无耻到啥程度?网友:朋友之间千万不能借钱,借了就没朋友了

带你感受人间冷暖
2026-09-24 00:05:26
菲律宾反华防长特奥多罗9月26日针对仁爱礁事件大放厥词

菲律宾反华防长特奥多罗9月26日针对仁爱礁事件大放厥词

果妈聊娱乐
2026-09-26 19:23:30
全球首家AI妓院,革了成人行业的命

全球首家AI妓院,革了成人行业的命

广告案例精选
2026-04-02 14:49:22
台岛震动!十二点共识曝光,解放军驻台、武器交中央、台军裁撤?

台岛震动!十二点共识曝光,解放军驻台、武器交中央、台军裁撤?

飞上自己的天空去
2026-09-26 12:39:08
千人工厂关停,纺织巨头将撤出中国!曾是当地高端出口的标杆品牌

千人工厂关停,纺织巨头将撤出中国!曾是当地高端出口的标杆品牌

财经八卦
2026-09-26 14:40:08
1986年陈永贵走完一生,全县无人前来吊唁,郭凤莲直言心声,凭一席话守住大寨人的铮铮骨气

1986年陈永贵走完一生,全县无人前来吊唁,郭凤莲直言心声,凭一席话守住大寨人的铮铮骨气

唠叨说历史
2026-09-18 17:40:18
农夫山泉,已经不是一家卖水的公司了

农夫山泉,已经不是一家卖水的公司了

刺猬公社
2026-09-18 07:37:36
这就是赤裸裸的现实!工商银行已经到了最危险的时候?

这就是赤裸裸的现实!工商银行已经到了最危险的时候?

财经保探长
2026-08-23 21:43:55
93岁原卫生部副部长曹泽毅:我从不养生,只做7件事,比补品管用

93岁原卫生部副部长曹泽毅:我从不养生,只做7件事,比补品管用

小方说跑步
2026-08-22 09:10:06
避孕套销量下跌25%,年轻人为什么连性生活也放弃了?

避孕套销量下跌25%,年轻人为什么连性生活也放弃了?

黯泉
2026-09-26 19:31:35
黄仁勋直言:支持对华禁售先进产品,美国企业需要优先获得尖端技术,但是坚决不同意对华封锁所有产品

黄仁勋直言:支持对华禁售先进产品,美国企业需要优先获得尖端技术,但是坚决不同意对华封锁所有产品

逍遥漠
2026-09-26 17:27:59
刘欢走了,退休金才领 3 年:普通人这辈子,到底能领几年退休金?

刘欢走了,退休金才领 3 年:普通人这辈子,到底能领几年退休金?

砚底沉香
2026-09-26 17:47:19
樊振东,再创历史!前无古人!

樊振东,再创历史!前无古人!

乒乓网国球汇
2026-08-21 00:36:10
亚运会!4强对阵出炉,王曼昱、张本美和皆4-1,孙颖莎对手出炉

亚运会!4强对阵出炉,王曼昱、张本美和皆4-1,孙颖莎对手出炉

帛河体育
2026-09-26 12:03:48
吴艳妮鸣枪前举手中断比赛被罚黄牌,仍13秒12夺得女子100米栏冠军,实现全锦赛三连冠、加冕六金王

吴艳妮鸣枪前举手中断比赛被罚黄牌,仍13秒12夺得女子100米栏冠军,实现全锦赛三连冠、加冕六金王

都市快报橙柿互动
2026-08-16 23:07:30
太阳报:曼城或因违规被扣70-80分

太阳报:曼城或因违规被扣70-80分

懂球帝
2026-09-26 05:47:04
越南不再让中国转让高铁技术,越南曾觉得各国都会抢着来修他们的高铁,所以想来一个“一桃杀三士”

越南不再让中国转让高铁技术,越南曾觉得各国都会抢着来修他们的高铁,所以想来一个“一桃杀三士”

回京历史梦
2026-08-20 18:30:50
2026-09-26 20:23:00
有态度网友ytd2993
有态度网友ytd2993
有态度网友ytd
50文章数 28关注度
往期回顾 全部

游戏要闻

何润东成全场唯一手柄玩家:陈赫等众多明星看傻了

头条要闻

又见韩国 中国U23男足亚运会晋级4强后真正的考验来了

头条要闻

又见韩国 中国U23男足亚运会晋级4强后真正的考验来了

体育要闻

奇迹之子,亚运七金王,张展硕的19岁秋天

娱乐要闻

刘欢离世前疑已有预感 默默提前告别

财经要闻

盖茨:AI已强大到足以造成"10亿人死亡"

科技要闻

拖了近10年,特斯拉Semi终于量产!

汽车要闻

可城可野可旅行 捷途旅行者 7 双车预售14.99万起

态度原创

旅游
家居
艺术
健康
军事航空

旅游要闻

虎林市迎春镇:三域共荣庆中秋 古风游园聚民心

家居要闻

2026建博会(广州) 公装联探展交流活动

艺术要闻

尼哈德·阿加扎德:当代阿塞拜疆优秀青年画家

鼻子三角区的痘,千万别乱挤!

军事要闻

美官员:特朗普拒绝伊朗提议 并称或恢复对伊轰炸

无障碍浏览 进入关怀版