Post #2226
2.3K
На SQL теперь тоже пишут игры.
Проект DOOMQL развивает вариант игры DOOM на SQL и способный выполняться внутри СУБД CedarDB, частично совместимой с PostgreSQL. Игра поддерживает многопользовательский режим и выполняет отрисовку при помощи ASCII-графики.
Все компоненты игры (в том числе рендеринг, синхронизация состояния игроков в многопользовательской игре, игровой цикл) написаны на SQL. Игровая логика реализована при помощи таблиц, представлений и хранимых процедур
Игровой цикл для обработки и обновления игрового состояния запускается с помощью 20-строчного shell-скрипта, который 30 раз в секунду выполняет SQL-код для расчёта траектории выстрелов, анализа столкновений, обработки ввода и возрождения игроков
3D-рендер на SQL поддерживает трассировку лучей, проекцию спрайтов на 3D-сцену, обработку перекрытия объектов и HUD-интерфейс. Вся логика рендеринга реализована при помощи представлений. Синхронизация состояния игроков осуществляется при помощи таблиц и представлений
https://github.com/cedardb/DOOMQL
Проект DOOMQL развивает вариант игры DOOM на SQL и способный выполняться внутри СУБД CedarDB, частично совместимой с PostgreSQL. Игра поддерживает многопользовательский режим и выполняет отрисовку при помощи ASCII-графики.
Все компоненты игры (в том числе рендеринг, синхронизация состояния игроков в многопользовательской игре, игровой цикл) написаны на SQL. Игровая логика реализована при помощи таблиц, представлений и хранимых процедур
Игровой цикл для обработки и обновления игрового состояния запускается с помощью 20-строчного shell-скрипта, который 30 раз в секунду выполняет SQL-код для расчёта траектории выстрелов, анализа столкновений, обработки ввода и возрождения игроков
3D-рендер на SQL поддерживает трассировку лучей, проекцию спрайтов на 3D-сцену, обработку перекрытия объектов и HUD-интерфейс. Вся логика рендеринга реализована при помощи представлений. Синхронизация состояния игроков осуществляется при помощи таблиц и представлений
https://github.com/cedardb/DOOMQL
- 🤯 31
- 🔥 8
- ❤ 4
- 👏 3
- 🕊 1











