avatar
Хабр
@habr_com
30.03.2026 16:02
Разработчик Нильс Ленхеер превратил классический шутер Doom в браузерного монстра с отрисовкой на каскадных таблицах стилей. Проект cssDoom игнорирует canvas с WebGL ради манипуляций с бесконечными тегами
. Игровая логика из 90-х работает на JavaScript, пока движок строит 3D-сцену из обычных веб-прямоугольников. Исходный код открыт под лицензией GPLv2.

Движок берёт координаты стен из оригинального WAD-файла и передаёт их напрямую в пользовательские CSS-переменные. Дальше каскадные таблицы сами вычисляют 3D-трансформации через встроенные тригонометрические функции. Плоская система координат старого Doom жестоко конфликтует с современными правилами позиционирования. Скриптам приходится инвертировать значения и двигать весь виртуальный мир в обратном направлении от статичной камеры игрока.

Разделение труда работает чётко: код считает столкновения, а стили берут на себя всё визуальное оформление. Перемещение по уровню сводится к банальному обновлению четырёх числовых значений.
43
😱 21
🔥 12
🤡 8
🥴 5
👍 4
💩 4
👎 2
🤔 2
🤮 2
😐 1
11 58 17.6K

Обсуждение 11

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

Хабр

129.4K
НЛО с вами!

№ 5197888779

Хабр Новости → https://t.me/habr_com_news
Хабр Карьера → https://t.me/habr_career
Реклама → adv@habr.team
Открыть в Telegram