logoalt Hacker News

CSS is DOOMed

225 pointsby msephtonyesterday at 8:39 PM52 commentsview on HN

Comments

MrDOSyesterday at 10:22 PM

In 2006, Ars Technica published an April Fool's article[0] declaring that the perennially-forthcoming Duke Nukem Forever would finally see the light of day... as... a browser game! Ho ho, how droll.

Crazy to see how far we've come.

[0]: https://arstechnica.com/gaming/2006/04/forever/

show 1 reply
rkagereryesterday at 9:27 PM

But where can I try it out in my browser?

EDIT: https://cssdoom.wtf/

show 5 replies
sheeptyesterday at 9:03 PM

Creating 3D scenes with CSS has always been possible[0], but like this project, it's required JavaScript for interactivity.

But there's a lot more CSS features now. While in the past, Turing completeness in CSS required humans to click on checkboxes, now CSS can emulate an entire CPU without JavaScript or requiring user interaction.[1] So I wonder if DOOM could be purely CSS too, in real time.

[0]: https://keithclark.co.uk/labs/css-fps/ [1]: https://lyra.horse/x86css/

show 1 reply
h1frayesterday at 11:36 PM

So impressive! Bonus, you can wall hack by just deleting a div ahah

pverheggenyesterday at 11:05 PM

Seriously impressive, especially the viewport culling trick, not seen that one before.

FYI if you want to use inspect element, the viewport div consumes mouse elements, you can get rid of this with

  #viewport {
    pointer-events: none;
  }
  #viewport * {
    pointer-events: initial;
  }
0x737368yesterday at 9:01 PM

With how these things are going, soon hackers will be challenging themselves to run Crysis on calculators and microwaves

show 1 reply
rox_kdtoday at 12:44 AM

Couldn't agree more ... Especially how platforms like Stitch 2 are eliminating the barriers for non-technical individuals to actually get pretty decent UI/UX experience ..

quantummagicyesterday at 11:06 PM

This is great. And Firefox should get kudos too, for running it the best, with fewest workarounds needed.

jsjsjxxnndyesterday at 9:45 PM

In recent years CSS has become closer to a full programming language through experimental features, for example in 2025 they added if statements and some math functions like modulo

https://www.simplethread.com/new-and-upcoming-css-features-i...

show 1 reply
OrangePilledyesterday at 9:02 PM

This page could use some "Practical CSS scroll snapping": https://css-tricks.com/practical-css-scroll-snapping/

show 2 replies
AndreyK1984today at 1:46 AM

I try a simple absolutely layout (all calculated on a server), and helps me a lot. 1) no reflow 2) very few exceptions 3) WAY EASIER FOR LLMs

gfodytoday at 12:42 AM

super playable on ff but I got stuck here https://imgur.com/a/6nXbPY3

DarthCeltic85today at 1:16 AM

I LOVE this! You did a bang up job, is the skin change function coming in a future update?

sgbealyesterday at 9:07 PM

It would be really interesting to see this without the texturing applied.

notnmeyeryesterday at 9:34 PM

at this point i’m more interested in what _can’t_ run doom.

show 2 replies
malkostatoday at 1:17 AM

What a master class in linear algebra…

adi_kurianyesterday at 10:56 PM

Really cool!

anthkyesterday at 9:43 PM

https://freedom.github.io

Use Deutex, GNU make and Pillow for Python to compile.

Then wou will have up-to-date IWADS to be used aywhere. No need to put ID copyrights, just a mention to FreeDoom creators.

josefrichteryesterday at 9:36 PM

this is wild.

lysaceyesterday at 9:24 PM

The game logic runs in JavaScript

Also: a modern CPU is around 10000x faster than the 486 CPU Doom was designed for. Per core.

sulplisetalkyesterday at 11:49 PM

Yawn.

devnotes77today at 12:02 AM

[dead]

A04eArchitecttoday at 1:25 AM

[dead]

alcor-ztoday at 1:38 AM

[dead]

damotianshengtoday at 12:57 AM

[dead]

Roshan_Roytoday at 1:23 AM

[dead]

fnord77yesterday at 10:08 PM

> CSS is awesome.

No

show 1 reply
socalgal2yesterday at 10:33 PM

FYI: this is a cool hack and very impressive, but ... don't do this. That fact that it runs doesn't make it a good idea. Like running DOOM in Excel (https://github.com/Pranshul-Thakur/DOOM-in-excel) or making a DIV for every pixel and rendering by changing colors of divs https://news.ycombinator.com/item?id=46409359

Use 3D CSS to enhance a 2D page with some flair. But be aware, 3D CSS, it's trying to solve things that most realtime 3D rendering does not, like intersecting planes need to be subdivided in order to correctly handle transparency. This means 3D CSS has an O(N^2) or worse type of issue vs rendering yourself using WebGL or WebGPU where you'd avoid those issues. This demo probably does not intersect any planes but the browser itself has to check for those intersections anyway. TL;DR: If you're going to make a 3D web game use WebGL or WebGPU, not 3D CSS

Very cool demo though!

show 1 reply
Levitatingyesterday at 8:53 PM

Is CSS that awesome? It's still a language designed for styling webpages with 30 year of added features. I'd argue something purpose built would be a much better tool for the potential usecases people try to use CSS for now.

I guess I am asking, if modern CSS is so awesome, it's awesome compared to what exactly?

show 4 replies