Представлен публике инициатива DOOMQL (SELECT * FROM HELL) — Doom в SQLite

2 мин
Представлен публике инициатива DOOMQL (SELECT * FROM HELL) — Doom в SQLite

Представлен публике публичный инициатива под названием DOOMQL (SELECT * FROM HELL). Это играбельный шутер от первого лица, буфер кадров которого представляет собой SQL-запрос в SQLite. Исходный исходник решения написан на Python и опубликован под лицензией MIT.

«DOOMQL начался с намеренно неразумного вопроса: что, если бы SQLite был игровым движком, а не просто местом хранения данных в игре? В результате получилась небольшая оригинальная игра в стиле Doom, в которой SQL управляет движением, столкновениями, врагами, боем, прогрессом и каждым пикселем RGB на экране. Здесь нет SVG, браузера, Canvas или игрового движка, а играбельная среда выполнения не содержит графического кода на Python», — пояснил автор проекта.

Как SQL превращается в изображение? Для каждого кадра SQL считывает таблицы игрока и карты и выдаёт одну строку на пиксель:

Второе представление SQL преобразует эти строки RGB в цветные блоки терминала ▀. Сервер Python не выполняет отрисовку: он передает в SQLite необработанные ключи, время и размер терминала, а затем выводит итог выполненного запроса без изменений.

Цельный видимый кадр возвращается одним запросом:

SELECT scanline FROM render_frame ORDER BY y;

DOOMQL — это оригинальный рейкастер, похожий на Doom, а не порт Doom. Он не содержит кода Doom, данных WAD, карт, графики, аудио или логотипов и не связан с id Software или её издателями и не поддерживается ими.

Финальное физическое отображение выполняется терминалом. SQL вычисляет каждое значение RGB и выдаёт каждую инструкцию цвета терминала; Python записывает эти байты без изменений. Рассматривайте пользовательские базы данных как доверенные входные данные.

Модифицированная база данных может заменить сохранённый SQL-код во время выполнения и внедрить текст в терминал, поэтому не открывайте недоверенные файлы с параметром --db.

Тригонометрия с плавающей запятой может немного отличаться в сборках SQLite и math-library, поэтому детерминированное воспроизведение гарантируется только в одной и той же среде.

Читают сейчас

Версия открытого редактора звука Audacity 4.0

2 часа назад

Версия открытого редактора звука Audacity 4.0

3 сентября 2026 года состоялся релиз открытого редактора звука Audacity 4.0.0, предоставляющего средства для редактирования звуковых файлов (Ogg Vorbis, FLAC, MP3 и WAV), записи и оцифровки звука, изм

Вышел Tails 7.12

2 часа назад

Вышел Tails 7.12

3 сентября 2026 года состоялся выпуск специализированного дистрибутива Tails 7.12, ориентированного на конфиденциальность, основанного на пакетной базе Debian 13 (ядре Linux 6.12 LTS), поставляемого с

Исследование: ИИ стал чаще выходить из-под контроля

9 часов назад

Исследование: ИИ стал чаще выходить из-под контроля

Новое исследование провели специалисты Обсерватории потери контроля (Loss of Control Observatory), созданной на средства британского Института безопасности искусственного интеллекта (AI Security Insti

OpenAI выпустила GPT-6 Astra: кибербезопасность, AGI и доступ

9 часов назад

OpenAI выпустила GPT-6 Astra: кибербезопасность, AGI и доступ

OpenAI представила GPT-6 Astra — новое флагманское поколение модели, ориентированное на автономную работу над сложными многошаговыми задачами. Акцент сделали на программировании, исследованиях, работе

Учёные нашли уникальный для человека ген, который может отчасти объяснить возможности нашего мозга

11 часов назад

Учёные нашли уникальный для человека ген, который может отчасти объяснить возможности нашего мозга

Микроглия — самый многочисленный тип иммунных клеток мозга. Эти клетки защищают мозг от вредных агентов, удаляют повреждённые нейроны и участвуют в нормальном развитии мозга. Исследователи из Институт