Инженер-программист в Шмаков Медиа
· 23.04🎮 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еще контент автора
еще контент автора
Инженер-программист в Шмаков Медиа
· 23.04войдите, чтобы увидеть
и подписаться на интересных профи