Умная база данных, но сможет ли она запустить Doom?

Doom Sql базы данных Cedardb лукас фогель игры theregister.com

Запустите Doom на SQL! Узнайте, как Лукас Фогель создал SQLDoom, используя базу данных CedarDB для рендеринга и игровой логики. Играйте в мультиплеер онлайн.

Знаменитый вопрос «А запустится ли Doom?» теперь применим к базам данных: автор DOOMQL представил гораздо более точный визуально порт.

Есть поговорка: «Бойся своих желаний». В 2025 году мы написали статью о том, как один специалист по базам данных создал версию Doom, написанную на SQL. Это было интересно, но графика была ближе к 3D Monster Maze, чем к пиксельному шутеру 90-х. Мы тогда прокомментировали: «Если заставить SQL выполнять весь конвейер рендеринга — это „плохая идея“, то мы с нетерпением ждем по-настоящему ужасную».

И вот мы здесь. Автор, Лукас Фогель, снова взялся за дело и портировал на SQL как игровую логику, так и рендерер Doom, запустив их в базе данных. Python отвечает за тайминги, ввод с клавиатуры и отображение растровых изображений, но остальное обеспечивается SQL-запросами и базой данных CedarDB.

DOOMQL был, несомненно, впечатляющим проектом. Однако Фогель рассказал The Register: «Кто-то на Hacker News жаловался в прошлом году, когда я сделал первую итерацию, что она больше похожа на Wolfenstein, потому что я использовал рейкастинг вместо обхода BSP-дерева, что было *тем самым* , что сделало Doom революционным.

«Так что я, очевидно, не мог этого оставить так».

И это привело нас к SQLDoom. Doom, портированный на SQL. В своем блоге Фогель отметил основные правила для порта. В отличие от DOOMQL, этот должен был выглядеть как настоящий Doom. Рендеринг должен был быть чисто на основе SQL: «единственным допустимым выводом SQL является таблица или растровое изображение, кодирующее точные значения RGB для каждого пикселя», а игровой цикл также должен был быть чисто на основе SQL.

Фогель рассказал нам: «Я был очень рад обнаружить, что портировать настоящий Doom было а) возможно и б) производительность оказалась даже *лучше*, чем у гораздо более упрощенного подхода прошлого года!

«Кроме того, в какой-то момент я начал играть в него ради удовольствия в свободное время, что до сих пор вызывает очень странные ощущения. Я задумывал это как техническую демонстрацию, но это ощущается как настоящий Doom, хотя он и не разделяет ни строчки кода с каким-либо существующим портом Doom. Поэтому я хотел посмотреть, как далеко я смогу зайти.

«В итоге мне даже удалось заставить работать режим deathmatch».

По словам Фогеля, игра отлично играется на его ноутбуке (с процессором Ryzen 7 7840U), а многопользовательские игры можно проводить онлайн, используя серверы в ЕС и США. Мы обнаружили, что производительность серверов немного вялая — вероятно, больше из-за серверов, чем из-за порта — хотя заставить SQL выполнять такие трюки всего несколько лет назад было бы немыслимо.

Стоит помнить, что это лишь завуалированная демонстрация возможностей CedarDB. Это компилируемая система баз данных, где сложные запросы в конечном итоге компилируются в машинный код. Тем не менее, трудно не поддаться энтузиазму Фогеля и тому факту, что это Doom… работающий в базе данных.

Безусловно, это гораздо интереснее, чем воссоздавать очередной интернет-магазин для очередной бесконечной презентации. ®

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: