Разработан проект cssDoom: игра Doom на CSS

Разработчик Нильс Ленхеер анонсировал новый открытый проект под названием cssDoom, который предлагает уникальную реализацию легендарной игры Doom. В отличие от традиционных подходов, данный проект использует исключительно CSS для отрисовки графики, исключая использование canvas и WebGL. Игровая логика написана на JavaScript, а основа проекта — оригинальный код Doom, предоставленный компанией id Software. Вся информация доступна на GitHub под лицензией GPLv2.

В cssDoom все визуальные элементы, включая спрайты, текстурированные стены и эффекты, оформлены с использованием стильных CSS элементов , которые создаются и позиционируются в 3D-пространстве при помощи свойств transform и transform-style: preserve-3d. Автор объясняет: «Мы начинаем с параметров из WAD-файла Doom и создаем сцену. При этом свойства не устанавливаются напрямую через JavaScript — мы используем пользовательские свойства, извлеченные из геометрии вершин Doom. CSS же рассчитывает корректные размеры и преобразования через тригонометрические функции».

Разработчик также отмечает, что система координат в Doom и CSS 3D различаются. Doom использует 2D систему, где Y увеличивается в северном направлении, тогда как в CSS Y направлен вверх. Таким образом, для преобразования используется синтаксис translate3d(x, -z, -y). «После создания сцены запускается игровой цикл на JavaScript, который контролирует состояние игры. Это наименее интересная часть проекта, так как она представляет собой воссоздание исходного кода на JavaScript», — добавляет Ленхеер.

Кроме того, игроки могут переключаться между видом от первого лица и камерой, чтобы исследовать игровую карту. Ранее другой разработчик, Адам Райс, также представил проект Doom Over DNS, который позволяет играть в Doom через стандартные сетевые возможности интернета.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: