Top
Best
New

Posted by msephton 1 day ago

CSS is DOOMed(nielsleenheer.com)
https://cssdoom.wtf/
466 points | 108 commentspage 2
saidnooneever 10 hours ago|
just a small note on this very cool implementation and write up. you wrote modeling tools and animation stuff has camera that moves around.

i think ultimately, there also the world moves aroun the player and cameras are just a concept to make the frustrum etc (maybe modern tools do it differently, im a little out of date)

jsjsjxxnnd 23 hours ago||
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...

senfiaj 5 hours ago||
It's not just closer. Someone wrote an x86 emulator with CSS (it uses JS only for clock to make it more reliable). https://lyra.horse/x86css/ . So, CSS is officially Turing complete (which is a bit scary IMHO).
amelius 22 hours ago||
The only thing missing is the ergonomics of a real programming language.
cafebabbe 12 hours ago||
I like the declarative nature of it. It makes it so easy to debug anything, with "simple" introspection tools. I feel that many horrors will be created when we introduce control flow to CSS.

And this project kinda show how far you can go, still, if you really want it :D

amelius 4 hours ago||
A functional language should be able to do both.
0x737368 1 day ago||
With how these things are going, soon hackers will be challenging themselves to run Crysis on calculators and microwaves
oopsiremembered 1 day ago|
I think we're going to get to the point where AI will try to run Doom on humans.
OrangePilled 1 day ago||
This page could use some "Practical CSS scroll snapping": https://css-tricks.com/practical-css-scroll-snapping/
division_by_0 23 hours ago||
I was amazed when I first came across CSS scroll snapping. It's great for creating immersive experiences where one part of the page fills the entire screen while native browser scrolling still works.
ogghostjelly 6 hours ago|||
Personally, I find it to be a little disorienting. I get a bit of motion sickness with scroll snapping and I'm not exactly sure why.
OrangePilled 23 hours ago|||
When done right, I oddly find it immersive too. But know some people aren't fond of scrolling being tampered with.

The post here could really use it though. The main content is pushed to the bottom of the page!

division_by_0 20 hours ago||
Yes, and in most cases it's perfectly valid not to interfere with scrolling. The nice thing about CSS scroll snapping is of course that the browser still handles it (instead of it being taken over by JS).
larnon 20 hours ago||
The live demo doesn't work in Brave.
division_by_0 20 hours ago||
The demo really does not work in Brave. I use vertical scroll snapping on the landing page of one of my projects (enabled for screens with a min width of 768px and a min height of 600px - should work in Brave): https://cybernetic.dev
MrDOS 22 hours ago||
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/

w-ll 22 hours ago||
Quake Live did come out as a browser NaCl game a year or so later.
hackernudes 17 hours ago||
It was a traditional plugin (NPAPI), not NaCl (Native Client). Honestly a total gimmick. I still play Quake Live, though!
swyx 15 hours ago||
thats wild that you can still link to a 2006 blogpost. kudos, ars technica.
virtualritz 11 hours ago||
CSS is /the/ spec to look at to understand how awful something designed by committee gets.

In web specs closely rivaled by SVG.

You can pick which one is uglier and you'll be right.

Levitating 2 hours ago||
Crazy that the future of software development now looks like we'll all be making UIs with specs that just a few years ago didn't allow you to trivially center a widget in a container.
creesch 11 hours ago||
Be honest, did you just reply to the title and the title along even skipping the other comments?
virtualritz 10 hours ago||
I opened the article and read the first paragraph. Then skimmed the rest.

As others pointed out: the fact you can do this in CSS tells you everything you need to know if you consider what CSS is for. Even w/o ever looking at the spec or understanding how it came to be.

throawayonthe 9 hours ago||
i don't see what you mean? it's a rendering technology

i guess if you're someone still stuck on the "web browsers are for displaying static documents" and "css is for prettifying markup" thing, then sure, I bet what you said sounds real witty

quantummagic 22 hours ago||
This is great. And Firefox should get kudos too, for running it the best, with fewest workarounds needed.
Dwedit 14 hours ago||
> "I used Claude to create an approximate version of the game loop in JavaScript based on the original DOOM source"

This is the real horror here, Uncanny-Valley gameplay Doom. It's like those Doom maps where people tried to recreate the game levels from memory, but still made a few mistakes and got some details wrong. This is like that, but for the gameplay rather than the level layouts. It's different enough to be wrong.

We have Green Armor that sets your armor to 200%. Health Bonuses that reset your health to 100% if you exceeded that number, too bad if you recently collected a Soul Sphere. Switch-activated doors that are supposed to stay open, but instead automatically close, but then the secret wall unexpectedly activates like a manual door.

madrox 14 hours ago||
This is so disingenuous. You literally clipped the full sentence that changes the context significantly.

> "Once I’ve proven to myself that rendering was feasible, I used Claude to create an approximate version of the game loop in JavaScript based on the original DOOM source, which to me is the least interesting part of the project"

This post is about whether you can render Doom in CSS not whether Claude can replicate Doom gameplay. I doubt the author even bothered to give the game loop much QA.

cafebabbe 12 hours ago||
Seriously? Your takeaway from this is bad armor bonus computations?
yourapostasy 10 hours ago||
While standalone CSS is not yet Turing complete, I worry about the new attack vector categories opened up by moving it towards that state. Already I believe attackers have a choice to spread the attack payload between CSS, HTML and JavaScript to evade current detectors and analysis at the network borders, and evade CSP's since we're well into undecidability territory, like using CSS attribute selectors if the CSP allows external images or fonts. But I'm far from proficient at web browser red teaming. Is this worry unfounded?
codethief 6 hours ago|
> While standalone CSS is not yet Turing complete

Looks like it is, though? https://news.ycombinator.com/item?id=47558097

rox_kd 20 hours ago|
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 ..
More comments...