Peter Gostev задал себе намеренно неразумный вопрос: что если SQLite будет не местом, где игра хранит данные, а самим игровым движком? Результат — DOOMQL, оригинальный Doom-like шутер, где SQL управляет движением, коллизиями, врагами, боем, прогрессией и каждым RGB-пикселем на экране. Проект написан с помощью GPT-5.6 Sol — одной из трёх моделей новой линейки GPT-5.6 (Luna, Terra, Sol), анонсированной 9 июля 2026 года.
Контекст
SQLite — встраиваемая реляционная СУБД, которую принято считать «лёгким» решением для мобильных приложений, браузерных расширений и небольших проектов. Стандартный паттерн: игра работает, данные пишет в .sqlite-файл, читает обратно. DOOMQL переворачивает это с ног на голову.
Ключевой инструмент — рекурсивные CTE (Common Table Expressions). Это SQL-конструкция, позволяющая писать итеративные вычисления внутри одного запроса. В DOOMQL огромный SQL-запрос реализует полноценный рейкастер — алгоритм псевдо-3D-рендеринга, стоящий за оригинальным Doom 1993 года. Позиция игрока, стены, враги, цвет каждого пикселя — всё это результат одного рекурсивного SQL-запроса к SQLite.
Проект запускается как Python-скрипт в терминале. Simon Willison, автор Datasette (открытый инструмент для исследования SQLite-баз), публично его протестировал: подключил игровую базу к Datasette и с помощью Claude Fable 5 написал HTML+JavaScript приложение, которое читает состояние экрана из представления frame_pixels с колонками x, y, r, g, b и обновляет картинку раз в секунду прямо в браузере.
Аналитика
SQL как вычислительный движок — идея не новая. Существуют реализации сортировок, обходов графов и даже отдельных алгоритмов машинного обучения в чистом SQL. Но DOOMQL доводит это до эстетического предела: рейкастинг, игровая физика и рендеринг пикселей — в одном запросе, в одном файле SQLite. Это не учебный трюк, это работающая игра.
Параллельный сигнал той же недели: sqlite-utils 4.0 — production-инструмент для работы с SQLite — был «в основном написан Claude Fable» примерно за $149.25 в затратах на модель. GPT-5.6 Sol пишет нетривиальный game engine на SQL, Fable пишет production-библиотеку. LLM уже производят реальный технический вывод в узких доменах, а не только объясняют и документируют чужой код.
Для рынка AI-инструментов это важно: планка «что может сгенерировать модель» поднялась до уровня, где задачи типа «реализуй рейкастер в SQL через рекурсивные CTE» решаемы без глубокой экспертизы. Архитектурные эксперименты стали дешевле — проверить нестандартную идею теперь стоит часы и десятки долларов, а не спринты команды. Это меняет экономику прототипирования: странные идеи перестали быть запретно дорогими.
Кейсы применения в бизнесе
B2B-SaaS стартап. Если бэкенд работает с SQLite или PostgreSQL — часть вычислительной логики можно перенести прямо в запросы через CTE, убрав промежуточный Python-слой. Сценарий: скоринг лидов, граф связей между клиентами, агрегация метрик — всё это делается в одном запросе. Инструмент проверки: попросить GPT-5.6 или Fable написать recursive CTE для конкретной задачи и сравнить с текущим кодом по читаемости и latency.
Корпорация с legacy. Большие SQL-базы часто хранят сложную логику в stored procedures, которые команды боятся трогать. DOOMQL показывает: CTE — не экзотика, а мощный и читаемый инструмент. Практический шаг: аудит существующих хранимых процедур, перевод простых случаев на CTE, AI-ревью через Fable или GPT-5.6 для генерации и проверки запросов.
SMB и локальный бизнес в КР/СНГ. Telegram-боты и небольшие веб-сервисы на SQLite часто выносят всю логику в Python — много roundtrip, много кода. Сценарий: перевести агрегации и фильтры в SQL с CTE. Меньше строк, меньше ошибок, проще поддерживать.
Кейсы в личной жизни
Разработчик. DOOMQL — лучший практический учебник по recursive CTE, который существует. Открыть исходник, прочитать запрос рейкастера, разобрать пошагово. Recursive CTE применимы в обходе деревьев, генерации последовательностей, динамическом программировании — но большинство разработчиков никогда их не использовали.
Студент или AI-энтузиаст. Повторить эксперимент: задать GPT-5.6 Sol или Claude Fable 5 свой «намеренно неразумный» вопрос. «Реализуй алгоритм X в SQL», «напиши Y через CTE без промежуточного Python». Это тренирует одновременно понимание возможностей LLM и SQL как языка вычислений.
Контент-мейкер или технический автор. DOOMQL — готовая история для видео или статьи: рейкастер 1993 года, работающий внутри базы данных 2026-го. Нарративная дуга уже есть, исходники открыты, Simon Willison уже показал визуализацию — остаётся снять экран и объяснить аудитории.
Как применить сегодня
- Клонировать petergpt/doomql с GitHub и запустить через
uv run host/doomql.py— работает из коробки без настройки окружения. - Открыть созданную базу .doomql/doomql.sqlite через Datasette (
uvx datasette) — изучить структуру: как хранятся пиксели, состояние игры, позиция врагов. - Прочитать основной SQL-запрос рейкастера в исходнике — это лучший живой пример recursive CTE, который можно встретить в открытом коде.
- Спросить у Claude Fable 5 или GPT-5.6: «объясни этот CTE пошагово, что происходит на каждой итерации» — AI разберёт любой фрагмент.
- Сформулировать свой «неразумный» технический вопрос для проекта: какую логику из кода можно перенести в SQL — и попробовать сгенерировать через LLM.