🎮 Doom на SQL? Почему бы и нет!

Разработчик Патрик Трейнер решил проверить, насколько далеко можно зайти, используя SQL не по назначению. Результат? Примитивный клон Doom, работающий прямо в браузере, где вся логика игры реализована на SQL-запросах с использованием DuckDB-WASM.

🧱 Мир как база данных  Вместо традиционного управления состоянием игры через JavaScript, вся информация — от карты и позиции игрока до врагов и пуль — хранится в таблицах DuckDB прямо в браузере.

🧠 Логика на SQL  Движение игрока, столкновения, стрельба — всё это обрабатывается через SQL-запросы. Например, перемещение реализовано так:

UPDATE player SET x = x + COS(dir)step, y = y + SIN(dir)step;

🎨 Рендеринг через VIEW  Самое впечатляющее — это рендеринг. С помощью рекурсивных CTE DuckDB выполняет трассировку лучей для создания ASCII-графики, имитируя 3D-вид от первого лица. Всё это — внутри SQL VIEW.

💡 Зачем это нужно?  Хотя это и не самый эффективный способ создания игры, проект демонстрирует мощь и гибкость SQL и DuckDB. Это отличный пример того, как можно выйти за рамки привычного и использовать инструменты нестандартным образом.

🔗 Подробнее: Abusing DuckDB-WASM by making SQL draw 3D graphics (Sort Of)

#intreting  #SQL #DuckDB #WebDev #WASM #Doom
repost

95

input message

напишите коммент

еще контент автора

еще контент автора

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь