Голландский программист воссоздал Doom целиком на CSS и HTML без графического движка

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
  [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
AxExE 4 апр. 2026 г. в 16:04
Шутник  •  На сайте 8 лет
Сообщений: 7
25
Нидерландский разработчик Нильс Линхеер, известный по созданию сайта HTML5test.com, провернул необычный эксперимент – он воссоздал классическую Doom так, что все стены, полы, бочки и враги отрисовываются браузером через обычные HTML-элементы и CSS-стили. По сути, JavaScript в этой версии отвечает только за игровую логику (перемещение, стрельбу, поведение врагов), а всю визуальную часть берет на себя CSS – язык, который изначально придумали для оформления веб-страниц, а не для построения 3D-сцен.

Работает это так. Данные из оригинальных файлов Doom превращаются в тысячи HTML-блоков (так называемых div-элементов), каждый из которых получает свои координаты из оригинальной игры. Дальше браузер с помощью CSS-трансформаций и математических функций вроде вычисления углов и расстояний сам размещает эти блоки в трехмерном пространстве. Полы, например, представляют собой div-элементы, повернутые на 90 градусов, а их форма вырезается через специальные CSS-функции для создания сложных контуров.

Если вам хочется разобраться в этом подробнее, то можно прочитать статью на сайте Нильса. Она довольно дотошная.

Камеры в CSS не существует, поэтому Линхеер придумал обходной путь – при движении игрока двигается весь мир в противоположную сторону. JavaScript передаёт координаты и угол обзора игрока через CSS-переменные, а стили сами пересчитывают смещение сцены. Враги и снаряды всегда повёрнуты лицом к игроку благодаря так называемой технике "билборда", а анимации спрайтов прокручиваются через CSS-анимации.

Освещение, двери, лифты – все реализовано через CSS. Уровень света в каждом секторе хранится в переменной, которая применяет фильтр яркости ко всему содержимому, так что темные комнаты затемняются автоматически. Открытие двери – это просто CSS-переход по пользовательскому свойству, а JavaScript лишь переключает атрибут состояния. Линхеер даже сделал игру адаптивной для разных размеров экрана через Flexbox и добавил режим наблюдателя с камерой от третьего лица.

Разумеется, у подхода есть ограничения – на больших картах с тысячами 3D-элементов браузеры начинают тормозить, а мобильный Safari и вовсе может упасть. Некоторые визуальные приемы оригинальной Doom, например отрисовка неба, не переносятся в CSS напрямую и требуют дополнительных хитростей. Сам Линхеер признает, что это не замена полноценным графическим технологиям вроде WebGL.

Сыграйте в нее прямо сейчас.

Голландский программист воссоздал Doom целиком на CSS и HTML без графического движка
Все комментарии:
hardosaur 4 апр. 2026 г. в 16:06
Шутник  •  На сайте 7 лет
4
Тяжеловато играть, но я смог :)

Размещено через приложение ЯПлакалъ
barr46 4 апр. 2026 г. в 16:07
Шутник  •  На сайте 8 месяцев
0
С телефона не канает,дверь не открыть,но прикольно

Размещено через приложение ЯПлакалъ
altcms 4 апр. 2026 г. в 16:07
Старый байкер  •  На сайте 13 лет
14
Зачем ? Лучше бы занимались оптимизацией современных игр, а то дай на игруху 32 гига оперы и на видюхе минимум 16 гиг.
2002 год .kkrieger 96 килобайт.

Это сообщение отредактировал altcms - 4 апр. 2026 г. в 16:13

Голландский программист воссоздал Doom целиком на CSS и HTML без графического движка
AnSoR 4 апр. 2026 г. в 16:08
Ярила  •  На сайте 10 лет
2
Мощность современных машин позволяет.
Лет через 5-10 в браузере и киберпанк запустят с трассировкой

Размещено через приложение ЯПлакалъ
XanderBass 4 апр. 2026 г. в 16:09
Свободяй  •  На сайте 15 лет
0
CSS уже давно делают едва ли не тьюринг-полным ЯП.
AnSoR 4 апр. 2026 г. в 16:09
Ярила  •  На сайте 10 лет
3
Цитата (altcms @ 04.04.2026 - 16:07)
Зачем ? Лучше бы занимались оптимизацией современных игр, а то да й на игруху 32 гига оперы и на видюхе минимум 16 гиг.

Это слово забыто.
На андроиде банковские приложения по 1гб

Размещено через приложение ЯПлакалъ
YourBunnyWro 4 апр. 2026 г. в 16:10
Ярила  •  На сайте 9 лет
1
у меня в ноуте все вентиляторы взбесились
ФэтФрумос 4 апр. 2026 г. в 16:16
Ярила  •  На сайте 11 лет
0
Тус следует отметится, чтоб не потерять
UXF79 4 апр. 2026 г. в 16:18
снайпер  •  На сайте 16 лет
0
Цитата (YourBunnyWro @ 4 апр. 2026 г. в 15:10)
у меня в ноуте все вентиляторы взбесились

На десктопе даже не проснулись.
Пазл 4 апр. 2026 г. в 16:21
Балагур  •  На сайте 5 лет
0
Дальше ждём Дюкнюкема. Там вообще жесть, потому-что зеркала работают, хотя конечно и сделано там очень изящно обход рассчета))

