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

开发者用CSS复刻DOOM:3000个div撑起30年前神作

0
分享至


浏览器能跑3D游戏不稀奇,但渲染管线全靠CSS算——这事连Chrome团队都没想过。

前端工程师Niels Lohmann干了件"吃饱了撑的"壮举:用纯CSS重制1993年的《DOOM》。不是WebGL,不是Canvas,是3000多个`

`标签拼成的地狱。游戏逻辑交给JavaScript,但每一面墙、每个油桶、每只恶魔的位置,全由CSS变换(CSS transforms)实时计算。

为什么非要这么干?

「我想看看浏览器的极限在哪。」Lohmann的原话很直接。他之前还做过更离谱的事——把DOOM移植到1980年代的示波器上。那次经验帮他解决了地图提取和数学运算的坑,这次他把战场搬到了浏览器样式表。

第一版原型他试过"全CSS方案":游戏状态、逻辑、计算全塞进样式表。结果渲染没问题,逻辑直接崩盘。「CSS算不了这个,太复杂了。」他干脆拆分项目:用Claude把原版DOOM的C代码转成JavaScript跑游戏循环,自己死磕CSS渲染。


CSS怎么算3D坐标

核心 trick 是CSS自定义属性(CSS custom properties)。每个墙面元素长这样:

WAD文件里的原始数据——顶点、线段、扇区——被原封不动写进HTML属性。浏览器用勾股定理算墙面宽度,用三角函数算角度,用透视变换(perspective transforms)把2D坐标掰成3D空间。Lohmann没直接设置元素的宽高和3D变换,全让CSS从原始坐标推导。

这套方案省了什么?GPU着色器、WebGL上下文、Canvas 2D API。代价是Chrome DevTools的性能面板会很好看——3000个div的重排开销,够普通网页死三回。


现代CSS的隐藏技能

项目能跑起来,靠的是CSS这30年的进化:自定义属性、计算函数(calc())、3D变换、视口单位。1993年DOOM发售时,CSS还没出生;现在它能渲染DOOM,本身就够讽刺。

但Lohmann也撞了墙。CSS没有游戏循环的概念,没有状态管理,复杂逻辑必须外包给JS。他的结论很产品经理:技术边界要试,但别跟不可能较劲。

代码已开源。Lohmann在GitHub留了一句话:「DOOM不仅让我回到高中时代,还让我重新捡起了高中数学。」

现在打开他的Demo,你会看到1993年的像素地狱在2024年的浏览器里流畅运行——靠的居然是一堆div和样式规则。下一个问题留给读者:如果CSS能跑DOOM,它还能被什么"不可能"的任务重新定义?

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

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.

相关推荐
热点推荐
俄罗斯:拟自4月1日起禁止汽油出口 优先保障俄国内市场供应

俄罗斯:拟自4月1日起禁止汽油出口 优先保障俄国内市场供应

每日经济新闻
2026-03-28 18:40:36
惨!压10年终于上映,成本1亿票房才633万,劣迹艺人把袁泉害惨了

惨!压10年终于上映,成本1亿票房才633万,劣迹艺人把袁泉害惨了

得得电影
2026-03-29 20:16:12
厉害了我的国!终于开始战略反攻了!

厉害了我的国!终于开始战略反攻了!

达文西看世界
2026-03-28 12:01:24
央行证监会联手送定心丸!A股下跌空间彻底锁死,下周稳了!

央行证监会联手送定心丸!A股下跌空间彻底锁死,下周稳了!

慧眼看世界哈哈
2026-03-29 19:17:09
副部级高官任上落马,任职地多名前下属被查

副部级高官任上落马,任职地多名前下属被查

中国新闻周刊
2026-03-29 09:44:48
54岁未婚演员戏红人不红,孝心照料母亲安享晚年

54岁未婚演员戏红人不红,孝心照料母亲安享晚年

仙味少女心
2026-03-28 21:15:42
暴跌25%!曾经一包难求的顶级奢侈品,如今五折甩卖都没人要?

