HeadlinesBriefing HeadlinesBriefing.com

Doom на SQL: логика игры 1993 в базе данных

Hacker News •
×

Оригинальный Doom 1993 полностью перенесён на SQL, его игровая логика и рендерер работают внутри базы данных. Игровой цикл работает на оригинальных 35 FPS, а рендерер выдаёт полные кадры 320x200 до 60 Гц на AMD Ryzen 7 7840 U. Python обрабатывает только тайминг, ввод с клавиатуры и отображение битмапа. Мультиплеер deathmatch поддерживается с четырьмя слотами на серверах EU и US. Демо-версия первого эпизода доступна, с очередью если серверы заполнены. Проект основан на DOOMQL, более ранней версии в ASCII-арте, но теперь включает BSP-деревья для правильного порядка глубины, текстуры и разную высоту пола. Файл WAD переведён в реляционные таблицы, импорт занимает около 18 секунд. Рендерер выводит точные RGB-пиксели через SQL, игровая логика работает на фиксированном цикле 35 Гц. Клиент намеренно минимален, только ввод, тайминг и отображение.

Архитектура разделяет игровую логику и рендерер на два SQL-пути: игровая логика обновляет таблицы состояний, рендерер — чистая функция от этих таблиц. Это позволяет клиенту запрашивать кадры сколько нужно. Проект показывает, что сложные игровые механики можно реализовать чисто на SQL, используя пользовательские функции при необходимости. Фактор веселья оригинального Doom сохранён, визуал и ощущения соответствуют классике 1993 года.

Ключевые сущности: Локации: серверы EU, серверы US

Источник: Hacker News · Сводку подготовил HeadlinesBriefing