суббота, 3 октября 2026 г.
Rīga TV

Мировые и латвийские новости в одном месте

ТехнологииОпубликовано: 3 октября 2026 г. в 02:23

Разработчик запустил Doom внутри базы данных SQL

Программист Лукас Фогель создал проект SQLDoom, который запускает классическую игру Doom с помощью SQL-запросов к базе данных для игровой логики и отрисовки. Проект стал значительным улучшением по сравнению с его предыдущей, менее удачной попыткой.

Foto: Ars Technica

Разработчик опубликовал подробный рассказ о том, как ему удалось запустить классический шутер Doom, используя исключительно SQL-запросы к базе данных вместо обычного игрового движка.

Проект под названием SQLDoom использует небольшой клиент на Python, который обрабатывает ввод и вывод игрока, управляет таймингом игры и отображает кадры на экране. Однако вся реальная игровая логика — как геометрия уровней, так и состояние игры — хранится и обрабатывается в таблицах базы данных CedarDB. Около 1300 строк SQL-кода, распределённых по 89 табличным выражениям, обеспечивают работу игровой механики и генерируют 35 растровых кадров в секунду.

Улучшение по сравнению с предыдущей попыткой

SQLDoom представляет собой значительный шаг вперёд по сравнению с предыдущим проектом разработчика, DoomQL, который был создан годом ранее с целью создать многопользовательский шутер полностью на SQL. Однако та более ранняя попытка привела лишь к чёрно-белой ASCII-графике на основе raycasting, напоминающей простые карты с прямыми углами из Wolfenstein 3D, а не сам Doom.

Новая версия SQLDoom способна генерировать полноцветные кадры разрешением 640×480 пикселей, которые выглядят так, будто получены из оригинального исполняемого файла Doom.

Как данные превращаются в игру

По словам разработчика, преобразование классических WAD-файлов Doom в реляционную базу данных оказалось относительно простым, поскольку оригинальная игра уже разбивала уровни на вершины, линии, секторы и подобные элементы, которые хорошо укладываются в структуру базы данных. Даже знаменитые деревья двоичного разбиения пространства игры удалось перевести в SQL с помощью ключа сортировки, заранее вычисляемого для позиции каждого объекта при загрузке. Благодаря этому ключу простой оператор "ORDER BY" определяет для каждого кадра, какие части стен нужно показывать, а какие — пропускать, что существенно повышает производительность.

Комментарии

0/1500

Комментарии модерируются автоматически. Запрещены ненависть, угрозы, личные данные и спам.

Загрузка комментариев…

Ещё в этой категории

Технологии

Скрытая проверка выявила серьёзные пробелы в готовности американских медучреждений к инфекциям

В ходе тайной проверки с участием актёров, имитировавших заражённых пациентов, 40% обследованных медучреждений США не смогли правильно надеть маски и изолировать «пациентов». Многие также не соблюли протоколы скрининга и защиты персонала.

Ars Technica · 1 мин назад

Технологии

Sling TV отказывается от краткосрочных кабельных пропусков

Принадлежащий Dish стриминговый сервис Sling TV прекратил предлагать функцию Sling Pass, позволявшую получать доступ к кабельным каналам без полной месячной подписки. Решение последовало после судебного иска Disney и Warner Bros. Discovery, поданного в прошлом году.

The Verge · 1 мин назад

Технологии

Латвийский стартап "Orbit8" развивает цифрового карьерного ассистента до международного бизнеса

Латвийский стартап "Orbit8" разрабатывает цифрового карьерного ассистента, который помогает молодым людям выбрать учёбу и профессию, анализируя их личность и интересы. Компания прошла путь от идеи до привлечения инвестиций и планирует международное развитие при поддержке LIAA.

TVNET · 2 ч назад