Размещено через приложение ЯПлакалъ
sandrelo 4 апр. 2026 г. в 16:24
Приколист  •  На сайте 12 лет
3
Это прям фетиш какой-то, запустить дум на любом устройстве где есть процессор и дисплей. Только смысл в этом какой? Играть всё равно невозможно. Показать другим какой я крутышка?

Размещено через приложение ЯПлакалъ
vitalf 4 апр. 2026 г. в 16:25
Ярила  •  На сайте 13 лет
0
Заморочился товарищ, конечно. Понимаю как все сделано, но яп не взялся за такую задачу на энтузиазме

Размещено через приложение ЯПлакалъ
masta4e 4 апр. 2026 г. в 16:28
Весельчак  •  На сайте 14 лет
0
Однако, респект коллеге по цеху... why.gif

ЗЫ: В хроме на макбуке на М2 просто всё разваливается. Играть нереально... sad.gif

Это сообщение отредактировал masta4e - 4 апр. 2026 г. в 16:39
altcms 4 апр. 2026 г. в 16:28
Старый байкер  •  На сайте 13 лет
1
Цитата (AnSoR,)
Это слово забыто.
На андроиде банковские приложения по 1гб

Если руки их жопы можно и 4 гига сожрать, а если нейросети подключить то и 16ти гигов не хватит.
altcms 4 апр. 2026 г. в 16:31
Старый байкер  •  На сайте 13 лет
-1
Цитата (YourBunnyWro,)
у меня в ноуте все вентиляторы взбесились

От этого мусора вообще комп не напрягся.

Это сообщение отредактировал altcms - 4 апр. 2026 г. в 16:33

Голландский программист воссоздал Doom целиком на CSS и HTML без графического движка
nt60 4 апр. 2026 г. в 16:34
Ярила  •  На сайте 13 лет
1
Из всех DOOM'ов меня больше всех поразил этот: sm_biggrin.gif

Голландский программист воссоздал Doom целиком на CSS и HTML без графического движка
Medoved 4 апр. 2026 г. в 16:49
Приколист  •  На сайте 3 года
0
Выстрел то что только мышой?
Мог бы и пробел добавить :)
Nemo2013 4 апр. 2026 г. в 17:47
Ярила  •  На сайте 12 лет
0
На Спектруме был Дум. Не помню правда скольки килобайтном.
Negativ42rus 4 апр. 2026 г. в 18:39
Ярила  •  На сайте 11 лет
0
Цитата (altcms @ 04.04.2026 - 16:07)
Зачем ? Лучше бы занимались оптимизацией современных игр, а то дай на игруху 32 гига оперы и на видюхе минимум 16 гиг.
2002 год .kkrieger 96 килобайт.

А кто тогда будет всё это железо компьютерное покупать за охулиард денег.

Размещено через приложение ЯПлакалъ
evilsun 4 апр. 2026 г. в 18:51
Ярила  •  На сайте 13 лет
0
Цитата (altcms @ 4 апр. 2026 г. в 16:07)
Зачем ? Лучше бы занимались оптимизацией современных игр, а то дай на игруху 32 гига оперы и на видюхе минимум 16 гиг.
2002 год .kkrieger 96 килобайт.

Не то, чтобы я оправдываю современных рукожопов от разработки, но нет никакого смысла упихивать сейчас что-то в килобайты. Раньше был смысл, т.к. железо устанавливало серьезные ограничения, но сейчас это выйдет долго и дорого (значительно увеличит сроки разработки).
.kkrieger про который вы пишете - вообще не показатель. Во первых, это проект энтузиастов, который не ушел дальше демки. Во-вторых, он занял кучу времени (годы) на разработку. В-третьих - он кривой и косой и состоит всего из одного уровня. Плюсом там долгая загрузка, а также процедурная генерация и очень высокие системные требования, несмотря на маленький объем исходного кода (сравнимы для ААА-хитов тех лет).
Asmodeux 4 апр. 2026 г. в 18:56
Шутник  •  На сайте 5 лет
0
Цитата (Nemo2013 @ 04.04.2026 - 17:47)
На Спектруме был Дум. Не помню правда скольки килобайтном.

128К. Демо версия от Digital Reality. На время выхода смотрелось нереально круто

Размещено через приложение ЯПлакалъ
orlenok 4 апр. 2026 г. в 18:59
Ярила  •  На сайте 11 лет
0
Цитата (altcms @ 4 апр. 2026 г. в 16:07)
Зачем ? Лучше бы занимались оптимизацией современных игр, а то дай на игруху 32 гига оперы и на видюхе минимум 16 гиг.
2002 год .kkrieger 96 килобайт.

Затем же, зачем на заре появления в России любых инструментов, от ACAD до KOMATSU, считалось признаком хорошего тона изобразить с помощью этого инструмента всем известное слово из трех букв(не VPN). dont.gif
Шизоманьяк 4 апр. 2026 г. в 19:08
*****ц  •  На сайте 12 лет
0
с 3го уровня невозможно играть, все рябит ппц
altcms 4 апр. 2026 г. в 19:16
Старый байкер  •  На сайте 13 лет
0
Из первого дума только это запомнилось, испугался как ребёнок :))))) 90е годы. Эх какие года были :)

Это сообщение отредактировал altcms - 4 апр. 2026 г. в 19:18

Голландский программист воссоздал Doom целиком на CSS и HTML без графического движка
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
3 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 2083
2 Пользователей: moth1, Gazzorian
[ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы






Наверх