Лаборатория 3D — порт трилогии на ядро GZDoom/UZDoom

2 мин
Лаборатория 3D — порт трилогии на ядро GZDoom/UZDoom

Я разрабатываю порт старой мобильной трилогии игр Бункер 3D, Лаборатория 3D, Крепость 3D от компании Netsoftware. Данные игры были созданы преимущественно для слабых мобильных телефонов нулевых без аппаратной поддержки 3D, и визуально сильно вдохновлены играми Wolfenstein 3-D и Blood. Особенно популярны эти игры были среди русскоязычного сообщества

Первая игра в серии была выпущена в декабре 2006 года. Я надеюсь я смогу закончить данный порт к 20-летней годовщине. На данной стадии я портирую все игровые ресурсы - карты, текстуры, спрайты и пр. с формата который используется в игре, в структура игры для GZDoom. Целиком готовы 2 игры из 3. Затем я добавлю текстуры пола и потолка, освещение на картах (одновременно оставив оригинальные карты отдельным режимом), и добавлю звуки

Самый первый уровень "Склад"
Самый первый уровень "Склад"
Уровень "Учебная"
Уровень "Учебная"
Уровень "Гавань"
Уровень "Гавань"
Уровень "Тюрьма"
Уровень "Тюрьма"

Как в общих словах идёт портирование/конвертация ресурсов

  1. Из декомпилированного кода оригинальной игры выдрана часть которая загружает информация при загрузке уровня в оперативную память, и информация в этом формате сохраняются в .json. Изначально я хотел сам написать парсер ресурсов, но оказалось что информация очень жестко сжаты, и по существу уровень реконструируется используя малый набор параметров. Оно и понятно, игровые самой первой игры версии 1.0 весят меньше 100Кб - это на порядки меньше классических игр 90-х

  2. Весь процедура конвертации идёт в python коде. Данные из .json файлов загружаются и оформляются что-то более-менее осмысленное с точки зрения структуры

  3. Информация конвертируются в промежуточный формат по логике более привычных двужку дума. Например в думе на одной стене может быть только одна текстура, а в Бункере целый массив текстур слева на право

  4. Информация из "привычного" для дума формата конвертируются в совместимый с ним. В частности создаются сектора для разных уровней пола и потолка, стена режется на Sidedef, Linedef и т.п.

  5. Полученные ресурсы сохраняются в карты формата UDMF, файлы TEXTUREDEF, ANIMATEDEF, MODELDEF и т.п., что уже может функционировать с GZDoom/UZDoom

Исходник конвертации можно найти здесь: https://github.com/light-and-ray/bunker3d-to-gzdoom Тем не менее я бы рекомендовал подождать релиза, нежеле трогать сырой продукт

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

Вышел VidCoder 12.20 — публичный инициатива для копирования DVD/Blu-ray и перекодирования видео для ПК на Windows

53 минуты назад

Вышел VidCoder 12.20 — публичный инициатива для копирования DVD/Blu-ray и перекодирования видео для ПК на Windows

17 июня 2026 года состоялся релиз инструментария VidCoder 12.20. Это публичный инициатива для копирования DVD/Blu‑ray и перекодирования видео для ПК на Windows. Исходный код решения написан на C# и оп

Трамп передумал считать Anthropic угрозой нацбезопасности — но Fable 5 пока не вернули

2 часа назад

Трамп передумал считать Anthropic угрозой нацбезопасности — но Fable 5 пока не вернули

Президент США Дональд Трамп больше не полагает Anthropic угрозой национальной безопасности. В интервью "The Axios Show", опубликованном 19 июня, на прямой вопрос, представляют ли угрозу сама компания

Вышла релиз Glow 26.10 — инструмента для системного анализа аппаратных и программных возможностей ПК на Windows 10/11

3 часа назад

Вышла релиз Glow 26.10 — инструмента для системного анализа аппаратных и программных возможностей ПК на Windows 10/11

В середине июня 2026 года состоялся версия обновления проекта Glow 26.10. Это публичный инструмент для системного анализа и тестирования аппаратных и программных возможностей ПК на Windows 10/11. Исхо

Анонс Google Brazos: как внедрить жидкостное охлаждение в обычный воздушный ЦОД

4 часа назад

Анонс Google Brazos: как внедрить жидкостное охлаждение в обычный воздушный ЦОД

Перевод ЦОД на жидкостное охлаждение требует множество времени и больших капиталовложений. Google решили эту проблему, представив нам Brazos — замкнутую СЖО модульного типа. Под катом взглянем на архи

Пользователи заявили о баге с исчезающими виджетами в Android 17

5 часов назад

Пользователи заявили о баге с исчезающими виджетами в Android 17

Некоторые владельцы Google Pixel, обновившиеся до Android 17, пожаловались на баги с исчезающими виджетами на главном экране. При этом вернуть значки не получается. Ознакомиться далее