暴跌25%!曾经一包难求的顶级奢侈品,如今五折甩卖都没人要?

青眼财经
2026-03-27 22:55:18
许晋亨更爱谁,看照片一目了然!

许晋亨更爱谁,看照片一目了然!

小椰的奶奶
2026-03-29 07:05:01
32岁女生自述得艾滋病过程,原因是见了一次网友,如今十分后悔

32岁女生自述得艾滋病过程,原因是见了一次网友,如今十分后悔

千秋文化
2026-03-29 20:59:49
这热度飙升第一的国产剧,太侮辱智商了

这热度飙升第一的国产剧,太侮辱智商了

独立鱼
2026-03-28 21:06:19
江浙沪人对青菜的执念火了!网友:我们这儿,只认这一种叫青菜?

江浙沪人对青菜的执念火了!网友:我们这儿,只认这一种叫青菜?

房产衫哥
2026-03-29 08:33:50
研究发现自慰或性行为有助于改善睡眠

研究发现自慰或性行为有助于改善睡眠

映射生活的身影
2026-03-27 19:44:25
96岁外婆每天桃酥配糖水,子女急得网上求助,结果全“翻车”了!

96岁外婆每天桃酥配糖水,子女急得网上求助,结果全“翻车”了!

叮当当科技
2026-03-29 15:04:51
26.7万!丰田官宣:新车正式发布

26.7万!丰田官宣:新车正式发布

高科技爱好者
2026-03-28 23:00:14
第二个 “富士康” 诞生,年收7771亿,员工96万,郭台铭后悔了吗

第二个 “富士康” 诞生,年收7771亿,员工96万,郭台铭后悔了吗

老谢谈史
2026-03-28 21:39:04
杜锋心腹爱徒!张皓嘉几乎打满全场5中1得2分6板6助 在场效率+49

杜锋心腹爱徒!张皓嘉几乎打满全场5中1得2分6板6助 在场效率+49

狼叔评论
2026-03-29 21:42:04
世上有两个国家,一个谁也打不过,一个谁也不敢打

世上有两个国家,一个谁也打不过,一个谁也不敢打

近史谈
2026-03-28 23:06:25
姆巴佩和女友近照,27岁已是超巨,身家过亿,女友是火辣演员

姆巴佩和女友近照,27岁已是超巨,身家过亿,女友是火辣演员

章眽八卦
2026-03-28 12:22:40
张雪峰自曝每天就睡两个小时,助理非要给他买除颤仪

张雪峰自曝每天就睡两个小时,助理非要给他买除颤仪

金牌娱乐
2026-03-29 08:06:36
洛杉矶10万人 参加“不要国王”抗议 多人被捕

洛杉矶10万人 参加“不要国王”抗议 多人被捕

每日经济新闻
2026-03-29 15:10:55
2026-03-29 22:47:00
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
364文章数 1关注度
往期回顾 全部

科技要闻

马斯克承认xAI"建错了",11位创始人均离职

头条要闻

美军地面战"数周速决"方案披露 欲复刻"42天灭伊"神话

头条要闻

美军地面战"数周速决"方案披露 欲复刻"42天灭伊"神话

体育要闻

绝杀卫冕冠军后,他单手指天把胜利献给父亲

娱乐要闻

张凌赫事件持续升级!官方点名怒批

财经要闻

Kimi、Minimax 们的算力荒

汽车要闻

岚图泰山X8配置曝光 四激光雷达/华为新一代座舱

态度原创

艺术
教育
手机
游戏
公开课

艺术要闻

314米!温哥华第一座超高层摩天楼,像“海绵礁”

教育要闻

关于举办新时代中小学劳动教育高质量发展研讨会的通知

手机要闻

澎湃OS再次公布进展通报:老机型问题被修复,新机还需打磨!

洛克王国手游曝致命缺陷!玩家"逆天操作"引死档

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版